Điểm:4

Tôi không thấy ECDH hữu ích như thế nào

lá cờ ph

Tôi gặp khó khăn trong việc hiểu tính hữu ích của việc sử dụng ECDH so với mã hóa bất đối xứng truyền thống. Cả hai bên phải trao đổi khóa chung để tính toán ECDH, vậy tại sao họ không mã hóa tin nhắn của mình bằng khóa chung mà họ vừa trao đổi?

Trường hợp sử dụng duy nhất cho ECDH mà tôi có thể nghĩ đến là nếu Alice làm mất tin nhắn gốc của mình sau khi gửi cho Bob, thì với ECDH, cô ấy vẫn có thể giải mã nó. Nhưng tại sao cô lại đánh mất nó? Ví dụ này có vẻ quá giả tạo đối với tôi.

Có ai biết bất kỳ ví dụ/kịch bản/trường hợp sử dụng hay nào mà ECDH tỏa sáng/bắt buộc không?

lá cờ mu
Dan
Hiện tại, bỏ qua xác thực -- bạn có bao gồm ECDH tạm thời ("ECDHE") trong câu hỏi của mình không? nếu vậy, hãy tưởng tượng nếu khóa riêng của Bob hoặc Alice bị xâm phạm. Bây giờ mọi thứ đều có thể khám phá được, tất cả lịch sử từ quá khứ. Cùng một lý do TLS1.3 loại bỏ RSA để vận chuyển khóa. Tra cứu bí mật phía trước và bí mật phía sau.
WizardOfMenlo avatar
lá cờ ph
Một mối quan tâm khác là hiệu quả. DH (và cơ chế KEM nói chung) thường được sử dụng để thiết lập một bí mật được chia sẻ chung, sau đó có thể được sử dụng với mật mã đối xứng (thường là thứ tự cường độ nhanh hơn).Bạn chắc chắn có thể sử dụng PKE để đạt được điều tương tự (trên thực tế, PKE và KEM là tương đương nhau) nhưng sử dụng KEM trực tiếp thường tự nhiên hơn. DH cũng có thể được thực hiện theo cách không tương tác, điều này khá hữu ích trong các giao thức không đồng bộ phức tạp như Signal's
Điểm:9
lá cờ my

Tôi gặp khó khăn trong việc hiểu tính hữu ích của việc sử dụng ECDH so với mã hóa bất đối xứng truyền thống.

Trường hợp sử dụng duy nhất cho ECDH mà tôi có thể nghĩ đến là nếu Alice làm mất tin nhắn gốc của mình sau khi gửi cho Bob, thì với ECDH, cô ấy vẫn có thể giải mã nó.

Trên thực tế, lợi thế của ECDH hoàn toàn ngược lại với điều đó - đó là Alice (hoặc Bob) không thể giải mã tin nhắn sau này.

Nghĩa là, cả Alice và Bob đều tạo ra các giá trị riêng của ECDH, sử dụng nó cho một lần trao đổi đó, sau đó xóa sạch chúng (và cả các khóa đối xứng) sau khi các thông báo đã được trao đổi. Sau đó, cả Alice và Bob đều không thể khôi phục các khóa bí mật và do đó không thể giải mã thông báo.

Tại sao đây là một lợi thế? Giả sử rằng một trong hai bên sau đó đã bị phá hoại (bởi tin tặc hoặc bởi lệnh pháp lý) - trong trường hợp đó, thông báo vẫn được bảo mật. "Vâng, thưa thẩm phán, ông đã ban hành lệnh bắt giữ, nhưng chúng tôi thực sự không có (và không thể có được) thông tin mà ông đang yêu cầu".

Thuộc tính này được gọi là Bí mật chuyển tiếp hoàn hảo; bạn cũng có thể lấy nó bằng cách sử dụng mã hóa khóa chung (tạo cặp khóa chung/riêng trước khi trao đổi và xóa khóa riêng sau đó) - tuy nhiên, cách tiếp cận đó không có lợi thế đặc biệt nào so với ECDH.

