gpt4 book ai didi

php - 使用 openssl_encrypt 代替 Mcrypt 进行 3DES-ECB 加密

转载 作者:行者123 更新时间:2023-12-05 08:42:36 24 4
gpt4 key购买 nike

我有一个使用 mycrypt 的加密方法,密码是 3des,模式 ecb:

mcrypt_module_open ( MCRYPT_3DES, '', 'ecb', '' )

现在我想用openssl_encrypt加密,但是在openssl_get_cipher_methods()列表中没有找到des3-ecb

最佳答案

now I want to encrypt it use openssl_encrypt, and I did not find des3-ecb in openssl_get_cipher_methods() list.

des-ede3 .使用 block 密码的对称加密需要某种 mode of operation .如果您浏览列表,您会看到类似于 des-ede3 的内容。 , des-ede3-cbc , des-ede3-cfbdes-ede3-ofb . CBC、CFB 和 OFB 都是命名的,未命名的密码必须是唯一的其他常见操作模式:ECB。


切勿使用 ECB mode 。它是确定性的,因此在语义上不安全。您至少应该使用像 CBC 这样的随机模式。或 CTR .最好对您的密文进行身份验证,以便像 padding oracle attack 这样的攻击不可能。这可以通过 GCM 或 EAX 等身份验证模式或使用 encrypt-then-MAC 来完成。方案。

现在不要使用 Triple DES。即使您使用 192 位的最大 key 大小,它也最多只能提供 112 位的安全性。如果使用较短的 key 大小,则它仅提供 56 或 57 位的安全性。 AES 会更快(处理器有一个特殊的 AES-NI 指令集)并且更安全,最小 key 大小为 128 位。 3DES 的最大密文大小也有实际限制。参见 Security comparison of 3DES and AES .

关于php - 使用 openssl_encrypt 代替 Mcrypt 进行 3DES-ECB 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39467008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com