下载此文档

MD5消息摘要算法.doc


文档分类:通信/电子 | 页数:约88页 举报非法文档有奖
1/88
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/88 下载此文档
文档列表 文档介绍
:•Merkle于1989年提出hashfunction模型•RonRivest于1990年提出MD4•1992年,由麻省理工学院的RonRivestat提出MD5(MessageDigest)[RFC1321]•别名:压缩函数、杂凑函数、散列函数、报文摘要•结构:MD5遵循安全hash码的一般结构•输入:任意长的消息•MD5把数据分成512-bit块•MD5的Hash值是128-bit•在最近数年之前,MD5是最主要的Hash算法•现行美国标准SHA-(一)算法结构,遵循一般结构,(二)算法框架(1)附加填充比特:对报文进行填充,使其长度(比特数)与448模512同余,即长度?448mod512即填充长度为512的整数倍减去64。例如,报文是448bit长,那么将填充512bit形成960bit的报文。(2)附加长度值:用64bit表示的初始报文(填充前)的位长度附64加在步骤1的结果后(低位字节优先)。若初始长度大于2,仅使用该长度的低64bit。(3)初始化MD缓存:该缓存记为A、B、C、D各32bit。其中A,(01234567)B,(89ABCDEF)1616C,(FEDCBA98)D,(76543210)1616A、B、C、D称为链接变量,令初始值IV,(A,B,C,D)16(4)主循环,共循环L次。每个循环有4轮迭代,每轮16步操作运算。每轮均以当前报文组和缓存ABCD为输入,然后更Yq新缓存内容。(5)输出:所有L个512bit的分组处理完成后,第L阶段产生的输出便是128bit的报文摘要MD。(三)数学描述,CVIV,0,CVH,,CV,Y,,q,1MD5qq,MDCV,,L或CV,IV0CV,SUM(CV,RF[Y,RF[Y,RF[Y,RF[Y,CV]]]]),q132qIqHqGqFqqMD,CVL其中,IV,缓存A、B、C、D的初值,在步骤(3)定义,Yq,第q个长度为512bit的报文分组,L,报文的分组数(包括填充字段和长度字段),CV,处理第q个报文分组时的连接变量q,RF,使用原始逻辑函数x的循环函数x,MD,最终的报文摘要32,SUM,对输入对中的每个字分别执行模2相加32(四)单个循环•步骤4:CV0,IV,CVq,HMD5(CVq-,Yq)1–(A0,B0,C0,D0)?(A,B,C,D)–第1轮(A,B,C,D,T[1…16],X[0…15])–第2轮(A,B,C,D,T[17…32],X[0…15])–第3轮(A,B,C,D,T[33…48],X[0…15])–第4轮(A,B,C,D,T[49…64],X[0…15])–(A,B,C,D)?(A+A0,B+B0,C+C0,D+D0)•512-bit块(X[…]为32-bit表示)在四轮中使用•每个轮包含16步,每步处理一个32-bit32•T[j],[sin(j)×2]的整数部分,1?j?(一)单步操作每一轮包含对缓冲区ABCD的16步操作所组成的一个序列。a?A,b?B,c?C,d?Da?b+((a+g(b,c,d)+X[k]+T[i])<<<s)A?d,B?a,C?b,D?c其中:a,b,c,d,缓冲区的四个字,以一个给定的次序排列;g,基本逻辑函数F,G,H,I之一;<<<s,对32位字循环左移s位X[k],M[q×16+k],在第q个512位数据块中的第k个32位字T[i],表T中的第i个32位字;32+,模2的加;(二),轮,函数g第1轮、F(b,c,d),(b?c)?(?d)b第2轮、G(b,c,d),(b?d)?(c?)d第3轮、H(b,c,d),b?c?d第4轮、I(b,c,d),c?(b?)d(三)X[k]imod16,round1,,1,5imod16round2,,(,0,1,…,15)ik,5,3imod16round3,,7imod16round4,(四)T[i]32,,2siniT[],,1??64ii,,其中:为弧度;sin(i)为正弦函数;为下整数函数(即不大于xix,,的最大的整数。(五)循环移位位数s第第第第第第第第第第第第第第第轮第234567891011**********步步步步步步步步步步步步步步步步数17122217712221771222177122217259142059142059142059142034111623411162341116234111623461015216101521610**********(六)详细操作•For(k,0;k<16;++k){(B,C,D)+X[ρ(k)]+T[16×0+k+

MD5消息摘要算法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数88
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zhufutaobao
  • 文件大小321 KB
  • 时间2019-12-15