Có thực tế để xây dựng một mật mã mã hóa đối xứng cần thay đổi khóa cho mỗi quy trình không?
Như là, tuyên bố này là một mâu thuẫn của Định nghĩa của một mật mã và nó là chìa khóa. Khóa được định nghĩa là đầu vào của mật mã, do đó bản thân mật mã không thể thay đổi nó. Quan trọng hơn, các mô hình tấn công (chỉ bản mã, bản rõ đã biết, bản rõ đã chọn, bản mã đã chọn) giả sử sử dụng lại khóa, do đó không có thay đổi khóa nào đối với các thông báo khác nhau. Giả định quan trọng đó phù hợp với việc sử dụng trường thực tế và được cho là bắt nguồn từ Kerckhoffs.
Nó tuân theo One Time Pad không khớp với định nghĩa của mật mã. OTP tốt nhất là một phương thức mã hóa. Nếu một cái gì đó trong đầu vào của một mật mã phải được thay đổi từ tin nhắn này sang tin nhắn khác (điều này là phổ biến), đó không phải là chìa khóa, đó là một Vector khởi tạo. Nếu một cái gì đó không phải là đầu vào của mật mã thay đổi khi tin nhắn được xử lý, thì đó không phải là khóa của mật mã, đó là liên bang của mật mã (có thể là khóa của mật mã nội bộ).
Vì vậy, chúng ta cần thực hiện một hoặc nhiều điều sau đây để hiểu rõ câu hỏi:
- Thay thế từ Chìa khóa qua trạng thái bên trong ban đầu được thiết lập cho khóa của mật mã, rằng mật mã bây giờ có thể tự do thay đổi. Đó là một kết hợp công bằng cho những gì được hỏi, là thực tế, nhưng không hoàn toàn phổ biến. Ví dụ, bạn nên thay đổi khóa của mật mã khối sau mỗi khối để ngăn chặn một số cuộc tấn công DPA.
- Thay thế từ Chìa khóa qua trạng thái bên trong ban đầu được thiết lập như chức năng của khóa mật mã (và có thể là đầu vào khác của mật mã, như IV). Bây giờ điều đó là thực tế và chủ đạo (như đã chỉ ra trong câu trả lời này): trạng thái bên trong có thể là khóa phiên, được sử dụng làm khóa của mật mã phụ bên trong, được lấy từ khóa của mật mã tổng thể và được thay đổi sau một số byte văn bản gốc của mật mã tổng thể. Tuy nhiên, điều đó không phù hợp với những gì được hỏi, vì những gì thay đổi là khóa nội bộ, không bao giờ khớp với khóa của mật mã tổng thể.
- Biến đổi mật mã đến phương pháp hoặc thiết bị. Điều đó cho phép chúng tôi tự do thay đổi khóa của mật mã và bỏ qua các vấn đề thực tế đã được thử nghiệm trong trận chiến mà người dùng sẽ sử dụng lại khóa ban đầu được cung cấp cho phương pháp hoặc thiết bị, bất kể quy định chống lại điều đó được đưa ra. Để minh họa sự nguy hiểm của việc tái sử dụng đó, xem ví dụ: đây là gizmo trong bao phấn trả lời. Mặc dù nó sử dụng Phân phối khóa lượng tử, nó vẫn cần một khóa bí mật ban đầu (nguồn) được gửi bằng phương tiện truyền thống như chuyển phát nhanh đáng tin cậy. Nếu bí mật đó được sử dụng lại vì liên kết QKD không đồng bộ, thì yêu cầu bảo mật của gizmo sẽ không còn nữa.
Đôi khi sự thay đổi này phụ thuộc vào bản rõ và được thực hiện tự động.
Điều đó không có gì lạ, và ít nhất là ổn trong lý thuyết.Một mật mã khối trong CBC hoặc CFB mode, và một số mật mã khác, thay đổi trạng thái bên trong của chúng theo bản rõ và khóa. Tuy nhiên, việc trộn bản rõ và khóa phải được phân tích cẩn thận, vì nó có thể dẫn đến một số cuộc tấn công.