Điểm:7

Tại sao các đường cong NIST vẫn được sử dụng?

lá cờ in

Tôi còn khá mới với thế giới tiền điện tử (Nhưng về mặt toán học, tôi đã quen thuộc với hoạt động bên trong. Trước đây tôi hiếm khi sử dụng nó cho mục đích riêng tư, nhưng bây giờ tôi sử dụng nó cho nhiều thứ).

Dù sao, tôi đã xem xét URL này, và tất nhiên tôi nhận thấy rằng các đường cong NIST dường như có rất nhiều điểm yếu. Hơn các đường cong khác, chẳng hạn như E-521, theo tôi hiểu, đã được chứng minh về mặt toán học là an toàn trước hầu hết các cuộc tấn công đã biết.

Từ đây tôi có một vài câu hỏi mà tôi hy vọng ai đó có thể giải thích cho tôi:

  • Tại sao GPG cung cấp mã hóa NIST nếu nó kém an toàn hơn các loại khác? Tại sao họ không đưa ra những lựa chọn an toàn nhất?

  • Tất cả các khóa GPG của tôi đều thuộc danh mục NIST, tôi có nên thay đổi chúng không? (Ngẫu nhiên, khóa con ký của tôi khác, nhưng vẫn thuộc loại dễ bị tổn thương.)

miraunpajaro avatar
lá cờ in
@Patriot Cảm ơn! Bạn nói đúng, tôi đã thay đổi nó, tôi nghĩ bây giờ là chính xác hơn. Trên bình luận đầu tiên của bạn, điều này có nghĩa là đó là một khiếu nại phổ biến? Đây không phải là vấn đề ưu tiên của gnupg sao?
poncho avatar
lá cờ my
Cuộc tấn công được biết đến nhiều nhất chống lại Curve25519 dễ hơn bốn lần so với cuộc tấn công được biết đến nhiều nhất chống lại P256. Vậy thì P256 là một tùy chọn 'kém an toàn' như thế nào?
dave_thompson_085 avatar
lá cờ cn
Chủ yếu là lừa đảo https://crypto.stackexchange.com/questions/52983/why-is-there-the-option-to-use-nist-p-256-in-gnupg https://crypto.stackexchange.com/questions /52859/why-is-c25519-in-the-gpg-expert-options https://security.stackexchange.com/questions/160311/ which-ecc-to-choose-with-gpg
lá cờ cn
Cũng liên quan: https://crypto.stackexchange.com/q/44397/29574
Điểm:17
lá cờ cn

Đây là một câu hỏi mặc dù đang lướt qua giới hạn của các cuộc chiến meta/chính trị trong cộng đồng mật mã.

SafeCurves là một tài nguyên tốt, nhưng nó rất ý kiến ​​​​về ý nghĩa của "an toàn". như một ví dụ secp256k1, đường cong được Bitcoin và Ethereum sử dụng để đảm bảo tính bảo mật của chúng bị nhóm SafeCurves coi là "không an toàn", trong khi nó hiện có hơn 1000 B$ "tiền thưởng tìm lỗi" dưới dạng BTC và ETH có thể bị hack nếu bạn có thể phá vỡ nó...

Vì vậy, không, không phải vì SafeCurves nói điều gì đó không "an toàn"điều đó có nghĩa là nó"vỡ". Đường cong NIST có thể tốt hơn, chắc chắn rồi, nhưng chúng vẫn hoạt động và thực hiện công việc của mình và (theo như chúng tôi biết) không có cuộc tấn công thực tế, hiệu quả nào chống lại chúng có thể đe dọa các hệ thống hiện đang sử dụng chúng, miễn là chúng được triển khai "đúng cách" ... Nghĩa là chúng không bị hỏngvà cá nhân tôi sẽ không nói rằng chúng không "an toàn" để sử dụng vào năm 2021. Nhưng nếu tôi đang thiết kế một hệ thống mới nơi tôi có thể chọn bất kỳ cơ chế thỏa thuận khóa hoặc thuật toán chữ ký nào, thì chúng cũng không phải là lựa chọn đầu tiên của tôi.

