分析极端填充情况

来源:3-5 详解MD5 SHA1原理

慕函数6382292

2022-08-16

该节3分30秒,分析极端填充情况:
按照课程理解,无论原数据有多少位,都会在末尾将原数据长度Len写入到64位长度的K中,但有个疑问是padding最小是0位还是1位,假定padding最小为0位的话:
padding的长度 = 512 - 64 - ( Len mod 512 ),当 Len mod 512 = 0时,padding最大,为448;当 Len mod 512 = 448 时,padding最小,为0。

写回答

1回答

马里布

2022-08-16

假设原消息长度为 `len` bits,首先在末尾填充一个 1

然后填充 n 个0,使得 len+1+n + 64 = 0 mod 512

其中 `1+n` 部分指的为填充进去的长度,也就是最少1位最多448位

当 len=447 mod 512 时,padding => {1}

当 len=0 mod 512 时,padding => {1000...000} 共448位,此时最多。

也可以参考资料: https://www.rfc-editor.org/rfc/rfc3174#section-4

1
1
慕函数6382292
谢谢前辈
2022-08-18
共1条回复

人人都该懂密码学,通用密码学原理与应用实战

万物互联时代,更新你的安全保障能力

249 学习 · 26 问题

查看课程