Điểm:1

Phá vỡ RSA mà không cần đệm bằng tấn công bảng cầu vồng

lá cờ cl

Chúng tôi đang sử dụng RSA không có OAEP, với miền đầu vào tương đối nhỏ.

Giả sử chúng ta có John và Bob kết nối trên một đường dây và chúng ta đang nghe lén họ. Đầu tiên Bob gửi cho John khóa công khai của anh ấy (e,n), sau đó John mã hóa tin nhắn của anh ấy m và gửi nó trên đường dây được mã hóa. Khi chúng tôi nghe lén đường dây, chúng tôi nhận được tin nhắn được mã hóa của anh ấy, chẳng hạn như 3211 4431 9938 ... (Tôi đang sử dụng một modulo thấp chỉ để làm ví dụ)

Tôi với tư cách là kẻ tấn công có thể tạo một bảng cầu vồng mã hóa từng số từ 0 đến n, sau đó giải mã tin nhắn của John bằng bảng tôi đã tạo.

  1. Tôi có đúng không?
  2. Khi chúng tôi sử dụng bất kỳ kỹ thuật đệm nào, chúng tôi đang ngăn chặn cuộc tấn công này (phải không?), bằng cách chèn các bit ngẫu nhiên vào tin nhắn, nhưng làm cách nào bộ giải mã (Bob) có thể 'loại bỏ' các bit ngẫu nhiên đó nếu anh ta không biết chúng.
