aes-128-cbc 和 aes-128 加密有什么区别吗?
2022-08-30 20:17:29
我想知道这两种加密方法之间是否有任何区别?我以前从未使用过这些。我的客户要求我使用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 加密时,每 128 位数据(取决于块大小)都会使用相同的密钥进行加密。如果明文中存在任何模式,则无论加密算法有多好,生成的加密文本也将是可预测的。
欧洲 央行:
Plain text: aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa
---------------- ---------------- ----------------
Encrypted: bdefjakjapqeiowp bdefjakjapqeiowp bdefjakjapqeiowp
如果你使用CBC,第一个块使用IV(初始化向量)获得XOR,并使用密钥加密,第二个块使用第一个块获得XOR,然后使用密钥加密,第三个块使用第二个块。然后,生成的密码就不易受到频率分析的影响。
缺点是您无法并行化加密/解密,因为您需要上一个块的结果,因此它可能会变慢。但在实践中,它并没有真正的区别。