Điểm:1

RSADP/RSAEP không có giá trị cơ sở/thông báo

lá cờ ng

Tôi có câu hỏi về cách xác định RSADP/RSAEP (trong RFC2437 https://datatracker.ietf.org/doc/html/rfc2437#section-5.1.2):

RSADP (và RSAEP) được mô tả với cùng giới hạn cho thông báo (m) và bản mã (c), cụ thể là 0 <= m < n. Trong trường hợp này, nguyên thủy lũy thừa mô-đun giả định rằng phần đệm đã xảy ra, do đó, hãy loại bỏ điều đó ra khỏi bức tranh.

5.1.2 RSADP

   RSADP (K, c)

   Đầu vào:

   Khóa riêng K RSA, trong đó K có một trong các dạng sau
                 -một cặp (n, d)
                 -một nhóm (p, q, dP, dQ, qInv)
   c đại diện bản mã, một số nguyên từ 0 đến n-1

   Đầu ra:
   m đại diện thông báo, một số nguyên từ 0 đến n-1; hoặc
             "đại diện bản mã nằm ngoài phạm vi"

Tôi có câu hỏi sau: việc triển khai có thực sự chấp nhận 0 & 1 làm giá trị c & m hợp lệ không? Không phải cả 0 và 1 đều không đổi theo phép lũy thừa sao cho văn bản mật mã và văn bản thuần túy sẽ không thay đổi? Điều đó không tệ sao? Việc triển khai từ chối các giá trị này có đúng không - mặc dù thông số kỹ thuật dường như cho phép chúng?

CẬP NHẬT: Tôi không hỏi về phần đệm per-se, vì phép lũy thừa xảy ra sau phần đệm (trong trường hợp mã hóa), mà là tại sao thông số kỹ thuật dường như hoàn toàn cho phép các giá trị không an toàn này. Tại sao thông số kỹ thuật không cho phép 0 & 1 một cách rõ ràng? Phải thừa nhận rằng rất hiếm về mặt thống kê nếu kết quả của phần đệm là một giá trị như vậy, nhưng câu hỏi của tôi là không nên để các hàm RSADP/EP không cho phép các giá trị này và sơ đồ OAEP tổng thể được xây dựng trên các hàm này được chỉ định để chọn một đầu vào phần đệm khác trong trường hợp?

Có thể có điều gì đó tôi đang thiếu ở đây, vì vậy hãy đánh giá cao bất kỳ thông tin nào.

Cảm ơn!

Maarten Bodewes avatar
lá cờ in
Rõ ràng là không, không, nhưng hãy nhớ rằng việc mã hóa một tin nhắn tĩnh bằng cùng một khóa cũng trực tiếp làm rò rỉ thông tin. Vì vậy, về cơ bản, tôi nghĩ rằng đây không phải là một yêu cầu bảo mật quá nhiều; đó là về mất thông tin. Nhưng có lẽ những người khác sẽ giỏi hơn trong việc đưa ra lời giải thích toán học hơn. Có nhiều lý do khác tại sao cần phải có đệm an toàn.
Morrolan avatar
lá cờ ng
Do cách RSAES-PKCS1-v1_5 xác định phần đệm của nó - cụ thể là byte cố định mà nó sử dụng - tôi tin rằng thông báo được đệm không thể biểu thị 0 hoặc 1 khi được nguyên hàm OS2IP biến thành một số nguyên. Đối với RSAES-OAEP, thông báo được đệm *có thể* kết thúc đại diện cho 0 hoặc 1, nhưng khả năng điều này xảy ra là do đối thủ đoán một thừa số nguyên tố trong lần thử đầu tiên của mô đun của bạn.
Điểm:3
lá cờ ng

Hóa ra định nghĩa của NIST về RSAEP/RSADP khác với phiên bản RFC 2437.

Định nghĩa của NIST có thể được tìm thấy trong SP800-56Br2: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Br2.pdf

Trong phần 7.1 Nguyên tắc mã hóa và giải mã, đặc tả NIST yêu cầu triển khai từ chối các giá trị 0, 1 & n-1 như sau:

7.1.1 RSAEP
...
1. Nếu m không thỏa mãn 1 < m < (n â 1), xuất ra dấu hiệu cho biết m nằm ngoài phạm vi và thoát mà không cần xử lý thêm

Những hạn chế tương tự được yêu cầu cho cả mã hóa và giải mã.

Do đó, việc triển khai phải lọc và chặn rõ ràng các đầu vào này.

Maarten Bodewes avatar
lá cờ in
Vấn đề là nếu bạn muốn thực hiện so sánh nếu đầu vào được chọn ngẫu nhiên. Đó là một bước nguy hiểm bổ sung, không cần thiết và tiềm ẩn do có thể xảy ra các cuộc tấn công kênh phụ.
fgrieu avatar
lá cờ ng
Yêu cầu của NIST về việc loại bỏ các điểm cố định $0$, $1$ và $n-1$ có khả năng là chặn các cuộc tấn công chống lại quá trình giải mã khi kẻ thù gửi các bản mã này $c$ để giải mã, trong một cuộc tấn công kênh bên như Phân tích sức mạnh đơn giản. Với $c=0$ và $c=1$, đối thủ biết $c^f\bmod n$, hoặc $c^f\bmod p$ và $c^f\bmod q$ trong suốt quá trình tính toán, ngay cả khi họ không biết $f$; và thậm chí còn đáng lo ngại hơn, với $c=n-1$, chúng có thể nhận được số chẵn lẻ của $f$ nếu chúng phân biệt được giá trị này với giá trị kia. Việc xóa này không giống như một biện pháp bảo vệ vững chắc đối với tôi, nhưng không thể gây hại cho _in decryption_.
Brad avatar
lá cờ ng
@MaartenBodewes - Xin lỗi, tôi không thấy - kênh phụ ở đâu nếu việc triển khai lọc các giá trị c & m thô trước khi thực hiện bất kỳ phép lũy thừa nào?

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