我工作在一些密码的东西。如何安全生成用于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)做到这一点。
您是否正在验证您的密文? –