Maarten Bodewes avatar
lá cờ in
Không phải thực tế là việc tạo cặp khóa hiệu quả đối với DH và ECDH là điểm khác biệt chính sao? Bảo mật chuyển tiếp hoàn toàn tốt, nhưng nếu máy chủ hoặc máy khách phải tạo cặp khóa RSA 4K cho mỗi thiết lập khóa thì hiệu quả của giao thức có thể trở thành vấn đề.
poncho avatar
lá cờ my
@MaartenBodewes: vâng, với RSA, nó đắt tiền - tuy nhiên, nếu bạn muốn, bạn có thể làm điều đó với (giả sử) ElGammal...
Điểm:4
lá cờ ng

ECDH được biết đến như một Cơ chế đóng gói chính, như bạn đã đề cập, tương tự như mã hóa khóa công khai, nhưng không giống nhau. Có nhiều lý do để thích KEM hơn, tôi sẽ nhanh chóng đề cập đến một lý do. Đầu tiên, lưu ý rằng KEM (chính thức) là một bộ gồm ba thuật toán $(\mathsf{KGen}, \mathsf{Encaps}, \mathsf{DCaps})$, ở đâu

  1. $\mathsf{KGen}$ lấy làm đầu vào một số tham số bảo mật $1^\lambda$và xuất ra một cặp khóa $(sk, pk)$

  2. $\mathsf{Encaps}$ lấy làm đầu vào là khóa công khai $pk$ (và có lẽ là một số ngẫu nhiên, thường chỉ ẩn) và trả về một cặp $(k, c)$ của một khóa dẫn xuất $k$, và "bản mã" $c$

  3. $\mathsf{Decaps}$ lấy làm đầu vào là khóa bí mật $sk$ và "bản mã" $c$và xuất ra một khóa dẫn xuất khác $k'$.

KEM đúng nếu $k = k'$ cuối cùng, ví dụ: hai khóa dẫn xuất đồng ý. Khái niệm bảo mật của KEM tương tự như của PKE, nghĩa là có một cách tự nhiên để mở rộng các khái niệm truyền thống về bảo mật IND-CPA/IND-CCA.

Lưu ý rằng người ta có thể tạo KEM bằng bất kỳ PKE nào, bằng cách có $\mathsf{Encaps}_{pk}(r) = \mathsf{Enc}_{pk}(r)$, ở đâu $r$ là tính ngẫu nhiên được sử dụng bởi KEM (đây là ý tưởng "mã hóa các khóa ngẫu nhiên thống nhất" mà bạn đã đề cập). Có lẽ chúng ta nên viết rõ ràng $\mathsf{Enc}_{pk}(f(r))$ là một số chức năng của tính ngẫu nhiên --- Tôi sẽ không bận tâm đến điều này rõ ràng.

Vậy tại sao lại quan tâm đến KEM? Trong khi có những điều khác bạn có thể đề cập, một lớn lao điểm là có một số thuộc tính nhất định mà KEM "tự nhiên" (chẳng hạn như ECDH) có mà KEM được xây dựng từ phương pháp "mã hóa khóa ngẫu nhiên" làm được không phải có. Điều này có nghĩa là ECDH không "chỉ" là một KEM và có thể được sử dụng trong các ứng dụng mà mã hóa các khóa ngẫu nhiên không hoạt động.

Có lẽ tài sản rõ ràng nhất để trỏ đến là "không tương tác". Cụ thể, ECDH có thể được viết là

  1. cả hai bên trao đổi cặp khóa diffie hellman $(g, g^{s_i})$, và sau đó
  2. tính toán một số chức năng đơn giản của các cặp khóa này.

