Điểm:9

Bất kỳ lợi thế nào đối với mật mã khối không thể đảo ngược một cách hiệu quả?

lá cờ mk

Định nghĩa cổ điển của PRP bao gồm khả năng đảo ngược hiệu quả.

Cho rằng nhiều chế độ mật mã hiện đại (dựa trên CTR, ví dụ: GCM) chỉ sử dụng hướng chuyển tiếp của mật mã khối, có vẻ như phần khả nghịch hiệu quả của định nghĩa không thực sự cần thiết cho các mục đích thực tế.

Thư giãn như vậy có giúp ích được gì cho chúng ta không? tức là có các cấu trúc PRP thực tế có thể tính toán hiệu quả theo hướng thuận nhưng không phải theo hướng ngược lại không? Và cái nào hiệu quả hơn theo hướng chuyển tiếp so với mật mã khối hiện tại có độ bảo mật tương đương?

fgrieu avatar
lá cờ ng
Tiêu đề và nội dung của câu hỏi yêu cầu những điều khác nhau. Trong [câu hỏi liên quan](https://crypto.stackexchange.com/q/14338/555) này, tôi đã hỏi câu hỏi của tiêu đề. Thật khó khăn, và trong số những gì được đề xuất, không có gì là rất nhanh về phía trước. Về câu hỏi trong phần nội dung (mà tôi đọc là: chúng ta có thể tạo mật mã khối nhanh hơn bằng cách không hỏi rằng nó có thể đảo ngược một cách hiệu quả không): lưu ý rằng AES trong phần mềm nhanh hơn đáng kể theo hướng chuyển tiếp và việc tăng tốc là có chủ ý. Nhưng điều ngược lại vẫn có thể đảo ngược một cách hiệu quả.
eddydee123 avatar
lá cờ mk
Tôi đã sửa tiêu đề (để nhận xét của Francois có ý nghĩa, bản gốc là "Mật mã khối không thể đảo ngược hiệu quả?")
Điểm:9
lá cờ ru

Tôi sẽ lập luận rằng đối với nhiều nhà mật mã học, cuộc tranh luận còn đi xa hơn nữa. Cho rằng các chế độ phát trực tuyến mật mã khối được ưa chuộng để mã hóa hàng loạt, liệu có cần thiết phải đảo ngược không? Nếu một người tuân theo lý luận dòng này, người ta có thể thấy tại sao lại có sự hồi sinh về mức độ phổ biến của mật mã dòng với ChaCha20 là một ví dụ rõ ràng. Mặc dù ChaCha20 tạo ra đầu ra 512 bit từ trạng thái 512 bit và cập nhật trạng thái bằng một bộ đếm đơn giản (giống như chế độ CTR và GCM), quá trình này (chúng tôi tin rằng) không thể đảo ngược. Cũng đúng là ChaCha20 là một thiết kế rất hiệu quả (giả sử rằng phần cứng hỗ trợ bổ sung hiệu quả các từ 32 bit).

Lưu ý rằng đối với nhiều triển khai AES, chức năng vòng giải mã kém hiệu quả hơn chức năng vòng mã hóa khi đảo ngược TrộnCol quá trình liên quan đến tính toán nhiều hơn.

Gilles 'SO- stop being evil' avatar
lá cờ cn
âchức năng vòng giải mã kém hiệu quả hơn chức năng vòng giải mãâ Tôi nghĩ *giải mã* thứ hai nên là *mã hóa*? Điều đó có thực sự phổ biến không? Trong một triển khai ngây thơ, MixCol khá đối xứng.
Daniel S avatar
lá cờ ru
Cảm ơn vì sự đúng đắn của bạn; Bây giờ tôi đã chỉnh sửa. Trừ khi mọi người đang sử dụng triển khai bảng T, cách tiếp cận phổ biến nhất là nhân ma trận tương ứng và [ma trận nghịch đảo](https://en.wikipedia.org/wiki/Rijndael_MixColumns#InverseMixColumns) có nhiều mục khó xử hơn ` Ma trận MixCol` trong đó các mục nhập đều là 1, $x$ hoặc $1+x$.
Điểm:6
lá cờ in

PRP là Hoán vị giả ngẫu nhiên và chúng tôi muốn chúng không thể phân biệt được với các hoán vị ngẫu nhiên. AES và tất cả mật mã khối được cho là PRP. Hoán vị có nghĩa là có một nghịch đảo và chúng được thiết kế để có một nghịch đảo và thực sự có một nghịch đảo hiệu quả.

Chúng tôi cần một phương thức hoạt động cho mật mã khối và chúng tôi đã rời CBC do có nhiều cuộc tấn công đã xảy ra mặc dù nó có bảo mật Ind-CPA.Hiện tại, tất cả các mật mã TLS 1.3 đều sử dụng nội bộ chế độ CTR bảo mật Ind-CPA (bộ mật mã TLS 1.3 còn hơn thế nữa, chúng đều là các chế độ Mã hóa được xác thực với Dữ liệu được xác thực)

Thư giãn như vậy có giúp ích được gì cho chúng ta không?

Nó cho chúng ta rất nhiều cơ hội. Chúng tôi không cần phải hạn chế PRP trong chế độ CTR - chế độ này đã được thiết kế cho Hàm giả ngẫu nhiên (PRF); Chế độ CTR không cần nghịch đảo của hàm. Với PRF, chúng ta có thể sử dụng nhiều hàm mà không cần phải có hàm nghịch đảo (Có $2^n!$ PRP và $(2^n)^{2^n}$ PRF cho mật mã khối n-bit. Thậm chí chúng ta có thể sử dụng hàm băm và chuyển đổi nó thành mã hóa CTR như trong điệu Salsa. Chúng tôi cũng có thể thiết kế một lịch trình chính với chi phí gần như bằng không.

Sử dụng PRP trong chế độ CTR có thể gây ra trình phân biệt tin nhắn dài và chúng ta có thể loại bỏ điều này bằng cách sử dụng PRF. Nếu chúng tôi sử dụng PRP ở chế độ CTR thì chúng tôi cần hạn chế số lượng khối mã hóa do bổ đề chuyển đổi PRP-PRF.

Chế độ CTR cũng không yêu cầu phần đệm để chúng miễn nhiễm với các cuộc tấn công tiên tri đệm.

ChaCha20 và Salsa20 là những ví dụ nổi tiếng có chi phí lịch biểu chính bằng 0, thiết kế ARX thân thiện với CPU. Họ có chế độ CTR tích hợp và rất nhanh trong phần mềm.

Điểm:5
lá cờ in

Thật vậy, PRF phù hợp hơn PRP cho các chế độ khác nhau như CTR.Vấn đề là chúng ta không biết cách xây dựng các PRF tốt ngoài PRP.

  1. Một cách đơn giản là giả vờ rằng PRP của chúng ta là một PRF: và điều này đúng, tối đa một lượng dữ liệu nhất định được đưa ra (giới hạn ngày sinh, xem Bổ đề chuyển đổi PRP/PRF).

  2. Một cách khác thường được sử dụng là tính toán PRP/hoán vị và thêm đầu vào vào đầu ra. Nó không cải thiện giới hạn sinh nhật, nhưng thủ thuật này làm cho hàm không thể đảo ngược, điều này rất quan trọng trong một số cách sử dụng (chẳng hạn như ChaCha được đề cập bởi @Daniel S). Nó cũng được sử dụng trong các hàm băm kiểu Merkle-Damgard để xây dựng hàm nén (Davis-Meyer).

  3. Thêm/xoring hai hoán vị là một PRF tốt, nhưng nó rất tốn kém.

  4. Việc cắt bớt đầu ra một cách hợp lý cũng là một PRF tốt, nhưng lại rất tốn kém.

Đáng nói đến là mật mã dựa trên miếng bọt biển, dựa trên các hoán vị công khai, chỉ được đánh giá theo hướng chuyển tiếp. Nói cách khác, không yêu cầu hoán vị là khả nghịch rất hiệu quả.

poncho avatar
lá cờ my
Lưu ý rằng mật mã dựa trên miếng bọt biển sử dụng hiệu quả tùy chọn 'cắt bớt đầu ra' (bằng cách không xuất 'dung lượng')
fgrieu avatar
lá cờ ng
_"PRF phù hợp hơn PRP"_ trôi dạt khỏi câu hỏi như được diễn đạt hiện tại, câu hỏi rõ ràng yêu cầu một _permutation_ có thể tính toán hiệu quả và những gì chúng ta đạt được khi loại bỏ ràng buộc rằng hoán vị ngược có thể tính toán hiệu quả. Như được minh họa bởi AES, thật hợp lý khi chúng ta đạt được một chút. Tôi đồng ý rằng chúng tôi thu được nhiều lợi ích hơn bằng cách bỏ yêu cầu rằng hàm là một hoán vị và với kích thước khối đủ lớn, chúng tôi có thể thực hiện nó trong thực tế. Nhưng tôi vẫn thấy hứng thú với câu hỏi.

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