我已经使用 PKS5Padding 在 Java 加密中实现了 AES (CBC) 算法。我注意到对于 128 字节的输入字符串;加密文本的大小为 144 字节。这是正常的吗?据我了解,AES 算法不应填充此字符串,因为它是 16 的乘法。
问问题
152 次
1 回答
1
始终应用 PKCS#7/PKCS#5 填充。检查维基百科页面。如果您的 16 字节对齐数据将以一个字节结尾01
并且您将删除填充,那么您将少一个字节的明文。因此,对于 AES,添加了 1 到 16 个字节,因此块大小的倍数是最坏的情况而不是最好的情况。
于 2013-09-24T16:31:24.120 回答