Nếu chúng ta cố gắng viết điều này với cú pháp của KEM, chúng ta có thể nói rằng $\mathsf{KGen}(1^\lambda)$ tạo ra một cặp khóa $(g, s_0, g^{s_0})$, và đó $\mathsf{Encaps}_{g^{s_0}}(r) = (g, s_1, g^{s_1})$ tạo ra một cặp khóa khác, nơi chúng tôi mô hình hóa "bản mã" là $g^{s_1}$. cái này có một rất tài sản tò mò mặc dù --- $g^{s_1}$, "bản mã" của sơ đồ, không không phải hoàn toàn phụ thuộc vào khóa chung (ngoài thông qua trình tạo nhóm $g$, có thể được chuẩn hóa thành tham số công khai).

Đây là một thuộc tính khá đáng ngạc nhiên và là thuộc tính mà lược đồ "mã hóa khóa ngẫu nhiên" không có. Nó được gọi là sơ đồ Trao đổi khóa không tương tác (NIKE). Tài sản là cả

  1. hữu ích trong thực tế --- "bánh cóc kép" của Tín hiệu sử dụng thuộc tính này theo một cách quan trọng, điều này khiến cho việc "bỏ vào" một KEM khác để sử dụng cho tín hiệu trở nên khó khăn và

  2. về mặt lý thuyết là không tầm thường --- nói chung, việc xây dựng NIKE yêu cầu một số nguyên thủy lạ mắt như mã hóa FHE/Chức năng. Có những kết quả đã biết cho thấy rằng có lẽ không thể xây dựng NIKE bằng cách sử dụng lưới (và mã hợp lý) với "tham số nhỏ".

Trên thực tế (không bao gồm các sơ đồ dựa trên mạng có tham số lớn), tôi chỉ biết về một NIKE hậu lượng tử, đó là CSIDH.Điều này có nghĩa là một sửa đổi đơn giản của Tín hiệu thành hậu lượng tử

  • sử dụng CSIDH,
  • sử dụng một biến thể kém hiệu quả hơn của sơ đồ NIST PQC (giả sử sơ đồ dựa trên mạng với các tham số nhỏ) hoặc
  • tự sửa đổi giao thức Signal theo một cách nào đó, thường là đạt được một số hiệu quả nhất định.

Mặc dù có nhiều điều sắc thái hơn mà bạn có thể nói để so sánh PKE và KEM, nhưng về mặt lý thuyết thì có một rất lợi ích lớn cho ECDH --- đó là một NIKE hiệu quả, điều này hoàn toàn không phổ biến.

