Tôi làm việc trên một số công cụ mã hóa.Làm thế nào để tạo ra một IV an toàn cho mã hóa AES CBC?
- tôi sử dụng AES 256 với chế độ CBC
- tôi sử dụng OpenSSL
tôi biết những điều sau đây (source = wikipedia):
một vector initalization nên là:
- Độc đáo: không được lặp lại cho bất kỳ thư nào được mã hóa bằng khóa đã cho
- không thể đoán trước: một kẻ tấn công quan sát bất kỳ số thông điệp và IV của họ nên không có thông tin để dự đoán người tiếp theo với xác suất thành công lớn hơn 50% cho mỗi bit (ví dụ, không thể phân biệt từ ngẫu nhiên)
câu hỏi của tôi là thế nào để tạo ra một cách an toàn IV với OPENSSL và PHP? Tôi biết có một chức năng như vậy trong lib mcrypt (http://fr2.php.net/manual/fr/function.mcrypt-create-iv.php)
Tôi không tìm thấy bất cứ điều gì để làm điều này với OPENSSL (tạo ra duy nhất và không thể đoán trước IV).
Bạn có đang xác thực mật mã của mình không? –