yim*_*xie 2 php encryption ecb php-openssl
我有一个加密方法mycrypt和密码是3des,模式ecb:
mcrypt_module_open ( MCRYPT_3DES, '', 'ecb', '' )
Run Code Online (Sandbox Code Playgroud)
现在我想使用加密它openssl_encrypt,我没有des3-ecb在openssl_get_cipher_methods()列表中找到.
现在我想加密它使用
openssl_encrypt,我没有des3-ecb在openssl_get_cipher_methods()列表中找到.
是的des-ede3.使用分组密码的对称加密需要某种操作模式.如果你看看整个列表,你会看到类似des-ede3,des-ede3-cbc,des-ede3-cfb和des-ede3-ofb.CBC,CFB和OFB都被命名,未命名的密码必须是唯一的其他常见操作模式:ECB.
切勿使用ECB模式.它是确定性的,因此在语义上不安全.您应该至少使用CBC或CTR等随机模式.最好对您的密文进行身份验证,以便无法进行填充oracle攻击等攻击.这可以使用经过验证的模式(如GCM或EAX)或加密 - 然后MAC方案来完成.
现在不要使用Triple DES.即使您使用192位的最大密钥大小,它也只提供112位安全性.如果使用较短的密钥大小,则它仅提供56或57位的安全性.AES会更快(处理器具有特殊的AES-NI指令集),并且具有128位的最低密钥大小更加安全.使用3DES对最大密文大小也有实际限制.请参阅3DES和AES的安全性比较.