Tôi e rằng một vấn đề lớn khi bạn đang làm việc trong lĩnh vực phát triển phần mềm (và phần cứng) là "tuân thủ" và NIST là tổ chức ban hành các "tiêu chuẩn" được coi là chén thánh trong thế giới tuân thủ.
Vì vậy, trong khi họ hiện đang làm việc trên các bản nháp mới (ví dụ: dự thảo cho FIPS 186-5 hiện đang bao gồm Ed25519 dưới dạng thuật toán chữ ký) chứa nhiều đường cong "hiện đại" hơn, họ vẫn chưa cập nhật các đề xuất và tiêu chuẩn của mình và do đó, nhiều thực thể bắt buộc phải dựa vào các đề xuất cũ tốt của họ, chẳng hạn như đường cong P-256.

Khả năng tương thích cũng là một vấn đề lớn. Ví dụ: đường cong NIST P-256 được hỗ trợ bởi Web Crypto API, phải là đường cong liên tục và "an toàn" (theo nghĩa "chúng tôi không biết các cuộc tấn công thực tế, hiệu quả chống lại nó"). Trong khi đó, Curve25519 hiện đại hơn được coi là an toàn hơn và ít bị lỗi triển khai hơn P-256, nhưng nó chưa được Web Crypto API hỗ trợ. Vì vậy, để thực hiện nội dung JavaScript bằng ECC, hiện tại bạn nên sử dụng P-256 thay vì Curve25519. (Hoặc WASM, nhưng đó là một chủ đề khác.)

Ngoài ra, điều quan trọng cần lưu ý là GnuPG đang tuân theo Thông số kỹ thuật OpenPGP và đang cố gắng trở thành một công cụ tương thích với nhau, có khả năng tương tác rộng rãi. Do đó, nó hỗ trợ RẤT NHIỀU lược đồ khác nhau, trong đó một số lược đồ cũ hơn các lược đồ khác, một số ít được sử dụng. Có một dự thảo bao gồm hỗ trợ Ed25519 và X25519 trong PGP hiện đang mở và đã được tích cực làm việc trong vài năm qua:

Các vấn đề tương thích tương tự cũng phát sinh với PGP: nếu bạn muốn có thể dễ dàng giao tiếp với những người khác bằng cách sử dụng nó, thì tốt nhất là sử dụng thứ gì đó mà những người khác cũng đang sử dụng/hỗ trợ.

Vì vậy, PGP sẽ đạt được điều đó vào một lúc nào đó, nhưng đó là một quá trình chậm và miễn là các đường cong và tiêu chuẩn cũ này không thực tế (hoặc có nguy cơ bị) phá vỡ, thì quá trình chậm chạp này có thể sẽ không tăng tốc.

Bây giờ, bạn có nên thay đổi các khóa PGP của mình nếu bạn đang sử dụng P-256 hoặc một đường cong khác có "chi phí cho rho" cao hơn 2^100 trong danh sách đó: https://safecurves.cr.yp.to/rho.html ? Tôi sẽ nói không". Hiện tại bạn không cần lo lắng, ít nhất là trong 5 năm tới, có thể hơn nữa. Nhưng mà Máy tính lượng tử có thể thay đổi câu chuyện này trong một vài năm nữa nếu chúng có hiệu quả như chúng ta mong đợi trong việc phá vỡ bài toán logarit rời rạc trong thực tế.

