MD5算法每块分组多少比特?当信息长度为768bit时需要填充多少bit?当信息长度为960bit时需要填充多少bit?给出计算过程
时间: 2024-04-05 08:30:14 浏览: 39
MD5算法每块分组512比特。当信息长度为768 bit时,需要填充512-768 mod 512=512-256=256 bit,即填充一个1和255个0,因为MD5算法要求信息长度必须是512比特的整数倍,而原始信息长度为768 bit,所以需要填充的比特数为256 bit。
当信息长度为960 bit时,需要填充512-960 mod 512=512-448=64 bit,即填充一个1和63个0,因为960 mod 512=448,所以原始信息长度已经是512比特的整数倍,只需要填充一个1和63个0即可。
计算过程如下:
- 当信息长度为768 bit时:
1. 填充一个1,即在信息末尾添加一个1,变成769 bit。
2. 填充256-1=255个0,使得信息长度为512的倍数,即填充255 bit,变成1024 bit。
3. 在末尾64 bit 处添加原始信息长度的二进制表示(长度为64 bit),即添加00000000 00000000 00000000 00000000 00000000 00000000 00000011 00000000(768的二进制表示),最终长度为1088 bit。
- 当信息长度为960 bit时:
1. 填充一个1,即在信息末尾添加一个1,变成961 bit。
2. 填充64-1=63个0,使得信息长度为512的倍数,即填充63 bit,变成1024 bit。
3. 在末尾64 bit 处添加原始信息长度的二进制表示(长度为64 bit),即添加00000000 00000000 00000000 00000000 00000000 00000000 00000111 00000000(960的二进制表示),最终长度为1088 bit。
阅读全文