我想创建一个用于使用DES算法进行研究的加密程序。如果我的数据超过64个字节,则可以使用CBC或EBC模式对其进行加密。但是,如果我的数据文件少于64个字节怎么办?是否应在文件末尾添加空格以填充并获取64个字节?什么是好的方法?
答案 0 :(得分:1)
DES块的大小为64个位或8个字节。如果您的消息少于8个字节,则需要填充它。 common scheme用于通过重复添加填充的长度来填充块。例如,如果您的消息是3个字节,并且您需要填充8个字节的块,则需要5个字节的填充。将值5附加到消息5:
// Message ABC + 5 bytes of padding 0x41 0x42 0x43 + 0x05 0x05 0x05 0x05 0x05
这意味着您需要至少一个填充字节,因此,如果您的消息是一个完整的块,则需要添加一个完整的额外块以用于填充。要删除填充,请查看最后一个字节的值 N ,并验证纯文本的最后一个 N 字节具有相同的值。