kelalaka avatar
lá cờ in
Nếu bạn có thể xây dựng một bảng cầu vồng cho mô đun cỡ 2048, bạn hoàn toàn không cần lo lắng về OAEP. Đối với các tin nhắn ngắn, vâng, có một mối nguy hiểm đối với RSA Sách giáo khoa. Đệm là rất quan trọng để xem mã hóa xác suất.
kelalaka avatar
lá cờ in
Một q/[Sự khác biệt giữa tấn công bằng văn bản gốc đã biết và tấn công tìm kiếm chuyển tiếp](https://crypto.stackexchange.com/q/15040/18298)
Maarten Bodewes avatar
lá cờ in
@kelalaka Tôi không thấy RSA trong sách giáo khoa sẽ gặp vấn đề như thế nào khi xây dựng bảng cầu vồng cho một khóa công khai cụ thể. Tuy nhiên, tất cả đều phụ thuộc vào miền đầu vào và nếu bạn chỉ có một tin nhắn thì sẽ mất nhiều thời gian như việc ép buộc tin nhắn ngay từ đầu. Có thể tìm thấy các cách khác để tấn công RSA sách giáo khoa [tại đây](https://crypto.stackexchange.com/q/20085/1172)
kelalaka avatar
lá cờ in
@MaartenBodewes cho mỗi khóa công khai và mô-đun, bạn có thể tạo bảng cầu vồng cho kích thước thư tối đa 2048 không? Đối với tin nhắn ngắn, vâng, có thể. Quan điểm của tôi là, nếu bạn có thể đạt được kích thước mô-đun của bảng, bạn có thể phá vỡ mô-đun :)
Maarten Bodewes avatar
lá cờ in
Vâng, đó là những gì tôi muốn nói với "miền đầu vào".Thành thật mà nói, tôi không nghĩ đó là một cách tồi để tấn công các miền đầu vào nhỏ và nhiều thông báo. Và nó cũng là một cuộc tấn công khá chung chung. Đó là lý do tại sao tôi mở lại câu hỏi, vì chúng tôi đã có phần Hỏi/Đáp để liệt kê tất cả các cuộc tấn công vào RSA bản rõ.
Yotam Sofer avatar
lá cờ cl
@MaartenBodewes, NẾU tôi có thể cho rằng thông báo chỉ bao gồm các chữ cái ascii, vì vậy miền đầu vào rất nhỏ, phải không? và nó sẽ phá vỡ một cách dễ dàng. hơn nữa, có câu trả lời nào cho phần thứ hai của câu hỏi không?
Maarten Bodewes avatar
lá cờ in
Có, bạn có thể vô hiệu hóa cuộc tấn công này nếu bạn thêm *đủ* bit ngẫu nhiên. Bạn có thể sử dụng bất kỳ loại mã hóa nào cho việc này, thực tế PKCS#1 có một mã hóa khá đơn giản: các byte có giá trị 01..FF và 00 làm giá trị byte kết thúc (tất nhiên là nó yêu cầu phải có phạm vi từ PRNG) nhưng bất kỳ mã hóa đảo ngược nào khác sẽ làm. Sau khi bạn có thể xác định các bit ngẫu nhiên, bạn chỉ cần bỏ qua chúng và gửi lại tin nhắn. Tất nhiên, có những cuộc tấn công khác **chẳng hạn như** các cuộc tấn công đệm có thể xảy ra trên PKCS#1 và OAEP, tôi đoán điều đó cần phải nghiên cứu thêm.
kelalaka avatar
lá cờ in
@MaartenBodewes, bất kỳ phần đệm nào cũng quá chung chung, tuy nhiên, nếu tổng kích thước của thư có phần đệm ngẫu nhiên nằm trong phạm vi của bảng cầu vồng, người ta cũng sẽ thấy các bit ngẫu nhiên ...
Điểm:2
lá cờ ng
  1. Có, cuộc tấn công trong câu hỏi sẽ hoạt động đối với mô đun thấp của ví dụ.Thuật ngữ "từ điển" phù hợp hơn "bảng cầu vồng" (được sử dụng trong ngữ cảnh tạo một bảng băm nhỏ gọn được tính toán trước).

    Tuy nhiên, các cuộc tấn công thực tế không thể hoạt động theo cách này. Trong RSA như thực tế, không thể xây dựng một từ điển đủ lớn, vì sẽ mất quá nhiều thời gian để xây dựng (tỷ lệ thuận với mô đun $n$, thường là ít nhất 2048-bit ngày nay). Tuy nhiên, nếu Alice mã hóa một tin nhắn được biết là thuộc về một nhóm nhỏ (chẳng hạn như tên trong danh sách lớp) trực tiếp bằng RSA trong sách giáo khoa $m\mapsto c:=m^e\bmod n$, sau đó có thể giải mã $c$ bằng cách mã hóa từng tin nhắn có thể và kiểm tra tin nhắn phù hợp $c$. Một tìm kiếm tuần tự của $m$ trong điểm danh lớp sẽ làm: một từ điển tương ứng $c$ chỉ hữu ích nếu có một số tin nhắn (và RSA thực tế không được sử dụng bằng cách chia tin nhắn thành các phần nhỏ, như trong câu hỏi).

  2. Đệm mã hóa ngẫu nhiên giải quyết vấn đề này, bằng cách đảo ngược chuyển một tin nhắn $m$ thành một đại diện thông điệp đủ ngẫu nhiên $\widetilde m\in[0,n)$. Sau đó, RSA sách giáo khoa có thể được áp dụng một cách an toàn cho $\widetilde m$, theo giả định RSA: đối với khóa công khai thích hợp $(n,e)$ngẫu nhiên $x\in[0,n)$, thật khó để tìm thấy $x$ từ $x^e\bmod n$.

    làm cách nào bộ giải mã (Bob) có thể 'xóa' các bit ngẫu nhiên đó nếu anh ta không biết chúng?

    Bức tranh toàn cảnh là có một quy ước giữa Alice và Bob về những bit nào của $\widetilde m$ là phần đệm (một số ngẫu nhiên) do Alice thêm vào, Bob sẽ xóa phần đệm đó. Mô tả đơn giản hóa đó khá gần với kỹ thuật đệm không dùng nữa trong RSAES-PKCS1-v1_5. Hiện đại RSAES-OAEP có các bước bổ sung nên tất cả ngoại trừ (tối đa) 8 bit của $\widetilde m$ xuất hiện ngẫu nhiên ngay cả khi $m$ không (thu được bằng phép biến đổi mật mã đối xứng có thể đảo ngược sau khi áp dụng phần đệm ngẫu nhiên, giúp khuếch tán tính ngẫu nhiên), nhưng ý tưởng vẫn còn.

kelalaka avatar
lá cờ in
Tôi nghĩ rằng phần đệm phải nằm trên MSB để khi 3 được sử dụng làm số mũ công khai thì không thể tìm thấy $\sqrt[3]{c}$.

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