我工作在一些密碼的東西。如何安全生成用於AES CBC加密的IV?
- 我使用AES 256與CBC模式
- 我使用OpenSSL
我知道以下的事情(源=維基百科):
一個initalization矢量應爲:
- 獨特:對於用給定密鑰加密的任何消息,不得重複
- 不可預知的:一個誰觀察任意數量的信息和它們的IV的攻擊者應該沒有信息來預測下一個成功的概率每位大於50%(即從隨機區分)
我的問題是,如何用OPENSSL和PHP安全地生成IV?我知道有這樣的功能在lib mcrypt(http://fr2.php.net/manual/fr/function.mcrypt-create-iv.php)
我沒有找到任何與OPENSSL(生成獨特的和不可預測的IV)做到這一點。
您是否正在驗證您的密文? –