poncho avatar
lá cờ my
Một Máy tính lượng tử "thực" tồn tại (trong đó "thực" có nghĩa là 'đủ lớn và đáng tin cậy để chạy thuật toán của Shor trên kích thước của các đường cong mà chúng tôi sử dụng), tất cả các đường cong elip trở nên không an toàn (ngoại trừ: các phương pháp dựa trên đồng sinh siêu dị thường, hoạt động hoàn toàn khác)
lá cờ cn
Yup, đó là kỳ vọng mà tôi đã đề cập. Nhưng tôi nghi ngờ liệu chúng ta có thể có QC đủ "ổn định" để đạt được điều này không ^^'
miraunpajaro avatar
lá cờ in
Rất đẹp! Một câu hỏi về máy tính lượng tử. AFAI, có giới hạn thấp hơn về lượng năng lượng cần thiết để thực hiện một số thuật toán ecc. Những giới hạn này có áp dụng cho điện toán lượng tử không? Tôi đoán là không, nhưng idk.
lá cờ cn
Không, bất kỳ thuật toán ECC nào (không dựa trên isogney) đều bị máy tính lượng tử phá vỡ.Ngoài ra, có lẽ bạn đang nhầm lẫn với [ràng buộc nổi tiếng](https://crypto.stackexchange.com/a/1160/29574) về năng lượng cần thiết để bruteforce khóa 256 bit, nhưng đó là dành cho các thuật toán đối xứng, không phải ECC.
Mark avatar
lá cờ ng
@Lery, điểm quan trọng thực sự là nó dành cho vũ phu, trong khi QC hoạt động cho phép một người làm tốt hơn nhiều so với vũ phu chống lại ECC.
miraunpajaro avatar
lá cờ in
Tôi hiểu rồi. Và tiền điện tử đối xứng là kháng lượng tử, tôi hiểu rồi.
miraunpajaro avatar
lá cờ in
@Mark Bạn có thể giải thích được không? Thật là chính xác?
Mark avatar
lá cờ ng
@miraunpajaro nếu một người cưỡng bức ECC một cách vũ phu, thì sẽ mất $\Theta(2^\lambda)$ thời gian (về cơ bản theo định nghĩa). Các kỹ thuật chung trong điện toán lượng tử (thuật toán Grover) thường cho phép bạn giảm giá trị này xuống còn $\Theta(2^{\lambda/2})$ - tuy nhiên, bạn có thể dừng điều này bằng cách nhân đôi kích thước khóa. Vấn đề với ECC là thuật toán Schor tồn tại, điều này làm giảm độ phức tạp của DLOG (trên một nhóm kích thước $O(2^\lambda)$) xuống thời gian đa thức (lượng tử), ví dụ: $\lambda^{O(1)}$.
Mark avatar
lá cờ ng
Về cơ bản, giới hạn chi tiêu năng lượng nói rằng "bạn trả một lượng năng lượng tối thiểu cho mỗi bit năng lượng bị xóa". Điều này có thể có nghĩa là không có tương tự lượng tử (điện toán lượng tử, cho đến khi bạn đo, "có thể đảo ngược"), nhưng bạn có thể giới hạn lượng năng lượng để giải DLOG trên một nhóm chung (có giới hạn dưới $\ Omega(2^{\lambda/2})$ trong cài đặt cổ điển --- bản thân giới hạn không dành riêng cho tiền điện tử đối xứng.
poncho avatar
lá cờ my
@Mark: thực ra, có những kỹ thuật chung trong điện toán cổ điển phá vỡ ECC kịp thời $\Theta(2^{\lambda/2})$ - những cuộc tấn công này dựa trên cấu trúc nhóm của ECC
Mark avatar
lá cờ ng
@poncho Vâng, đó là lý do tại sao tôi viết $\Omega(2^{\lambda/2})$ chứ không phải $\omega(2^{\lambda/2})$. Tôi đã viết $\Omega(\cdot)$ thay vì $\Theta(\cdot)$ để nhấn mạnh rằng đối số quan tâm đến *giới hạn dưới* một cách cụ thể (và thực tế là có tồn tại giới hạn trên phù hợp không thành vấn đề), có lẽ điều này hơi khoa trươ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.