Điểm:1

Hiểu sự khác biệt thực tế giữa ElGamal và Diffie-Hellman

lá cờ id

Tôi đã được giao nhiệm vụ xây dựng một trang Web Assembly triển khai E2EE. Tôi đã nghĩ đến việc sử dụng Mã hóa ElGamal để mã hóa tin nhắn và Diffie-Hellman để thiết lập khóa. Sau khi nghiên cứu sâu hơn, tôi gặp khó khăn trong việc hiểu các trường hợp sử dụng thực tế khi sử dụng ElGamal vs Diffie-Hellman.

Nếu tôi hiểu chính xác. Diffie-Hellman và ElGamal đều dựa vào vấn đề nhật ký rời rạc khiến cả hai đều trở nên lý tưởng. Diffie-Hellman chỉ thiết lập một khóa giữa hai máy chủ, sau đó một hệ thống mật mã đối xứng được sử dụng để gửi tin nhắn. ElGamal mã hóa tin nhắn một lần, sử dụng phương pháp tương tự như Diffie-Hellman và sau đó nó phải được tạo lại mỗi lần, điều này rất chậm và tốn thời gian. Vì vậy, tôi nghĩ Diffie-Hellman sẽ là lựa chọn tốt nhất cho trường hợp người dùng liên lạc thường xuyên và ElGamal để truyền tệp một lần.

Vì vậy, tôi đang tranh luận về việc sử dụng trong ứng dụng web của mình. Ban đầu tôi đã nghĩ đến việc sử dụng cả Diffie-Hellman và ElGamal. Bây giờ, tôi đang nghĩ đến việc sử dụng Diffie-Hellman để thiết lập khóa giữa hai bên, sau đó sử dụng sơ đồ mã hóa đối xứng như AES.

Một bài viết tôi thấy đặc biệt hữu ích là https://www.commonlounge.com/discussion/2be4d294aa9e44d4b67f6644cd9b5ced

Riêng đề mục “Thực tiễn sử dụng và ứng dụng”

Nếu tôi sử dụng Diffie-Hellman & AES, thì bao lâu thì một khóa cần được tạo lại?

Tôi hy vọng ai đó có thể xác nhận xem tôi có hiểu đúng cách sử dụng thực tế hay không và giúp lấp đầy bất kỳ khoảng trống nào trong hiểu biết của tôi.

Cảm ơn bạn!

kelalaka avatar
lá cờ in
Tần suất thực sự phụ thuộc vào phương thức hoạt động và kích thước phím của bạn. Nếu bạn được tự do lựa chọn, hãy chọn ECDH (Elliptic Curve DHKE) và XChaCha20-Poly1305.
Davis avatar
lá cờ id
Cảm ơn vì lời đề nghị đó. Tôi sẽ xem xét ECDH. Phương thức hoạt động của tôi khá nhỏ vào thời điểm này. Đây là một dự án cho năm cuối của tôi tại một trường đại học.
Maarten Bodewes avatar
lá cờ in
Bạn có quen thuộc với [IES](https://en.wikipedia.org/wiki/Integrated_Encryption_Scheme) không?
kelalaka avatar
lá cờ in
Có, IES hoặc Nacl, tồn tại trong nhiều ngôn ngữ
Davis avatar
lá cờ id
Tôi hơi quen thuộc với IES. Tôi cũng sẽ xem xét điều đó. Cảm ơn vì đã góp ý. Tôi đã lên kế hoạch sử dụng thư viện tiền điện tử. Cho đến nay, BouncyCastle có vẻ là một lâu đài được đánh giá cao.
Maarten Bodewes avatar
lá cờ in
Nó được sử dụng nhiều; nó cũng là một mớ tài liệu khá lộn xộn với các vấn đề với các kênh phụ và như vậy trong quá khứ. Tuy nhiên, bạn nhận được sự hỗ trợ tuyệt vời thông qua danh sách gửi thư dành cho nhà phát triển và các tác giả / nhà phát triển là những người rất tốt.
Điểm:1
lá cờ br

Bạn có thể muốn mã hóa xác thực/kết hợp và có thể có các chức năng cấp cao trong bất kỳ thư viện tiền điện tử nào bạn đang sử dụng.

Đây là một câu hỏi khác khi họ đang sử dụng IES trong BouncyCastle:

https://stackoverflow.com/questions/33297274/using-bouncycastle-to-encrypt-with-ecies-in-java

Maarten Bodewes avatar
lá cờ in
Tôi đã tự hỏi liệu mình có phải là người viết đoạn mã đó hay không, và vâng, tất nhiên là như vậy :) Hãy coi chừng mã hóa kết hợp không được xác định rõ ràng. Bạn có thể muốn tự triển khai ECIES để sử dụng các chế độ hoạt động mới nhất và tốt nhất (ví dụ: chế độ GCM cho mật mã đối xứng thay vì CBC, chế độ này dễ bị tấn công tiên tri đệm, có thể cản trở tính bảo mật); bạn cũng có thể muốn *ký* bản rõ hoặc bản mã của mình để cho phép xác thực/tính toàn vẹn. Theo nghĩa đó, sử dụng NaCL có lẽ sẽ dễ dàng hơn.
Davis avatar
lá cờ id
Cảm ơn mọi người vì những gợi ý và tài nguyên! Tôi rât cảm kich!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.