Tôi chắc chắn không có câu trả lời cho câu hỏi này, nhưng chỉ cố gắng tìm ra cách tiếp cận chung.Tôi nên tạo một vectơ khởi tạo như thế nào?
Sử dụng Java 1.4.2, tôi cần tạo khóa và IV để sử dụng trong thuật toán đối xứng. Các giá trị này sẽ được chia sẻ trước với người nhận thông qua kênh bảo mật.
Chìa khóa tôi có thể tạo bằng KeyGenerator.keyGenerate(). Nhưng trừ khi tôi bỏ lỡ nó, không có chức năng để tạo ra một IV ngẫu nhiên.
Tôi có nên làm điều gì đó hoàn toàn tùy ý như kéo 16 byte ngẫu nhiên khỏi bộ nhớ không? Hoặc là có một cách ưa thích của việc tạo ra các vectơ khởi tạo ngẫu nhiên đầy đủ?
Bất kỳ hướng dẫn nào được đánh giá cao.
@schnaader - nit-pick - SHA1PRNG không phải là RNG thực. Nó là một PRNG với (theo trang bạn liên kết đến) một hạt giống ngẫu nhiên thực sự. –
Bạn đã đúng, đã chỉnh sửa câu trả lời. – schnaader