【发布时间】:2014-11-14 13:18:05
【问题描述】:
我正在研究 AES 加密器和解密器。我决定使用 PKCS#7。现在,我不知道在哪里放置有关填充长度的信息。我读过我可以读取最后一个字节(==n)并检查它是否低于 16。如果是真的,我可以检查 n 个字节是否等于 n。但这里有一件事。如果要加密的最后一个块有 16 个字节,例如:
{0x01, 0xfa,..., 0xf1, 0x02, 0x02}
解密后,解密器将读取它并确定最后两个字节被填充(实际上它们不是)。
我应该在一个有长度的文件的开头添加一个字节,解密器会读取它并从第二个字节开始解密吗?
【问题讨论】:
-
如果您的消息大小完全可以被块大小整除,我认为您通常只需添加整个填充块。
-
@Damien 我认为你是对的 :)
标签: encryption aes pkcs#7