我想知道这两种加密方法有什么区别?我以前从未使用过这些。我的客户要求我使用AES-128加密,但当我在谷歌上搜索它时,显示出“aes-128-cbc”,“aes-128-ctr”,“aes-256-cbc”或“aes-256-ctr”,所以我想知道我应该使用哪一个才能像AES-128一样?
参考链接:这是我必须发送加密方法的地方
我想知道这两种加密方法有什么区别?我以前从未使用过这些。我的客户要求我使用AES-128加密,但当我在谷歌上搜索它时,显示出“aes-128-cbc”,“aes-128-ctr”,“aes-256-cbc”或“aes-256-ctr”,所以我想知道我应该使用哪一个才能像AES-128一样?
参考链接:这是我必须发送加密方法的地方
3件事:
现在,您的客户要求您使用AES-128加密。因此,您应该使用密钥大小为128位的AES加密。您可以使用任何加密模式,这是您自己的选择。我更喜欢CBC。
关于 CBC 和 ECB 的区别,简要说明一下。当使用 ECB 进行加密时,每 128 位数据(根据块大小而定)都将使用同一密钥进行加密。如果明文中存在任何模式,那么生成的加密文本也将是可预测的,无论加密算法有多好。
ECB:
Plain text: aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa
---------------- ---------------- ----------------
Encrypted: bdefjakjapqeiowp bdefjakjapqeiowp bdefjakjapqeiowp
如果您使用CBC加密模式,第一个块将与IV(初始化向量)进行XOR运算,并使用密钥进行加密,第二个块将与第一个块进行XOR运算,然后使用密钥进行加密,第三个块将与第二个块进行XOR运算。生成的密码文本对频率分析的易受性更小。