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.