Điểm:8

Tại sao các giao thức Mã hóa đường cong Elliptic phụ thuộc vào các đường cong cố định?

lá cờ in

tôi đang tìm hiểu về Ed25519. Nó phụ thuộc vào một loạt các giá trị kỳ diệu: Trường hữu hạn của trật tự $2^{255}-19$, đường cong elip cụ thể trên trường đó, một điểm cụ thể trên đường cong đó. Điều này trái ngược với Diffie-Hellman hoặc RSA.

Tại sao vậy? Và ngược lại, tại sao DH không sửa số nguyên tố & bộ tạo, hoặc sửa RSA, chẳng hạn, $n = pq$ giá trị?

Tôi nghi ngờ rằng trong trường hợp DH & RSA, rất dễ tạo ra các phiên bản mới của giao thức. Chúng tôi biết rất nhiều về các số nguyên tố, vì vậy thật dễ dàng để tạo ra các số nguyên tố mới và ngược lại, nếu chúng tôi cố định một số nguyên tố cho tất cả các phiên bản của giao thức, chúng tôi có thể phân tích và phá vỡ nó.

Vì vậy, có phải trong trường hợp đường cong elip, không dễ tìm đường cong & trình tạo không?

Điểm:8
lá cờ ng

Lý do để không sửa một đường cong/nhóm/bất cứ điều gì cụ thể để khắc phục là nếu nó ảnh hưởng đến bảo mật, cụ thể là nếu:

  1. Có các cuộc tấn công tính toán trước â một cuộc tấn công có chi phí $T$ có thể được khấu hao $n$ người dùng hiện có hiệu quả chi phí $T/n$. Vì $n\xấp xỉ$ 1 tỷ này có khả năng thay đổi tính toán chi phí/lợi ích.

  2. Cơ quan tiêu chuẩn độc hại có thể chuẩn hóa một đường cong/nhóm/bất cứ thứ gì "yếu", ví dụ như đường cong cửa hậu hoặc đường cong đơn giản là yếu hơn đường cong "ngẫu nhiên" theo một cách nào đó.

Đây là những vấn đề đối với một số bài toán khó — ví dụ như bài toán LWE và DH trường hữu hạn đều thừa nhận các cuộc tấn công tiền tính toán. Đối với LWE, điều này được dùng để biện minh cho việc không chuẩn hóa "Ma trận LWE $\mathbf{A}$".

Điều đó đang được nói, có thể có những lợi ích khi sửa một đường cong/nhóm/bất cứ điều gì cụ thể. Cụ thể là:

  1. Bạn không còn phải tạo nó trong các giao thức, giúp tiết kiệm một số hiệu quả.
  2. Bạn không còn phải truyền nó nữa (hoặc có thể truyền một mô tả ngắn gọn về số lượng đối tượng tiêu chuẩn hóa không đổi), tiết kiệm một số băng thông
  3. Bạn có thể tối ưu hóa các hoạt động cho đường cong/nhóm/bất cứ điều gì, tiết kiệm hiệu quả
  4. Khó hơn để chọn các đường cong/nhóm "yếu"/bất cứ điều gì vô tình.

Về lý do tại sao đường cong 25519 có dạng cụ thể như vậy, hãy xem ví dụ đường cong an toàn trang cho một số mô tả/so sánh các thuộc tính đường cong khác nhau.

Đối với những câu hỏi này:

Tại sao DH không sửa số nguyên tố & trình tạo

Họ làm trong các ứng dụng nhất định. Dưới đây là danh sách các nhóm DH trường hữu hạn được sử dụng trong TLS (bao gồm 1.3). Lưu ý rằng người ta phải cẩn thận với điều này mặc dù — đã từng có các nhóm "yếu" được tiêu chuẩn hóa ($\khoảng 512$ bit) mà không ai thực sự sử dụng. Sự hiện diện của họ trong danh sách các nhóm tiêu chuẩn hóa này đã dẫn đến Tấn công logjam, trong đó một người thực hiện cuộc tấn công tính toán trước chống lại họ + kết hợp nó với một "cuộc tấn công hạ cấp" nhất định.

Hoặc sửa lỗi RSA, giả sử, $n=pq$ giá trị?

