Điểm:1

Quy trình xác minh trong ECDSA giống hay khác với trong RSA?

lá cờ nl

Với cặp khóa RSA, theo hiểu biết của tôi, Alice, người giữ khóa riêng có thể mã hóa tin nhắn thành chữ ký. Sau đó, cô ấy sẽ gửi chữ ký cùng với thông điệp ban đầu của mình cho Bob. Bob sau đó sẽ có thể sử dụng khóa công khai của Alice để giải mã chữ ký mà sau đó sẽ trả lại tin nhắn. Tin nhắn được giải mã sau đó sẽ được so sánh với tin nhắn gốc. Nếu chúng giống nhau, điều này chứng tỏ với Bob rằng thông điệp thực sự là của Alice.

Mặt khác, với cặp khóa ECDSA, quy trình xác minh có giống với cặp khóa RSA không? Tức là bằng cách so sánh tin nhắn được giải mã với tin nhắn gốc xem chúng có giống nhau không?

Điều khiến tôi bối rối là, dựa trên những gì tôi đã hiểu về cách ECDSA được sử dụng trong các hợp đồng chuỗi khối, chẳng hạn, thay vì so sánh thông báo được giải mã từ khóa công khai và thông báo ban đầu, ECDSA dường như đang so sánh khóa công khai thay thế . Nó có thể khôi phục khóa công khai từ chữ ký và để xác minh. Bob sẽ so sánh rằng khóa chung được khôi phục từ chữ ký giống với khóa chung của Alice.

Quy trình xác minh trong ECDSA có giống với RSA không? Hay quy trình xác minh khác với RSA và nó giống như cách nó được sử dụng trong hợp đồng thông minh trên chuỗi khối?

Điểm:4
lá cờ ng

TL; DR: quy trình xác minh chữ ký trong ECDSA rất khác so với quy trình trong RSA. Mô tả của câu hỏi về các sơ đồ chữ ký này không chính xác đối với ECDSA, gần đúng đối với RSA.


Alice, người giữ khóa riêng có thể mã hóa tin nhắn thành chữ ký.

Đó là thuật ngữ không chính xác. Alice, người giữ khóa riêng có thể dấu hiệu một tin nhắn, hoặc biến đổi một thông điệp. Cô ấy không mã hóa, bởi vì mã hóa nhằm mục đích làm cho thông điệp trở nên khó hiểu đối với đối thủ, nhưng trong RSA, việc chuyển đổi $m\mapsto s=m^d\bmod n$ Alice đã sử dụng khóa riêng $(n,d)$ có thể được hoàn tác bằng cách sử dụng $s\mapsto m=s^e\bmod n$ bởi bất kỳ ai có khóa công khai $(n,e)$, đó là bất kỳ ai từ quan điểm mật mã tiêu chuẩn. Do đó, việc chuyển đổi được thực hiện cho chữ ký không đủ điều kiện là mã hóa.

Bob sau đó sẽ có thể sử dụng khóa công khai của Alice để giải mã chữ ký mà sau đó sẽ trả lại tin nhắn. Tin nhắn được giải mã sau đó sẽ được so sánh với tin nhắn gốc. Nếu chúng giống nhau, điều này chứng tỏ với Bob rằng thông điệp thực sự là của Alice.

Một lần nữa đó là thuật ngữ không chính xác. Thay vì giải mã nên có biến trở lại, và mục đích chung là thẩm tra tin nhắn chống lại chữ ký và khóa công khai của Alice.

Ngoài thuật ngữ, hai trích dẫn trên không khớp với cách thực hành chữ ký RSA. Với phương pháp được phác thảo, kích thước thư bị hạn chế và quy trình tổng thể không an toàn. Ví dụ trong số nhiều cuộc tấn công:

  • Các thông điệp $0$, $1$$n-1$ có chữ ký tầm thường (bản thân tin nhắn), cho phép những tin nhắn mà Alice chưa bao giờ ký được Bob chấp nhận khi chúng thực sự đến từ một kẻ thù.
  • Thật dễ dàng để lấy bất kỳ $s$ và khóa công khai, đồng thời giả mạo một thông báo (thường vô nghĩa) $m$ chữ ký nào $s$, có tác dụng tương tự.
  • Nếu một đối thủ thủ công tin nhắn $m_1$, $m_2$, $m_3$, $m_4$ với $m_1\cdot m_2=m_3\cdot m_4$, cái sau có nghĩa và ba cái trước đủ nghĩa để thuyết phục Alice tạo chữ ký $s_1$, $s_2$, $s_3$ của $m_1$, $m_2$, $m_3$, thì đối thủ có thể tính toán chữ ký $s_4$ có ý nghĩa $m_4$ như $s_4=s_1\cdot s_2\cdot{s_3}^{-1}\bmod n$. Điều đó đôi khi có thể.

