Điểm:0

Tại sao chúng ta cần sử dụng PRG để tạo số ngẫu nhiên cho bộ đệm một lần?

lá cờ fr

Tôi đang xem xét ý tưởng sau để sử dụng khóa đối xứng để mã hóa nhiều tin nhắn (giao tiếp qua lại giữa Alice & Bob). Có thể tóm tắt như sau:

  • Cả hai bên đồng ý về một chìa khóa
  • Cả hai bên tạo ra $2^n$ bit bằng cách sử dụng PRG (mà tôi tin là được tạo bằng khóa). Vì PRG là xác định, cả hai bên đều có cùng $2^n$ chút ít.
  • Khi một bên muốn mã hóa tin nhắn, họ chọn k chỉ số ngẫu nhiên, trong đó k là độ dài của tin nhắn, & xor tin nhắn với các bit tại đó k chỉ số. Họ truyền thông điệp & các chỉ số.
    • Kẻ tấn công không biết các bit cơ bản, vì vậy việc có các chỉ số là vô ích
  • Phía bên kia nhận chỉ số/tin nhắn & thực hiện quá trình ngược lại như trên

trực quan hóa sơ đồ

Điều tôi bối rối là sự cần thiết của PRG. Ví dụ: Tại sao cả hai bên không đồng ý lặp lại khóa (là bí mật từ kẻ tấn công) cho $\frac{2^n}{k}$ thời gian ở đâu k là độ dài của khóa.

Cho rằng kẻ tấn công không biết khóa, điều này vẫn sẽ được an toàn, phải không?

Về mặt lý thuyết: Cả hai bên chỉ có thể đồng ý thực hiện {1, 2, 3, 4 ... $2^n$} các bit "ngẫu nhiên" vì nếu chúng có khả năng thương lượng trên khóa bí mật dùng chung, thì chúng cũng phải có khả năng thương lượng về cách tạo bộ đệm, phải không?

kelalaka avatar
lá cờ in
Đây không thực sự là bàn phím một lần trong đó khóa là ngẫu nhiên thống nhất. Trên thực tế, $2^n$ bit là đầu ra của PRG để giảm giao tiếp. Tôi không thích ý tưởng này, thay vào đó, họ có thể có mật mã luồng và chỉ mục là IV và khóa được cố định để không cần lưu trữ đầu ra của PRG. Câu hỏi của bạn về cơ bản giống như câu hỏi [Tận dụng việc tái sử dụng phím pad một lần?](https://crypto.stackexchange.com/q/59/18298)
Điểm:2
lá cờ ru

Nó được gọi là One Time Pad vì một lý do: bạn chỉ được phép sử dụng nó một lần. Nếu bạn lặp lại cùng một khóa trong hai phần khác nhau của văn bản gốc, thì điều này giống như bạn đang sử dụng lại khóa, dẫn đến các vấn đề. Chính xác hơn, nếu bạn có hai tin nhắn $m_1$$m_2$ được mã hóa bằng cùng một khóa $k$ như $m_1\oplus k$$m_2\oplus k$, kẻ tấn công có thể XOR hai mã hóa này với nhau để hủy khóa và lấy $m_1\oplus m_2$, mà, mặc dù nó không tiết lộ $m_1$ cũng không $m_2$ trực tiếp, là đủ để tìm hiểu điều gì đó về những giá trị này.

Một giải pháp thay thế là không sử dụng lại khóa mà sử dụng khóa có độ dài bằng tin nhắn. Tuy nhiên, điều này sẽ rất tốn kém, vì vậy chúng tôi sử dụng PRG để có thể "khởi động" một khóa ngắn hơn thành một khóa mới không thể phân biệt được với ngẫu nhiên và đồng thời dài như thông báo.

fgrieu avatar
lá cờ ng
Ngoài ra: và khi chúng tôi sử dụng PRG "để tạo số ngẫu nhiên cho Bảng một lần", thì đây không còn là Bảng một lần thực sự nữa. Nó trở thành mật mã dòng và không còn an toàn về mặt lý thuyết thông tin nữa.

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