Tôi hiểu rằng IV duy nhất là quan trọng trong việc mã hóa để ngăn chặn các cuộc tấn công như phân tích tần số. Câu hỏi: For AES CBC encryption, whats the importance of the IV? có một câu trả lời khá rõ ràng giải thích tầm quan trọng của IV.Mã hóa AES cách vận chuyển IV
Có lỗ hổng bảo mật nào trong việc gửi IV trong văn bản rõ ràng không? Hoặc nó sẽ cần phải được mã hóa với cùng một khóa công khai/riêng được sử dụng để gửi khóa đối xứng?
Nếu IV cần được gửi mã hóa, thì tại sao không tạo khóa đối xứng mới mỗi lần và xem IV là một phần của khóa? Liệu nó tạo ra một khóa đối xứng là quá tốn kém? Hoặc là nó để giảm thiểu số lượng dữ liệu được vận chuyển?
Câu trả lời trên xuống Secret vs. Non-secret Initialization Vector trạng thái:
Một giao thức thiết lập quan trọng điển hình sẽ cho kết quả đều liên quan đến các bên tính toán một phần dữ liệu mà họ, nhưng chỉ có họ, cả hai đều biết. Với Diffie-Hellman (hoặc bất kỳ biến thể Elliptic Curve nào), đoạn dữ liệu được chia sẻ nói trên có độ dài cố định và chúng không có quyền kiểm soát giá trị của nó (cả hai đều có cùng chuỗi bit).
Làm cách nào để hai thực thể lấy được "chuỗi các bit giống nhau ngẫu nhiên" mà không có thông tin chia sẻ? Giả định rằng thông tin được chia sẻ đã được mã hóa chưa? Và, nếu thông tin được chia sẻ được gửi mã hóa, tại sao không chỉ gửi mã hóa IV?
Vì ứng dụng cần chuyển khóa đối xứng một cách an toàn, dường như việc tách IV khỏi chính bản thân là tối ưu hóa. Hay tôi đang thiếu một cái gì đó?
lược đồ mà tôi đã sử dụng trong quá khứ là tạo khóa ngẫu nhiên mỗi lần và mã hóa khóa và iv cả bằng cặp khóa công khai/riêng được chia sẻ trước đó. Tôi chưa bao giờ cảm thấy điều này làm tăng tải trọng AES một cách đáng kể (vì mục đích sử dụng của tôi), nhưng có lẽ các giao thức cực kỳ hạn chế có thể có các yêu cầu nghiêm ngặt hơn về kích thước – rejj