ImageVerifierCode 换一换
格式:PPT , 页数:38 ,大小:870KB ,
文档编号:3347603      下载积分:25 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3347603.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(Hash函数分解课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

Hash函数分解课件.ppt

1、1/第七章 杂 凑 函 数第1页,共38页。2杂凑函数杂凑函数(Hash(Hash函数)函数)杂凑函数是密码学的一个基本工具,在杂凑函数是密码学的一个基本工具,在数字签名、身份认数字签名、身份认证和消息的完整性检测证和消息的完整性检测等方面有着重要的应用等方面有着重要的应用 杂凑函数杂凑函数H是一公开函数,用于将任意长的消息是一公开函数,用于将任意长的消息M映射映射为较短的、固定长度的一个值为较短的、固定长度的一个值H(M),作为认证符,称函数作为认证符,称函数值值H(M)为杂凑值、杂凑码或消息摘要。为杂凑值、杂凑码或消息摘要。杂凑码是消息中所有比特的函数,因此提供了一种错误检测杂凑码是消息中

2、所有比特的函数,因此提供了一种错误检测能力,即改变消息中任何一个比特或几个比特都会使杂凑码能力,即改变消息中任何一个比特或几个比特都会使杂凑码发生改变。发生改变。特点:特点:H 打上了输入数字串的烙印,为数字指纹打上了输入数字串的烙印,为数字指纹(Digital Finger Print)第2页,共38页。3散列函数的性质散列函数的性质(1)一般杂凑函数一般杂凑函数h(m)算法公开,不需要密钥算法公开,不需要密钥(2)具有数据压缩功能,可将任意长度的输入数据转)具有数据压缩功能,可将任意长度的输入数据转换成一个固定长度的输出。换成一个固定长度的输出。(3)对任何给定的)对任何给定的m,h(m)

3、易于计算。易于计算。第3页,共38页。4Hash函数的应用函数的应用 在密码学和数据安全技术中,它是实现有效、安全可靠数在密码学和数据安全技术中,它是实现有效、安全可靠数字签字和认证的重要工具,是安全认证协议中的重要模块字签字和认证的重要工具,是安全认证协议中的重要模块。第4页,共38页。5HashHash函数的应用函数的应用注:实际应用中,未必一定是如h(mk)的计算方式,明文与密钥k的组合方式因不同的实现可以不同。第5页,共38页。6单向杂凑函数要求单向杂凑函数要求 密码学中所用的杂凑函数必须满足一定安全性的要求,要密码学中所用的杂凑函数必须满足一定安全性的要求,要能防伪造,抗击各种类型的

4、攻击,如生日攻击、中途相遇能防伪造,抗击各种类型的攻击,如生日攻击、中途相遇攻击等等。攻击等等。安全要求:安全要求:(1)具有单向性。具有单向性。给定消息的散列值给定消息的散列值h(m),要得到消,要得到消息息m在计算上不可行;在计算上不可行;(2)具有弱抗碰撞性具有弱抗碰撞性(Weak collision resistance)。)。对任何给定的消息对任何给定的消息m,寻找与,寻找与m不同的消息不同的消息m,使得它,使得它们的散列值相同,即们的散列值相同,即h(m)h(m),在计算上不可行。,在计算上不可行。(3)具有强抗碰撞性具有强抗碰撞性(Strong collision resista

5、nce)。寻找任意两个不同的消息。寻找任意两个不同的消息m和和m,使得使得h(m)h(m)在计算上不可行。在计算上不可行。第6页,共38页。7H是多对一映射是多对一映射 杂凑函数是多对一映射,所以必然存在碰杂凑函数是多对一映射,所以必然存在碰撞撞outputhHMMH第7页,共38页。8HashHash函数的无碰撞性函数的无碰撞性 弱单向杂凑弱单向杂凑,是在给定,是在给定M下,考察与特定下,考察与特定M的无碰撞性的无碰撞性;而;而强单向杂凑函数强单向杂凑函数是考察输入集中任意两个元素的是考察输入集中任意两个元素的无碰撞性。无碰撞性。显然,对于给定的输入数字串的集合,后一种碰撞显然,对于给定的输