Marc Ilunga avatar
lá cờ tr
Câu trả lời hay với các chi tiết về KEM. Tuy nhiên, tôi bối rối về cách ECDH phù hợp với mô hình KEM. Không rõ độ chính xác được định nghĩa như thế nào ở đây
Mark avatar
lá cờ ng
Nếu bạn muốn ECDH trở thành NIKE, bạn cần mô hình hóa rằng bạn có một số nhóm mật mã $(G, g)$ được chuẩn hóa làm tham số công khai và thêm bước xử lý hậu kỳ cuối cùng trong đó $k= KDF(g^{s_0} , g^{s_1}, g^{s_0s_1})$ cho một số hàm dẫn xuất khóa $KDF$. Tôi đã bỏ qua điều này vì nó "đơn giản" trong trường hợp ECDH. Lưu ý rằng tính chính xác của KEM trở nên ít đơn giản hơn khi xử lý các nguyên thủy như KEM dựa trên mã/mạng --- chúng thường chỉ "đúng về mặt thống kê", ví dụ: đúng với xác suất $\geq 1-\delta$ cho $\delta$ rất nhỏ.
Mark avatar
lá cờ ng
Đây là một sự khác biệt đáng kể, vì (đặc biệt là chống lại các đối thủ đang hoạt động) có một số cuộc tấn công "tăng cường lỗi" nhất định có sẵn trong cài đặt này không có sẵn trong cài đặt KEM hoàn toàn chính xác.
Maarten Bodewes avatar
lá cờ in
"ECDH được biết đến như một Cơ chế đóng gói chính" Hả? Không phải ECDH được gọi là thuật toán thỏa thuận chính sao? Đôi khi tôi tự hỏi liệu những người viết mật mã có hiểu ngôn ngữ bình thường không. Nếu thuật toán ECDH không đóng gói bất cứ thứ gì, thì nó không thể là cơ chế đóng gói, phải không?
Mark avatar
lá cờ ng
@MaartenBodewes thật không may, [thuật ngữ là tiêu chuẩn](https://en.wikipedia.org/wiki/Key_encapsulation_mechanism). Và KEM có thể được sử dụng để trao đổi khóa, nhưng chúng được đặt tên riêng với PKE (cũng có thể được sử dụng) để nhấn mạnh sự khác biệt về cú pháp giữa hai loại --- trong một, bạn có thể "chọn khóa bí mật", mặt khác, bạn không thể.
kelalaka avatar
lá cờ in
Tôi đồng ý với @MaartenBodewes về điều này. Không có khóa nào được đóng gói, chỉ có một phần thông tin cấu trúc khóa. Vì vậy, DH là một thỏa thuận quan trọng. Nếu một người đề cập đến [điều này](https://info.isl.ntt.co.jp/crypt/eng/psec/dl/iso/psec-kem_v2.2_20080414e.pdf), thì đó không phải là một tài liệu tốt.
Mark avatar
lá cờ ng
Có, nhưng nếu một người đề cập đến nghiên cứu xung quanh tiêu chuẩn hóa PQC của NIST (có một nửa mục tiêu là tiêu chuẩn hóa KEM/PKE), thì thuật ngữ KEM là tiêu chuẩn. Xem ví dụ [bài báo có ảnh hưởng này của Hofheinz et al](https://eprint.iacr.org/2017/604.pdf), tập trung vào việc xử lý trường hợp "tính đúng không hoàn hảo" mà tôi đã đề cập đến 2 nhận xét trước.
meshcollider avatar
lá cờ gb
Tôi nghĩ là một KEM một mình là một khái niệm yếu hơn. Ví dụ: ECDH cung cấp xác thực ngầm định khóa công khai của người gửi/bộ đóng gói, trong khi nhìn chung KEM thì không (đầu vào duy nhất là khóa chung của người nhận). [Bài báo này](https://eprint.iacr.org/2019/1356) giới thiệu KEM tách vì lý do này và tuyên bố rằng CSIDH *có thể* đáp ứng các giả định bảo mật, nhưng không đưa ra tuyên bố nào về điều đó.
Maarten Bodewes avatar
lá cờ in
@Mark NIST hiện dường như chỉ đánh giá KEM, mặc dù một KEM được lấy từ cơ chế thỏa thuận chính tương tự như DH.
lá cờ cn
@MaartenBodewes KEM và thỏa thuận khóa 2 thông báo dành cho tất cả ý định và mục đích giống nhau.
Maarten Bodewes avatar
lá cờ in
Không chốt không phải KEM. Sheesh. Và nó được gọi là TMKE trong đó E là từ Thành lập khi nói về ý tưởng chung.
President James K. Polk avatar
lá cờ sh
ECDH không phải là một cơ chế đóng gói khóa.
lá cờ cn
@MaartenBodewes Có, cứ hai thỏa thuận khóa thông báo cũng là một cơ chế đóng gói khóa. Thông báo đầu tiên là khóa công khai, thông báo thứ hai là bản mã. Và ngược lại, mọi cơ chế đóng gói khóa cũng là một thỏa thuận khóa hai thông điệp. Việc bạn dường như không thích thuật ngữ này hoàn toàn không thay đổi điều đó.
Maarten Bodewes avatar
lá cờ in
Nếu nó sử dụng bản mã để đóng gói khóa chính thì tôi đồng ý. Tôi không đồng ý khi khóa chính được tạo từ khóa công khai/riêng tư, thường được theo sau bởi KDF, đây * chắc chắn * là trường hợp của ECDH (để đưa nó trở lại câu trả lời).
lá cờ cn
Vậy thì bạn chưa biết định nghĩa của KEM. ââï¸

Đă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.