第十一讲认证、哈希算法内容摘要:

2。 • 步骤 2: 添加长度。 原始消息长度(二进制位的个数),用 64位表示。 表示为 L个 512位的数据块: Y0,Y1,… ,YL1。 其长度为L512bits。 令 N=L16,则长度 为 N个 32位的字。 令 M[0… N1]表示以字为单位的消息表示。 12 MD5算法描述 (Cont.) • 步骤 3:初始化 MD缓冲区。 一个 128位 MD缓冲区用以保存中间和最终散列函数的结果。 它可以表示为 4个 32位的寄存器 (A,B,C,D)。 寄存器初始化为以下的 16进制值。 A = 67452301 B = EFCDAB89 C = 98BADCFE D = 10325476 13 Word A: 01 23 45 67 Word B: 89 AB CD EF Word C: FE DC BA 98 Word D: 76 54 32 10 14 MD5算法描述 (Cont.) • 步骤 4:处理消息块( 512位 = 16个 32位字)。 一个压缩函数是本算法的核心(HMD5)。 它包括 4轮处理。 四轮处理具有相似的结构 ,但每次使用不同的基本逻辑函数,记为 F,G,H,I。 每一轮以当前的512位数据块 (Yq)和 128位缓冲值 ABCD作为输入,并修改缓冲值的内容。 每次使用 64元素表 T[1…64] 中的四分之一 • T表,由 sin 函数构造而成。 T的第 i个元素表示为 T[i],其值等于 232abs(sin(i)),其中 i是弧度。 由于 abs(sin(i))是一个 0到 1之间的数, T的每一个元素是一个可以表示成 32位的整数。 T表提供了随机化的 32位模板, 消除了在输入数据中的任何规律性的特征 15 T 表 T[49] = F4292244 T[50] = 432AFF97 T[51] = AB942。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。