6、入数字串的集合,后一种碰撞要容易实现。要容易实现。因为从下面要介绍的生日悖论知,在因为从下面要介绍的生日悖论知,在N个元素的集中,个元素的集中,给定给定M找与找与M相匹配的相匹配的M的概率要比从的概率要比从N中任取一对中任取一对元素元素M,M相匹配的概率小得多。相匹配的概率小得多。第8页,共38页。9单向杂凑函数安全性要求单向杂凑函数安全性要求 杂凑函数的安全性取决于其抗击各种攻击的能力,对杂凑函数的安全性取决于其抗击各种攻击的能力,对手的目标是找到两个不同消息映射为同一杂凑值。一手的目标是找到两个不同消息映射为同一杂凑值。一般假定对手知道杂凑算法,采用选择明文攻击法般假定对手知道杂凑算法,采

7、用选择明文攻击法 对杂凑函数的基本攻击方法:对杂凑函数的基本攻击方法:(1)穷举攻击(或暴力攻击):穷举攻击(或暴力攻击):不涉及杂凑算法的结构,不涉及杂凑算法的结构,能对任何类型的散列函数进行攻击。其中最典型方法是能对任何类型的散列函数进行攻击。其中最典型方法是“生日攻击生日攻击”:给定初值给定初值H0,寻找,寻找M M,使,使h(H0,M)=h(H0,M)。(2)密码分析法密码分析法,这类攻击方法依赖于对散列函数的结构和,这类攻击方法依赖于对散列函数的结构和代数性质分析,代数性质分析,采用采用针对散列函数弱性质的方法进行攻击针对散列函数弱性质的方法进行攻击。这类攻击方法有中间相遇攻击、修正

8、分组攻击和差分分。这类攻击方法有中间相遇攻击、修正分组攻击和差分分析等等。析等等。第9页,共38页。10生日攻击生日攻击 1生日悖论:在一个会场参加会议的人中,找一个与某人生日生日悖论:在一个会场参加会议的人中,找一个与某人生日相同的概率超过相同的概率超过0.5时,时,所需参会人员为所需参会人员为183人人。但要问使参会。但要问使参会人员中至少有两个同日生的概率超过人员中至少有两个同日生的概率超过0.5的的参会人数仅为参会人数仅为23人人。这是因为,对于与某个已知生日的人同日生的概率为这是因为,对于与某个已知生日的人同日生的概率为1/365,若房中有,若房中有t人,则至少找到一人与此人同日生的

9、概率为多少人,则至少找到一人与此人同日生的概率为多少。易易于解出,当于解出,当t 183时可使时可使p0.5。第一个人在特定日生的概率为第一个人在特定日生的概率为1/365,而第二人不在该日生,而第二人不在该日生的概率为的概率为(1-1/365),类似地第三人与前两位不同日生的,类似地第三人与前两位不同日生的概率为概率为(1-2/365),以此类推,以此类推,t个人都不同时生日概率为个人都不同时生日概率为Pt=(1-1/365)(1-2/365)(1-(t-1)/365),因此,至少,因此,至少有两人于同日生的概率为有两人于同日生的概率为1-Pt.解之,当解之,当t 23时,时,p0.5。第1

10、0页,共38页。11对散列函数的生日攻击对散列函数的生日攻击 与散列函数相关的类似问题可表述如下:给定一个散列与散列函数相关的类似问题可表述如下:给定一个散列函数函数h的输出长度为的输出长度为n位,共有位,共有2n个可能的散列值输出,个可能的散列值输出,找找x和和y满足满足H(x)=H(y),则尝试多少个报文可以找到,则尝试多少个报文可以找到一对(假设散列值一对(假设散列值n比特)比特)显然,最多尝试显然,最多尝试2n1个报文,必有一对冲突个报文,必有一对冲突 其实,远在到达其实,远在到达2n1之前,很可能早就找到了之前,很可能早就找到了(期期望望2n-1)如果只要达到一定的概率如果只要达到一

11、定的概率(如如1/2),约需尝试多少个不,约需尝试多少个不同报文?答案:同报文?答案:2n/2第11页,共38页。12杂凑函数的构造杂凑函数的构造(Merkle-Damgard)Merkle-Damgard)迭代型散列函数的一般结构:算法中重复使用某个函数f。函数f的输入有两项,一项是上一轮(第i-1轮)的输出CVi-1,称为链接变量,另一项是算法在本轮(第i轮)b位的输入分组mi。整个散列函数的逻辑关系可表示为:CV0=IV;CVi=f(CVi-1,mi);1it;h(M)=CVt第12页,共38页。13直接设计散列函数直接设计散列函数 MD5、SHA1是当前国际通行的两大密码标准。是当前国