Vì lý do này, chữ ký RSA không được thực hiện như trong câu hỏi. Nó thường được sử dụng RSASSA-PSS hoặc RSASSA-PKCS1-v1_5. Và sau đó, việc tạo chữ ký và xác minh chữ ký không còn hoạt động như en/decryption (có thể là mã hóa RSA trong sách giáo khoa hoặc mã hóa RSA như thực tế, như RSAES-OAEP, RSA-KEM hoặc mã hóa lai).

Điều đúng là trong xác minh chữ ký RSA (có phụ lục) như đã thực hiện, nó tính toán một chức năng của chữ ký và khóa công khai, sau đó so sánh kết quả với thông báo (hoặc một số hàm băm của chúng; trong trường hợp của RSASSA-PSS, một hàm đa mức băm với muối tùy chọn được thêm vào).

Mặt khác, với cặp khóa ECDSA, quy trình xác minh có giống với cặp khóa RSA không? Tức là bằng cách so sánh tin nhắn được giải mã với tin nhắn gốc xem chúng có giống nhau không?

Không, trong xác minh chữ ký ECDSA, đó là không phải đã tính toán một số chức năng của chữ ký và khóa chung, sau đó so sánh kết quả với thông báo (hoặc một số hàm băm của chúng). Nó hoạt động theo một cách khác: hàm băm của tin nhắn là đầu vào cho một phép tính cũng liên quan đến chữ ký và khóa chung, thay vì so với cuối cùng.

…¦ECDSA dường như đang so sánh khóa công khai…¦

Không phải thông thường cũng không Luân phiên Phương pháp xác minh chữ ký ECDSA phù hợp với điều này.

(ECDSA) có thể khôi phục khóa công khai từ chữ ký¦

Đại loại là: với ECDSA, có thể khôi phục khóa công khai đang hoạt động từ chữ ký và thông báo hoặc hàm băm được liên kết của nó. đó là khôi phục khóa công khai. Nhưng hoạt động đó không phải là một phần của cách xác minh chữ ký thường được thực hiện. Và nó có những hạn chế:

Có khả năng, một số khóa công khai ứng cử viên có thể được khôi phục từ một chữ ký. Với một chi phí nhỏ, người ký có thể tạo chữ ký ECDSA theo cách mà chỉ một trong số các khóa công khai ứng cử viên là khả thi và do đó người xác minh có một chi phí bổ sung rất nhỏ để xác định đâu là khóa công khai chính xác.

Tôi không thể chắc chắn liệu khôi phục khóa công khai ECDSA, tiếp theo là so sánh khóa chung đã khôi phục với khóa chung thực, có tương đương mạnh mẽ với xác minh thông thường hay không và đối với đường cong nào. Đó chỉ là một câu hỏi về lợi ích lý thuyết, vì chúng tôi có xác minh chữ ký tiêu chuẩn.

Lưu ý: đối với các sơ đồ chữ ký RSA, khôi phục khóa chung không phải là một tính năng điển hình. Có thể với RSASSA-PKCS1-v1_5 hoặc các chữ ký xác định khác, một vài cặp thông báo/chữ ký và các lựa chọn phổ biến về $e$; nhưng không thể thực hiện được với một số RSASSA-PSS khác hoặc các chữ ký ngẫu nhiên khác.

Điểm:1
lá cờ it

Alice... mã hóa tin nhắn thành chữ ký.

Nói một cách chính xác, ký khác với mã hóa! Ví dụ. đối với RSA, bạn sử dụng khóa chung để mã hóa tin nhắn, nhưng để ký, bạn sử dụng khóa riêng.

Hơn nữa, việc xác minh ECC hoàn toàn khác với RSA, vì chúng có các đặc điểm toán học khác nhau. Một ví dụ là đối với RSA, bạn phải sử dụng lược đồ đệm tốt để tránh các kiểu tấn công khác nhau. Nhưng ECDSA không cần nó.

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