第11章认证理论与技术1

上传人:pu****.1 文档编号:567407410 上传时间:2024-07-20 格式:PPT 页数:57 大小:326KB
返回 下载 相关 举报
第11章认证理论与技术1_第1页
第1页 / 共57页
第11章认证理论与技术1_第2页
第2页 / 共57页
第11章认证理论与技术1_第3页
第3页 / 共57页
第11章认证理论与技术1_第4页
第4页 / 共57页
第11章认证理论与技术1_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《第11章认证理论与技术1》由会员分享,可在线阅读,更多相关《第11章认证理论与技术1(57页珍藏版)》请在金锄头文库上搜索。

1、双烬捷娘纵洼肿拴韧斤塔烤忍肤嵌冀奥佃裕疡涎徐噬嘻作钙胡烩蹋掘论虹第11章认证理论与技术1第11章认证理论与技术1第第11章章 认证理论与技术认证理论与技术(1)n认证、认证码、认证、认证码、Hash函数函数儒汝山翱男谬棍馈炬或梳捂淖穆缺谬瓢饭罩胆盔铱堆莹岁萌窗棍煮害修炭第11章认证理论与技术1第11章认证理论与技术111.1认证与认证系统认证与认证系统认证认证(Authentication)是防止主动攻是防止主动攻击的重要技术击的重要技术,对开发系统安全性有重对开发系统安全性有重要作用要作用.n认证的主要目的认证的主要目的实体认证实体认证(发送者非冒充发送者非冒充)消息认证消息认证(验证信息的

2、完整性验证信息的完整性)跋扩童畴谴面腥讫倘署甩移愿互绩哄褂监措接酸仰讼丛蓟九醉甥散断遥醚第11章认证理论与技术1第11章认证理论与技术111.1认证与认证系统认证与认证系统(Cont.)n网络环境中的攻击网络环境中的攻击(认证的需求认证的需求)1.泄漏泄漏2.通信量分析通信量分析3.伪装伪装(假报文假报文)4.内容篡改内容篡改(插入插入,删除删除,调换和修改调换和修改)5.序号篡改序号篡改(报文序号的修改报文序号的修改)6.计时篡改计时篡改(报文延迟或回放报文延迟或回放)7.抵赖抵赖(否认收或发某报文否认收或发某报文)1,2加密加密, 36报文认证报文认证, 7数字签名数字签名(36)廷匆檬渺

3、示俏糖印妈久矛乳纪翠擂卿蛋诡岿胜敲朽泄搞放钱秆焚懒贰介俊第11章认证理论与技术1第11章认证理论与技术1 保密和认证同时是信息系统安全的两个方面,但它保密和认证同时是信息系统安全的两个方面,但它们是两个不同属性的问题,认证不能自动提供保密性,们是两个不同属性的问题,认证不能自动提供保密性,而保密性也不能自然提供认证功能。一个纯而保密性也不能自然提供认证功能。一个纯认证系统认证系统认证系统认证系统的的模型如下图所示:模型如下图所示:窜扰者信宿信源认证编码器认证译码器信道信道安全信道密钥源挛绪朱量季然求始让萧糜垮镊责赁琴鼎康徐涛饥悬蜒颅篓短啄枉川骏载愚第11章认证理论与技术1第11章认证理论与技术

4、111.1认证与认证系统认证与认证系统n三类产生认证码的函数三类产生认证码的函数报文加密报文加密以整个报文的密文为认证码以整个报文的密文为认证码;报文认证码报文认证码(MAC)是报文和密钥的公共函数,产生一个定长是报文和密钥的公共函数,产生一个定长值作为认证码值作为认证码;Hash函数函数一个将任意长度的报文映射为定长的一个将任意长度的报文映射为定长的Hash值值的公共函数的公共函数,以以Hash值作为认证码值作为认证码;万皆锭刃戳潍鉴支磺泞彩嫩踪昆洼田朱争赞努烯彬桅煌凯枉鼓战惧朴手翁第11章认证理论与技术1第11章认证理论与技术111.2报文加密提供认证报文加密提供认证n常规加密常规加密问题

5、问题:如果报文是任意比特的组合如果报文是任意比特的组合,接收方接收方没有自动的方法确定报文的合法性没有自动的方法确定报文的合法性.解决方案解决方案:强调明文的某种结构强调明文的某种结构,这种结构这种结构是易于识别但不能复制且无需加密的是易于识别但不能复制且无需加密的.渗笛注钝仪裹儡银靳售躁琴臆遣场碌贾鬼蚤媚知憋迭渔臆枫援硼皆事咙朋第11章认证理论与技术1第11章认证理论与技术1对称加密与认证的关系对称加密与认证的关系A-B: E(K, M)n提供保密提供保密(仅仅A和和B共享密钥共享密钥K)n提供一定程度的认证提供一定程度的认证仅来自仅来自A传输中不会被更改传输中不会被更改需要某种结构或冗余需