12、际通行的两大密码标准。MD5由由国际著名密码学家图灵奖获得者兼公钥加密算法国际著名密码学家图灵奖获得者兼公钥加密算法RSA的创始的创始人人Rivest设计,设计,SHA1是由美国专门制定密码算法的标是由美国专门制定密码算法的标准机构准机构美国国家标准技术研究院(美国国家标准技术研究院(NIST)与美国国家)与美国国家安全局(安全局(NSA)设计。)设计。两大算法是目前国际电子签名及许多其它密码应用领域的关两大算法是目前国际电子签名及许多其它密码应用领域的关键技术,广泛应用于金融、证券等电子商务领域。其中,键技术,广泛应用于金融、证券等电子商务领域。其中,SHA1早在早在1994年便为美国政府采

13、纳,目前是美国政府年便为美国政府采纳,目前是美国政府广泛应用的计算机密码系统。广泛应用的计算机密码系统。第13页,共38页。141990MD419911992MD51993SHA019941995SHA119961997199819992000200120022003SHA-256,384,512200420052006MD4 is brokentheoretical attack on SHA0MD5,SHA0 broken,theoretical attack on SHA1直接设计散列函数第14页,共38页。15MDMD系列系列 MIT 一系列一系列杂凑杂凑算法算法(Ronal Rive

14、st 设计设计)http:/theory.lcs.mit.edu/rivest/Message Digest(MD)MD2(RFC 1319)MD4(RFC 1320)MD5(RFC 1321)应用应用 曾经是最广泛的摘要算法曾经是最广泛的摘要算法 但是摘要太短但是摘要太短(128bits)而而SHA有有160bits第15页,共38页。16MD5MD5 特性:输入:任意长度的消息特性:输入:任意长度的消息 输出:输出:128位消息摘要位消息摘要 处理:以处理:以512位输入数据块为单位位输入数据块为单位 步骤步骤1(填充消息填充消息):使得消息的长度(使得消息的长度(bit为单位)模为单位)

15、模512为为448。如果数据长度正好是模。如果数据长度正好是模512为为448,增加,增加512个填充个填充bit,也就是说填充的个数为也就是说填充的个数为1-512。填充方法:第一个填充方法:第一个bit为为1,其余全部为,其余全部为0。步骤步骤2(补足长度补足长度):将数据长度转换为将数据长度转换为64bit的数值,如果长的数值,如果长度超过度超过64bit所能表示的数据长度的范围,值保留最后所能表示的数据长度的范围,值保留最后64bit,增加到前面填充的数据后面,使得最后的数据为增加到前面填充的数据后面,使得最后的数据为512bit的整数倍。的整数倍。然后对每个然后对每个512bit按每

16、组按每组32bit进行分组进行分组,可分为可分为16组。组。512=32*16第16页,共38页。17报文K bitsL512 bits=N 32bits报文长度(K mod 264)1000Y0512 bitsY1512 bitsYq512 bitsYL-1512 bitsHMD5IV128HMD5CV1128HMD5CVq128HMD5CVL-1128512512512512128-bit 摘要MD5产生报文摘要的过程填充(1 to 512 bits)第17页,共38页。18MD5MD5算法实例算法实例 例例7-1 对字符串对字符串”abc”,运用,运用MD5求散列值求散列值解解:首先首先

17、”abc”二进制表示为:二进制表示为:01100001 01100010 01100011,共,共24位长度位长度MD5算法:算法:第一步:第一步:按照按照MD5要求,填充数据要求,填充数据:5126424424(填充(填充1位位“1”,423位位“0”,及,及 1000000)512位的输入数据为位的输入数据为(十六进制表示十六进制表示):):61626380 00000000,00000018而而 W0=61626380,W1=W2=W14=00000000,W15=00000018第18页,共38页。19MD5算法算法步骤三:初始化变量 用到4个变量,分别为A、B、C、D,均为32bit