Không rõ làm thế nào bạn có thể sử dụng điều này trong thực tế, vì thực sự chỉ có một khóa riêng duy nhất được liên kết với nó, vì vậy hai người dùng riêng biệt không thể cùng sử dụng một khóa duy nhất. $n$ để mã hóa. Trên thực tế, ngay cả khi họ sử dụng $n, n'$ chia sẻ một yếu tố chung, nó dẫn đến các cuộc tấn công (và một bài báo khác của Nadia Heninger, Khai thác P và Q của bạn). Điều đó đang được nói, có những ứng dụng đặc biệt mà nó có thể hữu ích, xem ví dụ bài báo này về tạo mô đun RSA phân tán cho một số cuộc thảo luận về các ứng dụng.

fgrieu avatar
lá cờ ng
_"Bạn không còn phải tạo nó trong các giao thức, tiết kiệm một số hiệu quả"_ là một lý do rất quan trọng: Tôi chưa thấy _any_ thuật toán đơn giản và hiệu quả để tạo đường cong Elliptic an toàn. Với thuật toán như vậy, _"Bạn không còn phải truyền"_ (tham số của đường cong) sẽ không thành vấn đề: chỉ cần truyền gốc RNG được thuật toán này sử dụng để biểu thị đường cong.
lá cờ pe
Lenstra [đã thử](https://eprint.iacr.org/2015/647).
dave_thompson_085 avatar
lá cờ cn
Trước 7919 cho TLS1.0-2, một số người đã sử dụng các nhóm 'Oakley' được tạo cho IPsec/IKE (rfc2412 và rfc3526), ​​một số trong đó SSH cũng sử dụng, nhưng nhóm nhỏ nhất là 768-bit (được Logjam đánh giá là 'khả thi' để phá vỡ nhưng không thực sự làm như vậy). Logjam nhóm 512 bit được tìm thấy phổ biến là một mặc định do Apache cung cấp và không phải bất kỳ tiêu chuẩn nào.
Điểm:3
lá cờ fr

Lý do điển hình mà mọi người thường sử dụng các đường cong elip được chỉ định trước thay vì tạo ra chúng là hiệu quả. Không khó để tạo ra một đường cong elip, nhưng nhìn chung rất khó để tạo ra một chắc chắn đường cong hình elip và hơn nữa, tương đối khó thuyết phục bên kia rằng đường cong này an toàn trên băng thông hạn chế của giao thức. Các Trang web SafeCurve giải thích nhiều thuộc tính mong muốn trong một đường cong và giải thích một phần các quyết định của Curve25519.

Hầu hết các đường cong elliptic nổi tiếng cũng được chọn riêng cho hiệu quả, sử dụng một số nguyên tố hoặc một dạng được thiết kế sao cho hiệu quả nhất có thể. Ví dụ: sử dụng các đường cong có số nguyên tố cố định gần lũy thừa hai giúp cho các hoạt động cụ thể nhanh hơn rất nhiều và việc triển khai thường được mã hóa cứng để tận dụng các số nguyên tố cụ thể.

Ngoài ra, việc sử dụng các đường cong elip được chỉ định trước có nghĩa là việc viết các triển khai thời gian không đổi sẽ dễ dàng hơn nhiều. Điều này rất quan trọng trong các giao thức trực tuyến như TLS nơi việc triển khai thời gian không cố định có thể được chứng minh là có thể khai thác được. Nó là khả thi để viết các triển khai thời gian không đổi chung của các đường cong elip, nhưng nó phức tạp và mọi người thực tế không làm điều đó.

Chắc chắn có thể sử dụng các nhóm cố định trong Diffie-Hellman không thuộc EC; TLS làm điều này và SSH cũng làm điều đó. Miễn là một nhóm đủ lớn có dạng phù hợp được chọn, điều đó là an toàn. Sử dụng một nhóm cố định cũng hiệu quả hơn về băng thông giao thức vì không cần gửi các tham số.

Cũng có thể tạo các nhóm trường hữu hạn an toàn ngẫu nhiên và điều này nhanh hơn nhiều so với việc tạo các đường cong elip an toàn, nhưng nó vẫn đủ chậm để mọi người thường tính toán trước các tham số một lần rồi sử dụng chúng trong một khoảng thời gian.

Đối với RSA, việc sử dụng lại các tham số thường không an toàn. Ngoài ra, vì lý do hiệu quả, khóa riêng thường bao gồm $p$$q$, điều này sẽ ngay lập tức xâm phạm khóa riêng của bất kỳ ai chia sẻ $N$. Ngay cả khi chia sẻ $N$ không có vấn đề về bảo mật, bởi vì $p$$q$ không thể hiển thị, điều này sẽ kém hiệu quả hơn nhiều so với việc tạo thông số mới cho mỗi người dùng.

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