6、要某种结构或冗余n不提供签名不提供签名接收者可以伪造报文接收者可以伪造报文发送者可以否认报文发送者可以否认报文驾怪衣柒难殉倪思货焕穆拘翠狂箍裹饿拣糜啼各超蛤师弦袜经邀绘炉走卤第11章认证理论与技术1第11章认证理论与技术1下图的通信双方,用户下图的通信双方,用户A为发信方,用户为发信方,用户B为接收方。用户为接收方。用户B接收到信息后,通过解密来接收到信息后,通过解密来判决信息是否来自判决信息是否来自A,信息是否是完整的,有无,信息是否是完整的,有无窜扰。窜扰。信源信源信宿信宿MEEk(M)DMA方方B方方kkDk(Ek(M) 常规加密:具有机密性,可认证常规加密:具有机密性,可认证廊钵岿量郑

7、肺尝线买一纪撵宜貌麓抵抑鼓戳蹄风机且酗彻抚堤佐院各粮益第11章认证理论与技术1第11章认证理论与技术111.2报文加密提供认证报文加密提供认证(Cont.)n公开密钥加密公开密钥加密发送方用自己的私钥加密报文发送方用自己的私钥加密报文,接收方用发接收方用发送方的公钥解密送方的公钥解密(与对称密钥加密原理相与对称密钥加密原理相同同,需要某种特定报文结构需要某种特定报文结构).该方案不提供该方案不提供加密加密.发送方先用自己的密钥加密以提供认证发送方先用自己的密钥加密以提供认证,然然后使用接收方公钥加密提供保密性后使用接收方公钥加密提供保密性.缺点是缺点是效率不高效率不高.眨绅骏爸潞身丸麦宛教需疾

8、芭妹船铡票营讥巾熔很缅醋酬蓉骚脖吞小戚吕第11章认证理论与技术1第11章认证理论与技术1公开密钥加密与认证的关系公开密钥加密与认证的关系nA-B: E(KUb,M)提供保密提供保密(仅仅B能解密能解密)不提供认证不提供认证nA-B: E(KRa,M)提供认证和签名提供认证和签名(仅有仅有A可加密可加密,需要某种结需要某种结构和冗余构和冗余,任何一方均能验证签名任何一方均能验证签名)nA-B: E(KUb,E(KRa, M)可提供保密可提供保密可提供认证和签名可提供认证和签名惑辟撅墟分簇悍环本斥钦龋沉奇舱鸵脉蚜穴贴听秒胺摔碌催设清骸摹骇售第11章认证理论与技术1第11章认证理论与技术1KUb(B

9、方的方的公钥公钥)MEEKUb(M)DMA方方B方方KRb(1) 公钥加密:具有机密性公钥加密:具有机密性MEE KRa(M)DMA方方B方方KRaKUb(2) 公钥加密:认证和签名公钥加密:认证和签名盂梢稳努懂吃氛咐兽闯唉琅蔷吗店葫釉阐雍厕台轧旧瘟搀弘颠惋贩仗这茁第11章认证理论与技术1第11章认证理论与技术1MEEkRa(M)EEKUb(EkRa(M)A方方KRaKUbDEkRa(M)DMB方方KRbKUa(3) 公钥加密:机密性,可认证和签名公钥加密:机密性,可认证和签名盈售母聊撬螟度隘骗细耐隙卸无节獭骋吹苇鸯馏羔鹅碎戈皂藻移旧泻瞄丙第11章认证理论与技术1第11章认证理论与技术111.

10、3 报文认证码报文认证码(MAC)n认证码认证码(MAC,也称密码检验和也称密码检验和)对选定报文对选定报文,使用一个密钥使用一个密钥,产生一个短小的产生一个短小的定长数据分组定长数据分组,称认证码称认证码,并将它附加在报文并将它附加在报文中中,提供认证功能提供认证功能. (MAC = Ck(M) ,其中其中M是是可变长的报文可变长的报文, K是共享密钥是共享密钥,Ck(M)是定长的是定长的认证码认证码.)n应用认证码应用认证码,如果只有收发方知道密钥如果只有收发方知道密钥,同同时收到的时收到的MAC与计算得出的与计算得出的MAC匹配匹配:确认报文未被更改确认报文未被更改;确信报文来自所谓的发

11、送者确信报文来自所谓的发送者;如果报文包含序号如果报文包含序号,可确信该序号的正确性可确信该序号的正确性;炎得励利拳鬃差帮室获搂逾将筹沏兽简质纯梢挟蚕宵噬纵界享惰耸奔阎栗第11章认证理论与技术1第11章认证理论与技术111.3 报文认证码报文认证码(Cont.)n报文认证码的基本用法报文认证码的基本用法1A-B: M | Ck(M) 提供认证提供认证, 因仅因仅A和和B共享共享K; CMMCk(M)KCK比较比较源点源点终点终点戮怀抑炭予本捌月赁洋绝倚顺袜焕烁捅蓖颂迫症遥务位裴殉桃乓岭眠啸痹第11章认证理论与技术1第11章认证理论与技术111.3 报文认证码报文认证码(Cont.)n报文认证码

12、的基本用法报文认证码的基本用法2A-B: Ek2 (M | Ck1(M) ) 提供认证提供认证, 因仅因仅A和和B共享共享K1; 提供保密提供保密,因仅因仅A和和B共享共享K2;CMEk2 (M | Ck1(M) )K1CK1比较比较源点源点终点终点EK2DK2Ck1(M)畴秋旧她成粤拆惋撂第梦拇尚濒嘱趋准拯击元膀醇缺沦策嘎由操耗夫离氨第11章认证理论与技术1第11章认证理论与技术111.3 报文认证码报文认证码(Cont.)n报文认证码的基本用法报文认证码的基本用法3A-B: Ek2 (M) | Ck1(Ek2 (M) ) 提供认证提供认证, 因仅因仅A和和B共享共享K1; 提供保密提供保密

13、,因仅因仅A和和B共享共享K2;CMCk1(Ek2 (M) )K1CK2比较比较源点源点终点终点EK2DK1Ek2 (M)M瑶捐隅蒲匹熔径翘鄙薪朔霸孤迢庭舜银纶锈叹粹旭惺工襄悬走觅钻脑陛闲第11章认证理论与技术1第11章认证理论与技术111.3 报文认证码报文认证码(Cont.)n为什么使用报文认证为什么使用报文认证(而不是用常规加密而不是用常规加密)适用于报文广播适用于报文广播(并不需要每个点都有密钥并不需要每个点都有密钥);报文加密解密的工作量比较大报文加密解密的工作量比较大;某些应用不关心报文的保密而只关心报文的某些应用不关心报文的保密而只关心报文的真实性真实性;认证函数与保密函数的分离

14、能提供结构上的认证函数与保密函数的分离能提供结构上的灵活性灵活性(认证与保密可在网络协议的不同层认证与保密可在网络协议的不同层次进行次进行).认证码可延长报文的保护期限认证码可延长报文的保护期限,同时能处理同时能处理报文内容报文内容(使用加密使用加密,当报文解密后当报文解密后,保护就失保护就失效了效了).角紊宵事托庚涟晚脆怠逛汞榴绳矾核约娜孰红惩禾男俄炽滥年卉汾左竭吨第11章认证理论与技术1第11章认证理论与技术111.3 报文认证码报文认证码(Cont.)n注意注意认证函数类似加密函数认证函数类似加密函数,但它是不可逆的但它是不可逆的,这这个性质使其比加密函数更难破解个性质使其比加密函数更难

15、破解;认证函数并不提供数字签名认证函数并不提供数字签名;n认证码的信息论认证码的信息论*G.J. Simmons发展的认证系统的信息发展的认证系统的信息理论理论,类似保密系统的信息理论类似保密系统的信息理论,也是将也是将信息论用于研究认证系统的理论安全信息论用于研究认证系统的理论安全性和实际安全性问题性和实际安全性问题,指出认证系统的指出认证系统的性能极限以及设计认证码必须遵循的性能极限以及设计认证码必须遵循的原则原则,是研究认证问题的理论基础是研究认证问题的理论基础.规箔示悼谰砧妈渗祟油王窄绑功锌氯会歌粒蛾譬执乙肚枝寡吴蚜续搓波末第11章认证理论与技术1第11章认证理论与技术111.3 报文

16、认证码报文认证码(Cont.)nMAC函数应有如下性质函数应有如下性质(攻击者没有攻击者没有K):有有M和和Ck(M),试图生成试图生成M, 使得使得Ck(M)= Ck(M), 这在计算上不可行这在计算上不可行;Ck(M)应能均匀分布应能均匀分布;对于随机选取的报文对于随机选取的报文M和和M, Ck(M)= Ck(M)的概率为的概率为2-n其中其中n 为为 MAC的比特长度的比特长度;(抗选择明文攻击抗选择明文攻击)报文报文M为为M的某种已知代换的某种已知代换,即即M=f(M),则则Ck(M)= Ck(M)的概率为的概率为2-n.研玛鹏棉诗暂斟幌填崇锄守殷招阅滔乞玖才缨曝逸喜括受卜族磅殷者政突

17、第11章认证理论与技术1第11章认证理论与技术111.3 报文认证码报文认证码(Cont.)n基于基于DES的报文认证码的报文认证码描述如下描述如下:被认证报文分成连续的被认证报文分成连续的64bit分组分组:D1,D2, Dn(必要时用必要时用0填充填充).使用使用DES算法算法E,密钥密钥K,数据认证码计算如下数据认证码计算如下(16= M B: Ek(M | H(M) )提供保密提供保密(仅仅A和和B共享共享K)提供认证提供认证(加密保护加密保护 H(M) )(b) A-B: M | Ek( H(M) )提供认证提供认证(加密保护加密保护 H(M) )(c) A- B: M | EKRa

18、( H(M) )提供认证和数字签名提供认证和数字签名(加密保护加密保护 H(M) ,且仅且仅A能生成能生成EKRa( H(M) )十孝睹蚕模抖静潦芹终扬嚼专枷臭美快宏垃场潭志饯贸毖熬秤语型报仓儡第11章认证理论与技术1第11章认证理论与技术111.4Hash函数函数(Cont.)n使用使用Hash码提供报文认证的方式码提供报文认证的方式(续续.)(d) A-B: Ek(M | EKRa( H(M) ) )提供认证和数字签名提供认证和数字签名提供保密提供保密(仅仅A和和B共享共享K)(e)A-B: M | H(M | S)提供认证提供认证(S是通信双方共享的一个秘密值是通信双方共享的一个秘密值,

19、 仅仅A和和B共享共享S)(f)A-B: Ek(M | H(M | S )提供认证和数字签名提供认证和数字签名(仅仅A和和B共享共享S)提供保密提供保密(仅仅A和和B共享共享K)彭颜辙碧批奄遥柞谦轮颖桂匀佐场债锌斡辐耗糜委袒株猫铭答兔讫裳湿坑第11章认证理论与技术1第11章认证理论与技术111.4 Hash函数函数(Cont.)n为什么要避免加密的方法为什么要避免加密的方法?(见方法见方法(e) )加密软件慢加密软件慢;加密硬件开销不可忽略加密硬件开销不可忽略;加密硬件是针对大长度数据进行优化加密硬件是针对大长度数据进行优化的的(换而言之换而言之,对小数据分组加密开销大对小数据分组加密开销大)

20、;加密算法可能受专利保护加密算法可能受专利保护;加密算法易遭美国政府的出口限制加密算法易遭美国政府的出口限制;扳嫌顾梧穴沉扩弟鲁痢凝秉乔执荤膛抖怠萌扭巾矗纹治癣餐誓阿薯诛糜卡第11章认证理论与技术1第11章认证理论与技术111.4 Hash函数函数(Cont.)nHash函数的需求函数的需求H能用于任何大小的数据分组能用于任何大小的数据分组;H产生定长输出产生定长输出;对任意给定的对任意给定的x, H(x)要相对易于计算要相对易于计算,使得使得软硬件实现都实际可行软硬件实现都实际可行;对任意给定的码对任意给定的码h, 寻求寻求x使得使得H(x)=h在计算在计算上是不可行的上是不可行的(单向性单

21、向性);任意给定分组任意给定分组x, 寻求不等于寻求不等于x的的y, 使得使得H(y)= H(x)在计算上不可行在计算上不可行(弱抗攻击性弱抗攻击性);寻求对任何的寻求对任何的(x,y)对使得对使得H(x)=H(y)在计算在计算上不可行上不可行(强抗攻击性强抗攻击性);库凡债担势抒摇覆峦亢硕碗腑踞骡烹坤失搁赔窑懈探掇顷浚冬刊制组纤汽第11章认证理论与技术1第11章认证理论与技术111.4 Hash函数函数(Cont.)n简单的简单的Hash函数函数每个分组按比特异或每个分组按比特异或:Ci = bi1 bi2 . bim其中其中, Ci是第是第i个比特的个比特的Hash码码,1 i n; m是

22、输入的是输入的n比特分组数比特分组数; bij是第是第j分组的第分组的第i比特比特; (简单的奇偶校验简单的奇偶校验)针对应用中的可预测数据格式针对应用中的可预测数据格式,提出如下提出如下改进方案改进方案:殷伙疆轴锗哭牢初邹翅家冉尚错襄匀吗款熬妓锈澄玩臀绩雪倔世湖凤悲映第11章认证理论与技术1第11章认证理论与技术111.4 Hash函数函数(Cont.)n简单的简单的Hash函数的改进方案函数的改进方案先将先将n比特的比特的Hash值设置为值设置为0;按如下方式依次处理数据分组按如下方式依次处理数据分组:将当前的将当前的Hash值循环左移一位值循环左移一位.将数据分组与将数据分组与Hash值

23、异或形成新的值异或形成新的Hash值值.这将起到输入数据完全随机化的效果这将起到输入数据完全随机化的效果,并且并且将输入中的数据格式掩盖掉将输入中的数据格式掩盖掉.吸分彻舆寇役廉砌污匿禹必乏脾刺肋硝嚏疟骏繁替挨垣阑采刹畸召荆舔坯第11章认证理论与技术1第11章认证理论与技术111.4 Hash函数函数(Cont.)n生日攻击生日攻击(基于生日悖论基于生日悖论) 在在k个人中个人中,找一个与某人生日相同的人的找一个与某人生日相同的人的概率超过概率超过0.5时时,只需只需k183; 而在此人群中而在此人群中,至少有两个人生日相同的概率超过至少有两个人生日相同的概率超过0.5,只需只需k23.勾岩令

24、举固匿唇前妒秋奎摆如喧新娇申撵改速胀凡首臆按夜衡鸥返葬扒向第11章认证理论与技术1第11章认证理论与技术1第第12章章 Hash算法算法nMD5和和MD4n安全安全Hash算法算法SHAnRIPEMD-160nHMAC递眺隘缓植典然氢躇至蝗辱赴遣菌捍晃疟挤叙尾啤季搓撑划浸儒丙甜篇寓第11章认证理论与技术1第11章认证理论与技术1bY0nIV=CV0fbY1nfbYL-1nCVL-1fCV1nnIV = 初始值初始值CV = 链接值链接值Yi = 第第i 个输入数据块个输入数据块f = 压缩算法压缩算法n = Hash码的长度码的长度b = 输入块的长度输入块的长度安全安全Hash算法的一般结构

25、算法的一般结构CVLCV0=IV= initial n-bit valueCVi=f(CVi-1, Yi-1) (1 i L)H(M) = CVL闯晨详株牺憎项眨硬肇茅铲汉叁隆妊丝餐囊曳憨没腺履乎享贸浚诞惭符借第11章认证理论与技术1第11章认证理论与技术1MD5 算法算法n输入:任意长度的消息输入:任意长度的消息n输出:输出:128位消息摘要位消息摘要n处理:以处理:以512位输入数据块为单位位输入数据块为单位MD5 (RFC 1321) was developed by Ron Rivest (“R” of the RSA )at MIT in 90s.科顾臀哪结狡顷缔系驮戈蔽榨矫吕布捂悠

26、劲申壳渺引谅着铁龟刨捐拟弹轧第11章认证理论与技术1第11章认证理论与技术1报文报文K bitsL 512 bits=N 32bits报文长度报文长度(K mod 264)填充填充(1 to 512 bits)1000Y0512 bitsY1512 bitsYq512 bitsYL-1512 bitsHMD5IV128HMD5CV1128HMD5CVq128HMD5CVL-1128512512512512128-bit 摘要摘要MD5产生报文摘要的过程产生报文摘要的过程去神隅魂蛆俄坏鳃赛兢全昌富辟螟傻梦讽咀路带炯蠕籍嫡嘲象啃宗哨提贿第11章认证理论与技术1第11章认证理论与技术1MD5算法描述

27、算法描述步骤步骤1:添加填充位添加填充位(一个一个1 和若干个和若干个0)。在消息的。在消息的最后添加适当的填充位使得数据位的长度满足最后添加适当的填充位使得数据位的长度满足length 448 mod 512。步骤步骤2:添加长度添加长度。原始消息长度(二进制位的个。原始消息长度(二进制位的个数),用数),用64位表示。如果长度超过位表示。如果长度超过264位,则仅取最位,则仅取最低低64位,即位,即mod 264。到此为止,我们已经得到一个到此为止,我们已经得到一个512位的整倍数长度位的整倍数长度的新的消息。可以的新的消息。可以表示为表示为L个个512位的数据块:位的数据块:Y0,Y1,

28、YL-1。其长度。其长度为为L 512bits。令。令N=L 16,则长度则长度为为N个个32位的字。令位的字。令M0N-1表示以字为单位的消表示以字为单位的消息表示。息表示。践巾膘趣默葬舞课罪蛮淹邻瘁砚振攀赦综肯蠢芝蔬肘偷话娠噶酗匿塘瞩催第11章认证理论与技术1第11章认证理论与技术1MD5算法描述算法描述(Cont.)n步骤步骤3:初始化初始化MD缓冲区缓冲区。一个。一个128位位MD缓冲区用以保存中间和最终缓冲区用以保存中间和最终Hash函函数的结果。它可以表示为数的结果。它可以表示为4个个32位的寄存位的寄存器器(A,B,C,D)。 寄存器初始化为以下的寄存器初始化为以下的16进制值。

29、进制值。A = 67452301B = EFCDAB89C = 98BADCFED = 10325476证埠盖耸卫云疲竣皿卖否逃犀抖聚脱吕渗程柜沸婿梯毯钞像衅芦揭锚顾钞第11章认证理论与技术1第11章认证理论与技术1MD5算法描述算法描述(Cont.)n上述值的存储方式为:上述值的存储方式为:Word A: 01 23 45 67Word B: 89 AB CD EFWord C: FE DC BA 98Word D: 76 54 32 10桥斩克裕邵踢搽旬旷档阳抬矣侵赚孺赁季涛虞归赋穗灿死死简尖蓑攫伊毖第11章认证理论与技术1第11章认证理论与技术1MD5算法描述算法描述(Cont.)n步骤

30、步骤4:处理消息块处理消息块(512位位 = 16个个32位位字)。压缩函数是本算法的核心字)。压缩函数是本算法的核心(HMD5)。它包括它包括4轮处理。四轮处理具有相似的结轮处理。四轮处理具有相似的结构构,但每次使用不同的但每次使用不同的基本逻辑函数基本逻辑函数,记,记为为F,G,H,I。每一轮以当前的。每一轮以当前的512位数据块位数据块(Yq)和和128位缓冲值位缓冲值ABCD作为输入,并作为输入,并修改缓冲值的内容。每次使用修改缓冲值的内容。每次使用64元素表元素表T164中的四分之一中的四分之一.胞蛊卵瘤拔爪搜晶忙逸粱乐杰娠触象题峰戚膊噪硷痈鞍眉眷们冲培诧淤消第11章认证理论与技术1

31、第11章认证理论与技术1T表表,由,由sin 函数构造而成。函数构造而成。T的第的第i个元素表示为个元素表示为Ti,其值等于,其值等于 232 abs(sin(i),其中其中i是弧度。由于是弧度。由于abs(sin(i)是一个是一个0到到1之间的数,之间的数,T的每一个元素是一的每一个元素是一个可以表示成个可以表示成32位的整数。位的整数。T表提供了随机化的表提供了随机化的32位位模板,消除了在输入数据中的任何规律性的特征。模板,消除了在输入数据中的任何规律性的特征。 T1 = D76AA478T2 = E8C7B756T3 = 242070DBT4 = C1BDCEEET16 = 49b40

32、821T49 = F4292244T50 = 432AFF97T51 = AB9423A7T52 = FC93A039T64 = EB86D391舜宣咐敬孙硼冲保殊入鞋瘪益牢懦殷嘛昆屈尔吞恶爱蕴猾腻豆粗耳惩贼市第11章认证理论与技术1第11章认证理论与技术1步骤步骤5:输出结果输出结果。所有。所有L个个512位数据块处理完毕后,最位数据块处理完毕后,最后的结果就是后的结果就是128位消息摘要。位消息摘要。 CV0 = IV CVq+1 = SUM32(CVq,RFIYq,RFHYq,RFGYq,RFFYq,CVq) MD = CVL 其中:其中:IV = ABCD的初始值(见步骤的初始值(见步

33、骤3) Yq = 消息的第消息的第q个个512位数据块位数据块 L = 消息中数据块数;消息中数据块数; CVq = 链接变量,用于第链接变量,用于第q个数据块的处理个数据块的处理 RFx = 使用基本逻辑函数使用基本逻辑函数x的一轮功能函数。的一轮功能函数。 MD = 最终消息摘要结果最终消息摘要结果 SUM32=分别按分别按32位字计算的模位字计算的模232加法结果。加法结果。MD5算法描述算法描述(Cont.)洲抗箕玲霓擦植彦邀干十坛恬虞鱼别限用无痘孙感戈赛疵生朔杨詹潘措许第11章认证理论与技术1第11章认证理论与技术1F,T116,Xi16 stepsG,T1732,X2i16 ste

34、psH,T3348,X3i16 stepsI,T4964,X4i16 steps+ABCDABCDABCDABCDCVq12832Yq512CVq+1128单个单个 512-bit 分组的分组的MD5 处理过程处理过程+ is mod 232韧宝箱惩维诅虚汕遮凌糕附盈多祥睛政参殊琳帛勃荆版步缆昧刘烘粉魄塔第11章认证理论与技术1第11章认证理论与技术1MD5 压缩函数压缩函数每一轮包含对缓冲区每一轮包含对缓冲区ABCD的的16步操作所组成的一个步操作所组成的一个序列。序列。ab + ( a + g(b,c,d) + Xk +Ti)s)其中,其中,a,b,c,d = 缓冲区的四个字,以一个给定的

35、次序排列缓冲区的四个字,以一个给定的次序排列;g = 基本逻辑函数基本逻辑函数F,G,H,I之一;之一;s = 对对32位字循环左移位字循环左移s位位Xk = Mq 16 + k = 在第在第q个个512位数据块中的第位数据块中的第k个个32位字位字Ti = 表表T中的第中的第i个个32位字;位字;+ = 模模 232的加;的加;硒翌摊透厄甩色振登认尽琴暖给念稗娄缴恫镑漂汾赡函峡庐胁社靖徽枕屠第11章认证理论与技术1第11章认证理论与技术1逻辑函数的真值表逻辑函数的真值表b c d F G H I0 0 0 0 0 0 10 0 1 1 0 1 00 1 0 0 1 1 00 1 1 1 0

36、0 11 0 0 0 0 1 11 0 1 0 1 0 11 1 0 1 1 0 01 1 1 1 1 1 0窑亲涡他酷盏宣职缨挡抉鸦霖出蕴租礼乌厢考裳维蛊张极蜀苏住方当篱谗第11章认证理论与技术1第11章认证理论与技术1ABCDABCD+CLSs+gXkTiFunction g g(b,c,d)1 F(b,c,d) (b c) (b d)2 G(b,c,d) (b d) (c d)3 H(b,c,d) b c d4 I(b,c,d) c (b d)2i = (1+5i) mod 163i = (5+3i) mod 164i = 7i mod 16基本基本MD5操作操作(单步单步)却啪煌直削宛

37、沾佐滚叛博吨效林翠肤芭轧辜瘦刻惰摸渝岗烦杭涡秉枚逼波第11章认证理论与技术1第11章认证理论与技术1MD4 (1990年年10月作为月作为RFC1320发表发表) by Ron Rivest at MITMD4的设计目标的设计目标安全性:安全性:速度:速度:32位体系结构下计算速度快位体系结构下计算速度快.简明与紧凑:易于编程简明与紧凑:易于编程.有利的小数在前的结构有利的小数在前的结构(Intel 80xxx, Pentium )MD4与与MD5的区别的区别MD4用用3轮轮,每轮每轮16 步步,MD5用用4轮轮,每轮每轮16步步.MD4中第一轮没有常量加;中第一轮没有常量加;MD5中中64步

38、每一步每一步用了一个不同的常量步用了一个不同的常量 Ti;MD5用了四个基本逻辑函数,每轮一个;用了四个基本逻辑函数,每轮一个;MD4用了三个用了三个.MD5每轮加上前一步的结果;每轮加上前一步的结果;MD4没有没有.婉姓箭他刽簇掌筹封拘狞慑善止鲜叁括败犊来苑帜钒戚愚绷闭崎俯睁鄙峨第11章认证理论与技术1第11章认证理论与技术1SHA-1 算法逻辑算法逻辑n输入:最大长度为输入:最大长度为264位的消息;位的消息;n输出:输出:160位消息摘要;位消息摘要;n处理:输入以处理:输入以512位数据块为单位处理;位数据块为单位处理;SHA由美国国家标准技术研究所由美国国家标准技术研究所NIST开发

39、,作为联邦开发,作为联邦信息处理标准信息处理标准于于1993年发表(年发表(FIPS PUB 180),),1995年修订,作为年修订,作为SHA-1(FIPS PUB 180-1),SHA-1基于基于MD4设计。设计。滑否渴蜀化腔肮铺芯井抗逐母扩佬吠潮偿咒禾撞掺只晰盘充并溃读江白玛第11章认证理论与技术1第11章认证理论与技术1SHA-1 算法描述算法描述步骤步骤1:添加填充位添加填充位(一个一个1 和若干个和若干个0)。在。在消息的最后添加适当的填充位使得数据位的消息的最后添加适当的填充位使得数据位的长度满足长度满足length 448 mod 512。步骤步骤2:添加长度添加长度。一个。

40、一个64位块,表示原始位块,表示原始消息长度,消息长度,64位无符号整数。位无符号整数。 步骤步骤3:初始化初始化MD缓冲区缓冲区。一个。一个160位位MD缓冲区用以保存中间和最终缓冲区用以保存中间和最终Hash函数的结函数的结果。它可以表示为果。它可以表示为5个个32位的寄存器位的寄存器(A,B,C,D,E)。肢革断锚蝉党阀佣锰迄捞捆桅榆粳寥突择橱悉铸拾页血芦烧把拘汰搏闰网第11章认证理论与技术1第11章认证理论与技术1初始化为:初始化为:A = 67452301B = EFCDAB89C = 98BADCFED = 10325476E = C3D2E1F0前四个与前四个与MD5相同,但存储

41、为大数在前的形式相同,但存储为大数在前的形式.步骤步骤4:以:以512位数据块为单位位数据块为单位处理消息处理消息。四轮,。四轮,每轮每轮20步。四个基本逻辑函数:步。四个基本逻辑函数:f1,f2,f3,f4步骤步骤5:输出输出。全部。全部L个个512位数据块处理完毕后,位数据块处理完毕后,输出输出160位消息摘要。位消息摘要。洛瞒叮抵搜浊卸分龟豆抿慷郧爹疫廓逛水亡稚支有砒宋障羽送沦椒版哟挞第11章认证理论与技术1第11章认证理论与技术1CV0 = IVCVq+1 = SUM32(CVq, ABCDEq)MD = CVL其中:其中:IV = ABCDE的初始值;的初始值; ABCDEq对第对第

42、q轮消息数据块处理最轮消息数据块处理最后一轮所得的结果;后一轮所得的结果; L = 数据块的个数数据块的个数 SUM32 = 对每一个输入对的字求加对每一个输入对的字求加模模232 MD = 最后的消息摘要值。最后的消息摘要值。臼少柳坟上舶坟什舜在蚌饱乘斌庶刊害恋习纽宪舞垣默勘陡梯屯控琵蛹赃第11章认证理论与技术1第11章认证理论与技术1ABCDABCD+ftEES5WtKtS30基本基本SHA操作操作(单步单步)丑珐钮芽焰蝗尊她剔琢献篱邯行源盆掘擂挖挣收胞筏仁泞倍嘎寡们猩箍累第11章认证理论与技术1第11章认证理论与技术1SHA-1 压缩函数压缩函数A,B,C,D,E (E + f(t,B,

43、C,D)+S5(A) +Wt + Kt),A,S30(B),C,D其中,其中,A,B,C,D,E = 缓冲区的缓冲区的5个字;个字;t = 步数,步数,0= t = 79;f(t,B,C,D) = 步步t的基本逻辑函数;的基本逻辑函数;Sk = 循环左移循环左移k位给定的位给定的32位字;位字;Wt = 一个从当前一个从当前512数据块导出数据块导出的的32位字;位字;Kt = 一个用于加法的常量,四一个用于加法的常量,四个不同的值,如前所述个不同的值,如前所述+ = 加模加模232。酚铂盲躬酞潭剖嵌媚煮毒掐婶防涎世灯屋窒中嚣奴省证胸振居馏爪米阴疾第11章认证理论与技术1第11章认证理论与技术

44、1f1,K,W01920 stepsf2,K,W203920 stepsf3,K,W405920 stepsf4,K,W607920 steps+ +ABCEAEAEAECVq16032Yq512CVq+1160SHA-1 Processing ofa single 512-bit block+ is mod 232DBCDBCDBCD+撩嘲竖骸浪捶鲜杰债拇琼重拄述澳审衫嘶噪掘靳流链吃甜射开融佬戈悸祝第11章认证理论与技术1第11章认证理论与技术1StepFunction NameFunction Value(0 t 19)f1 = f(t,B,C,D)(B C) (B D)(20 t 39)

45、f2 = f(t,B,C,D) B C D(40 t 59)f3 = f(t,B,C,D) (B C) (B D) (C D)(60 t 79)f4 = f(t,B,C,D) B C DWt = S1(Wt-16 Wt-14 Wt-3 )Yq512bitsW0W1W15W16 S1XORW0 W2 W8 W13Wt S1XORWt-16 Wt-14 Wt-8 Wt-3W79 S1XORW63 W65 W71 W76卸鞘围彤限榆茎舵溪钒网糜抬仪侵泣涨吹绒限葱真更姑酵撞额惑挺提房频第11章认证理论与技术1第11章认证理论与技术1RIPEMD-160n输入:任意长度的消息输入:任意长度的消息n输出:

46、长度为输出:长度为160位的消息摘要位的消息摘要n处理:以处理:以512位数据块为单位位数据块为单位欧洲欧洲RACE Integrity Primitives Evaluation(RIPE) Project.最早为最早为128位位RIPEMD,后改进成为后改进成为160位消息摘要。位消息摘要。初他争诞加捕足肩研搏泼鞋炊迷摘码珍示换狼今榆围育忘裔核射痴雁仑复第11章认证理论与技术1第11章认证理论与技术1RIPEMD-160 Logic步骤步骤1:添加填充位。:添加填充位。100,满足,满足length 448 mod 512步骤步骤2:添加长度。:添加长度。64位无符号整数,位无符号整数,l

47、ittle-endian步骤步骤3:初始化:初始化MD缓冲区。缓冲区。A = 67452301B = EFCDAB89C = 98BADCFED = 10325476E = C3D2E1F0步骤步骤4:处理:处理512位消息数据块(位消息数据块(16字)。字)。10轮,每轮轮,每轮16步;步;基本逻辑函数:基本逻辑函数:f1,f2,f3,f4,f5彻换场略侈箱冒茎较喧硅盼躇稿零甄舍菩钨渝木融索锅鸽军细志晚腐襄疵第11章认证理论与技术1第11章认证理论与技术1比较比较: MD5SHA-1RIPEMD-160摘要长度摘要长度 128位位160位位160位位基本处理单位基本处理单位 512位位512

48、位位512位位步数步数 64(4 of 16)80(4 of 20)160(5 paired of 16)最大消息长度最大消息长度 无限无限264-1位位264-1位位基本逻辑函数基本逻辑函数 445加法常数加法常数 6449Endianness Little-endianBig-endianLittle-endian性能性能 32.4 Mbps14.4Mbps13.6MbpsHttp:/ (RFC 2104)n基于基于hash函数的消息认证码(函数的消息认证码(MAC)nMAC for IP securitynSSL狰连推匡但签邑刘表滁湿壹禹道批晦挥才誉扁咨胺姥沂彭戌谤撅伯滚亥疾第11章认证

49、理论与技术1第11章认证理论与技术1HMAC算法算法H = 嵌入嵌入Hash函数(函数(MD5,SHA-1,RIPEMD-160)M = 消息(包括消息(包括Hash函数所需填充位)函数所需填充位)Yi = M的第的第i 个数据块,个数据块,0 i L-1L = M的数据块数的数据块数b = 数据块的位数数据块的位数n = 嵌入嵌入Hash函数产生的函数产生的Hash码长度位数码长度位数K = 保密密钥。如果密钥长度大于保密密钥。如果密钥长度大于b,则密钥送入则密钥送入Hash函数函数 形成一个形成一个n位的密钥;推荐程度大于等于位的密钥;推荐程度大于等于nK+ = K在左部添加在左部添加0使得其长度为使得其长度为b位位ipad = 00110110重复重复 b/8次次opad = 01011010重复重复b/8次次HMACK = HK+ opad) | H(K+ ipad)| M样欣钮哎纹撞驰幽轴秀队衫斗兼苇六殿劳搜酝戌众织褪候种冠被煌都突惠第11章认证理论与技术1第11章认证理论与技术1HMAC的结构歹垣渡恳笋心祷蝶征奈协鳞贱汛稍断泰省钙助陷球衙极琳阐鲜尹禄洗炔迎第11章认证理论与技术1第11章认证理论与技术1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号