18、长。初始化为:A=01 23 45 67 B=89 ab cd ef C=fe dc ba 98 D=76 54 32 10 第19页,共38页。20MD5算法算法第四步:数据处理,共进行四轮。设对512bit按每组32bit进行分组为M0,M1,M15。第一轮的辅助函数:F(X,Y,Z)=(X Y)(X Z)X Y表示按位与,X Y表示按位或,X表示按位取反。第一轮的操作:FF(a,b,c,d,Mj,s,ti)表示为:a=b+(a+(F(b,c,d)+Mj+ti)s)其中:Mj表示第j个分组,s表示循环左移s位 ti 是给定的常数,ti=0 x(int(232*sin(i).第20页,共38

19、页。21a=b+(a+g(b,c,d)+Mk+Ti)s)b=b c=c d=d 然后交换:A=dB=aC=bD=cMD5 压缩函数压缩函数第21页,共38页。22MD5算法算法-计算计算t1计算t1x=sin(1)=0.8414709848078965066525023216303y=232=4294967296z=x*y=232*sin(1)=3614090360.2828283386251439079649int(z)=3614090360=oxD76AA478第22页,共38页。23MD5算法第一轮循环算法第一轮循环 FF(a,b,c,d,M 0,7,0 xd76aa478);/*1*/

20、FF(d,a,b,c,M 1,12,0 xe8c7b756);/*2*/FF(c,d,a,b,M 2,17,0 x242070db);/*3*/FF(b,c,d,a,M 3,22,0 xc1bdceee);/*4*/FF(a,b,c,d,M 4,7,0 xf57c0faf);/*5*/FF(d,a,b,c,M 5,12,0 x4787c62a);/*6*/FF(c,d,a,b,M 6,17,0 xa8304613);/*7*/FF(b,c,d,a,M 7,22,0 xfd469501);/*8*/FF(a,b,c,d,M 8,7,0 x698098d8);/*9*/FF(d,a,b,c,M 9

21、,12,0 x8b44f7af);/*10*/FF(c,d,a,b,M10,17,0 xffff5bb1);/*11*/FF(b,c,d,a,M11,22,0 x895cd7be);/*12*/FF(a,b,c,d,M12,7,0 x6b901122);/*13*/FF(d,a,b,c,M13,12,0 xfd987193);/*14*/FF(c,d,a,b,M14,17,0 xa679438e);/*15*/FF(b,c,d,a,M15,22,0 x49b40821);/*16*/第23页,共38页。24MD5算法第二、三、四轮算法第二、三、四轮第二、三、四轮与第一轮非常相似。第二轮的辅助函

22、数:G(X,Y,Z)=(X Z)(Y Z)第三轮的辅助函数:H(X,Y,Z)=X Y Z 第四轮的辅助函数:I(X,Y,Z)=Y (X Z)第二轮的操作:GG(a,b,c,d,Mj,s,ti)表示:a=b+(a+(G(b,c,d)+Mj+ti)s)第三轮的操作HH(a,b,c,d,Mj,s,ti)表示:a=b+(a+(H(b,c,d)+Mj+ti)s)第四轮的操作II(a,b,c,d,Mj,s,ti)表示:a=b+(a+(I(b,c,d)+Mj+ti)s)第24页,共38页。25 GG(a,b,c,d,M 1,5,0 xf61e2562);/*17*/GG(d,a,b,c,M 6,9,0 xc

23、040b340);/*18*/GG(c,d,a,b,M11,14,0 x265e5a51);/*19*/GG(b,c,d,a,M 0,20,0 xe9b6c7aa);/*20*/GG(a,b,c,d,M 5,5,0 xd62f105d);/*21*/GG(d,a,b,c,M10,9,0 x2441453);/*22*/GG(c,d,a,b,M15,14,0 xd8a1e681);/*23*/GG(b,c,d,a,M 4,20,0 xe7d3fbc8);/*24*/GG(a,b,c,d,M 9,5,0 x21e1cde6);/*25*/GG(d,a,b,c,M14,9,0 xc33707d6);

24、/*26*/GG(c,d,a,b,M 3,14,0 xf4d50d87);/*27*/GG(b,c,d,a,M 8,20,0 x455a14ed);/*28*/GG(a,b,c,d,M13,5,0 xa9e3e905);/*29*/GG(d,a,b,c,M 2,9,0 xfcefa3f8);/*30*/GG(c,d,a,b,M 7,14,0 x676f02d9);/*31*/GG(b,c,d,a,M12,20,0 x8d2a4c8a);/*32*/*第二轮循环第二轮循环*/第25页,共38页。26 HH(a,b,c,d,M 5,4,0 xfffa3942);/*33*/HH(d,a,b,c,M

25、 8,11,0 x8771f681);/*34*/HH(c,d,a,b,M11,16,0 x6d9d6122);/*35*/HH(b,c,d,a,M14,23,0 xfde5380c);/*36*/HH(a,b,c,d,M 1,4,0 xa4beea44);/*37*/HH(d,a,b,c,M 4,11,0 x4bdecfa9);/*38*/HH(c,d,a,b,M 7,16,0 xf6bb4b60);/*39*/HH(b,c,d,a,M10,23,0 xbebfbc70);/*40*/HH(a,b,c,d,M13,4,0 x289b7ec6);/*41*/HH(d,a,b,c,M 0,11,

26、0 xeaa127fa);/*42*/HH(c,d,a,b,M 3,16,0 xd4ef3085);/*43*/HH(b,c,d,a,M 6,23,0 x4881d05);/*44*/HH(a,b,c,d,M 9,4,0 xd9d4d039);/*45*/HH(d,a,b,c,M12,11,0 xe6db99e5);/*46*/HH(c,d,a,b,M15,16,0 x1fa27cf8);/*47*/HH(b,c,d,a,M 2,23,0 xc4ac5665);/*48*/*第三轮循环*/第26页,共38页。27 II(a,b,c,d,M 0,6,0 xf4292244);/*49*/II(d

27、,a,b,c,M 7,10,0 x432aff97);/*50*/II(c,d,a,b,M14,15,0 xab9423a7);/*51*/II(b,c,d,a,M 5,21,0 xfc93a039);/*52*/II(a,b,c,d,M12,6,0 x655b59c3);/*53*/II(d,a,b,c,M 3,10,0 x8f0ccc92);/*54*/II(c,d,a,b,M10,15,0 xffeff47d);/*55*/II(b,c,d,a,M 1,21,0 x85845dd1);/*56*/II(a,b,c,d,M 8,6,0 x6fa87e4f);/*57*/II(d,a,b,c

28、,M15,10,0 xfe2ce6e0);/*58*/II(c,d,a,b,M 6,15,0 xa3014314);/*59*/II(b,c,d,a,M13,21,0 x4e0811a1);/*60*/II(a,b,c,d,M 4,6,0 xf7537e82);/*61*/II(d,a,b,c,M11,10,0 xbd3af235);/*62*/II(c,d,a,b,M 2,15,0 x2ad7d2bb);/*63*/II(b,c,d,a,M 9,21,0 xeb86d391);/*64*/*第四轮循环*/第27页,共38页。28MD5算法算法做完四轮操作后,执行:a=A ab=B bc=C

29、cd=D d如果还有下一个512分组,则对其进行从第一轮开始的操作。如果所有512分组操作完毕,输出:a b cd,此即为所给消息的md5值,即所谓的消息摘要。第28页,共38页。29处理程序非线性函数:sun(x)的整数部分Ti=232*(abs(sin(i),i 為弧度。MD5算法第29页,共38页。30SHA1:Secure Hash Algorithm-1 SHA-1是数字签名标准是数字签名标准DSS(Digtial Signature Standard)中使用的散列算法)中使用的散列算法。基于基于MD4 所以类似所以类似MD5输入输入 任意报文任意报文(264)输出输出 160bit

30、s SHA-1,SHA-256,SHA-384,SHA-512 SHA-1,SHA-256的分组大小是的分组大小是512 SHA-384,SHA-512的分组大小是的分组大小是1024 SHA-1输出的摘要是输出的摘要是160bit SHA-256输出的摘要是输出的摘要是256 SHA-384输出的摘要是输出的摘要是384 SHA-512输出的摘要是输出的摘要是512第30页,共38页。31SHA5算法第一、二步算法第一、二步第一步:填充消息 使得消息的长度(bit为单位)模512为448。如果数据长度正好是模512为448,增加512个填充bit,也就是说填充的个数为1-512。填充方法:第

31、一个bit为1,其余全部为0。计算公式 补零的个数d=(447|x|)mod 512(l=|x|表示消息长度)X|1|0d|l第二步:补足长度 将数据长度转换为64bit的数值 然后对每个512bit按每组32bit进行分组,可分为16组。512=32*16第31页,共38页。32SHA1 算法原理 分段运算:512 bits 杂凑值长度:160 bits 初始向量:160 bitsSHA1SHA1消息摘要消息摘要第32页,共38页。33 处理处理程序:程序:4 回合,回合,共计共计 80 次;次;5 个缓存器个缓存器 A=E+f1-4(t,B,C,D)+S5(A)+Wt+K1-4 B=A C

32、=S30(B)D=C E=D其中其中 f1-4(t,B,C,D)=步步t的基本逻辑函数的基本逻辑函数Sk=循环左移循环左移k位位Wt=一个从当前一个从当前512位输入位输入 数据块导出的数据块导出的32位字位字K1-4一个用于加法的常量,一个用于加法的常量,四个不同值四个不同值+=模模 232加加SHA-1 压缩函数压缩函数第33页,共38页。34SHA1 的的IV初值初值用到5个变量,分别为A、B、C、D,E均为32bit长。初始化为:暂存器初始值 A:67 45 23 01 B:EF CD AB 89 C:98 BA DC FE D:10 32 54 76 E:C3 D2 E1 F0 第3

33、4页,共38页。35回合 步骤序号输入常数取值方式(整數)第一回合 0 t 19 K1=5A82799 230 sqrt(2)第二回合 20 t 39 K2=6ED9EBA1 230 sqrt(3)第三回合 40 t 59 K3=8F1BBCDC 230 sqrt(5)第四回合 60 t 79 K4=CA62C1D6 230 sqrt(10)SHA-1 算法算法Kt与与f1-4f1=f(t,B,C,D)=(B C)(B D),0=t20f2=f(t,B,C,D)=B C D,20=t39f3=f(t,B,C,D)=(B C)(B D)(C D),40=t59f4=f(t,B,C,D)=B C

34、D,60=t79第35页,共38页。36SHASHA算法算法:处理步骤处理步骤 步驟步驟 1:將:將输入输入明文(明文(512 bits)以每)以每 32 bits 為為单位单位,分別存入,分別存入Mk中,其中中,其中 k=0,1,2,.,15,Wt由由Mk扩展扩展 步驟步驟 2:初始化:初始化 A、B、C 与与 D 缓缓存器,如存器,如下:下:A:67 45 23 01 B:EF CD AB 89 C:98 BA DC FE D:10 32 54 76 E:C3 D2 E1 F0 步驟步驟 3:进入进入第一回合第一回合运算运算,执行执行 20 次:次:a,b,c,d,e(e+f1(t,b,c

35、,d)+S5(A)+Wt+Kt),A,S30(B),C,D)步驟步驟 4:进入进入第二回合第二回合运算运算,执行执行 20 次:次:a,b,c,d,e(e+f2(t,b,c,d)+S5(A)+Wt+Kt),A,S30(B),C,D)步驟步驟 5:进入进入第三回合第三回合运算运算,同样执行同样执行 20 次次:a,b,c,d,e(e+f3(t,b,c,d)+S5(A)+Wt+Kt),A,S30(B),C,D)步驟步驟 6:进入进入第四回合第四回合运算运算,同样执行同样执行 20 次次:a,b,c,d,e(e+f4(t,b,c,d)+S5(A)+Wt+Kt),A,S30(B),C,D)步驟步驟 7

36、:输出消息摘要输出消息摘要,执行执行 SUM32 计算计算。第36页,共38页。37SHA-1 SHA-1 演算法演算法W0,W1,W15等于消息M0,M1,M15.其余的:Wt=S1(Mt-16Mt-14Mt-8Mt-3)第37页,共38页。38基于对称分组密码算法设计散列函数基于对称分组密码算法设计散列函数 04-0504-05,MD5MD5、HAVAL-128HAVAL-128、MD4MD4和和RIPEMDRIPEMD等算法被成功分析等算法被成功分析,并给出了并给出了SHA-SHA-1 1的理论破译结果。从而的理论破译结果。从而理论上讲电子签名可理论上讲电子签名可以伪造,必须及时添加限制条件,或者重新以伪造,必须及时添加限制条件,或者重新选用更为安全的密码标准,以保证电子商务选用更为安全的密码标准,以保证电子商务的安全。的安全。通常,可以使用对称密钥分组密码算法的通常,可以使用对称密钥分组密码算法的CBC模式或模式或CFB模式来产生散列值,如图模式来产生散列值,如图5.4、图、图5.5所示。所示。第38页,共38页。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|