章认证理论与技术

上传人:仙*** 文档编号:230323631 上传时间:2023-08-23 格式:PPT 页数:57 大小:399.50KB
收藏 版权申诉 举报 下载
章认证理论与技术_第1页
第1页 / 共57页
章认证理论与技术_第2页
第2页 / 共57页
章认证理论与技术_第3页
第3页 / 共57页
资源描述:

《章认证理论与技术》由会员分享,可在线阅读,更多相关《章认证理论与技术(57页珍藏版)》请在装配图网上搜索。

1、章认证理论与技术 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望11.1认证与认证系统认证与认证系统认证认证(Authentication)是防止主动攻是防止主动攻击的重要技术击的重要技术,对开发系统安全性有重对开发系统安全性有重要作用要作用.n认证的主要目的认证的主要目的实体认证实体认证(发送者非冒充发送者非冒充)消息认证消息认证(验证信息的完整性验证信息的完整性)11.1认证与认证系统认证与认证系统(Cont.)n网络环境中的攻击网络环境中的攻击(认证的需求认

2、证的需求)1.泄漏泄漏2.通信量分析通信量分析3.伪装伪装(假报文假报文)4.内容篡改内容篡改(插入插入,删除删除,调换和修改调换和修改)5.序号篡改序号篡改(报文序号的修改报文序号的修改)6.计时篡改计时篡改(报文延迟或回放报文延迟或回放)7.抵赖抵赖(否认收或发某报文否认收或发某报文)1,2加密加密,36报文认证报文认证,7数字签名数字签名(36)保密和认证同时是信息系统安全的两个方面,但它保密和认证同时是信息系统安全的两个方面,但它们是两个不同属性的问题,认证不能自动提供保密性,们是两个不同属性的问题,认证不能自动提供保密性,而保密性也不能自然提供认证功能。一个纯而保密性也不能自然提供认

3、证功能。一个纯认证系统认证系统认证系统认证系统的的模型如下图所示:模型如下图所示:窜扰者信宿信源认证编码器认证译码器信道信道安全信道密钥源11.1认证与认证系统认证与认证系统n三类产生认证码的函数三类产生认证码的函数报文加密报文加密以整个报文的密文为认证码以整个报文的密文为认证码;报文认证码报文认证码(MAC)是报文和密钥的公共函数,产生一个定长是报文和密钥的公共函数,产生一个定长值作为认证码值作为认证码;Hash函数函数一个将任意长度的报文映射为定长的一个将任意长度的报文映射为定长的Hash值值的公共函数的公共函数,以以Hash值作为认证码值作为认证码;11.2报文加密提供认证报文加密提供认

4、证n常规加密常规加密问题问题:如果报文是任意比特的组合如果报文是任意比特的组合,接收方接收方没有自动的方法确定报文的合法性没有自动的方法确定报文的合法性.解决方案解决方案:强调明文的某种结构强调明文的某种结构,这种结构这种结构是易于识别但不能复制且无需加密的是易于识别但不能复制且无需加密的.对称加密与认证的关系对称加密与认证的关系A-B:E(K,M)n提供保密提供保密(仅仅A和和B共享密钥共享密钥K)n提供一定程度的认证提供一定程度的认证仅来自仅来自A传输中不会被更改传输中不会被更改需要某种结构或冗余需要某种结构或冗余n不提供签名不提供签名接收者可以伪造报文接收者可以伪造报文发送者可以否认报文

5、发送者可以否认报文下图的通信双方,用户下图的通信双方,用户A为发信方,用户为发信方,用户B为接收方。用户为接收方。用户B接收到信息后,通过解密来接收到信息后,通过解密来判决信息是否来自判决信息是否来自A,信息是否是完整的,有无信息是否是完整的,有无窜扰。窜扰。信源信源信宿信宿MEEk(M)DMA方方B方方kkDk(Ek(M)常规加密:具有机密性,可认证常规加密:具有机密性,可认证11.2报文加密提供认证报文加密提供认证(Cont.)n公开密钥加密公开密钥加密发送方用自己的私钥加密报文发送方用自己的私钥加密报文,接收方用发接收方用发送方的公钥解密送方的公钥解密(与对称密钥加密原理相与对称密钥加密

6、原理相同同,需要某种特定报文结构需要某种特定报文结构).该方案不提供该方案不提供加密加密.发送方先用自己的密钥加密以提供认证发送方先用自己的密钥加密以提供认证,然然后使用接收方公钥加密提供保密性后使用接收方公钥加密提供保密性.缺点是缺点是效率不高效率不高.公开密钥加密与认证的关系公开密钥加密与认证的关系nA-B:E(KUb,M)提供保密提供保密(仅仅B能解密能解密)不提供认证不提供认证nA-B:E(KRa,M)提供认证和签名提供认证和签名(仅有仅有A可加密可加密,需要某种结需要某种结构和冗余构和冗余,任何一方均能验证签名任何一方均能验证签名)nA-B:E(KUb,E(KRa,M)可提供保密可提

7、供保密可提供认证和签名可提供认证和签名KUb(B方的方的公钥公钥)MEEKUb(M)DMA方方B方方KRb(1)公钥加密:具有机密性公钥加密:具有机密性MEE KRa(M)DMA方方B方方KRaKUb(2)公钥加密:认证和签名公钥加密:认证和签名MEEkRa(M)EEKUb(EkRa(M)A方方KRaKUbDEkRa(M)DMB方方KRbKUa(3)公钥加密:机密性,可认证和签名公钥加密:机密性,可认证和签名11.3 报文认证码报文认证码(MAC)n认证码认证码(MAC,也称密码检验和也称密码检验和)对选定报文对选定报文,使用一个密钥使用一个密钥,产生一个短小的产生一个短小的定长数据分组定长数

8、据分组,称认证码称认证码,并将它附加在报文并将它附加在报文中中,提供认证功能提供认证功能.(MAC=Ck(M),其中其中M是是可变长的报文可变长的报文,K是共享密钥是共享密钥,Ck(M)是定长是定长的认证码的认证码.)n应用认证码应用认证码,如果只有收发方知道密钥如果只有收发方知道密钥,同时收到的同时收到的MAC与计算得出的与计算得出的MAC匹配匹配:确认报文未被更改确认报文未被更改;确信报文来自所谓的发送者确信报文来自所谓的发送者;如果报文包含序号如果报文包含序号,可确信该序号的正确性可确信该序号的正确性;11.3 报文认证码报文认证码(Cont.)n报文认证码的基本用法报文认证码的基本用法

9、1A-B:M|Ck(M)提供认证提供认证,因仅因仅A和和B共享共享K;CMMCk(M)KCK比较比较源点源点终点终点11.3 报文认证码报文认证码(Cont.)n报文认证码的基本用法报文认证码的基本用法2A-B:Ek2(M|Ck1(M)提供认证提供认证,因仅因仅A和和B共享共享K1;提供保密提供保密,因仅因仅A和和B共享共享K2;CMEk2(M|Ck1(M)K1CK1比较比较源点源点终点终点EK2DK2Ck1(M)11.3 报文认证码报文认证码(Cont.)n报文认证码的基本用法报文认证码的基本用法3A-B:Ek2(M)|Ck1(Ek2(M)提供认证提供认证,因仅因仅A和和B共享共享K1;提供

10、保密提供保密,因仅因仅A和和B共享共享K2;CMCk1(Ek2(M)K1CK2比较比较源点源点终点终点EK2DK1Ek2(M)M11.3 报文认证码报文认证码(Cont.)n为什么使用报文认证为什么使用报文认证(而不是用常规加密而不是用常规加密)适用于报文广播适用于报文广播(并不需要每个点都有密钥并不需要每个点都有密钥);报文加密解密的工作量比较大报文加密解密的工作量比较大;某些应用不关心报文的保密而只关心报文的某些应用不关心报文的保密而只关心报文的真实性真实性;认证函数与保密函数的分离能提供结构上的认证函数与保密函数的分离能提供结构上的灵活性灵活性(认证与保密可在网络协议的不同层认证与保密可

11、在网络协议的不同层次进行次进行).认证码可延长报文的保护期限认证码可延长报文的保护期限,同时能处理同时能处理报文内容报文内容(使用加密使用加密,当报文解密后当报文解密后,保护就保护就失效了失效了).11.3 报文认证码报文认证码(Cont.)n注意注意认证函数类似加密函数认证函数类似加密函数,但它是不可逆的但它是不可逆的,这这个性质使其比加密函数更难破解个性质使其比加密函数更难破解;认证函数并不提供数字签名认证函数并不提供数字签名;n认证码的信息论认证码的信息论*G.J.Simmons发展的认证系统的信息发展的认证系统的信息理论理论,类似保密系统的信息理论类似保密系统的信息理论,也是也是将信息

12、论用于研究认证系统的理论安将信息论用于研究认证系统的理论安全性和实际安全性问题全性和实际安全性问题,指出认证系统指出认证系统的性能极限以及设计认证码必须遵循的性能极限以及设计认证码必须遵循的原则的原则,是研究认证问题的理论基础是研究认证问题的理论基础.11.3 报文认证码报文认证码(Cont.)nMAC函数应有如下性质函数应有如下性质(攻击者没有攻击者没有K):有有M和和Ck(M),试图生成试图生成M,使得使得Ck(M)=Ck(M),这在计算上不可行这在计算上不可行;Ck(M)应能均匀分布应能均匀分布;对于随机选取的报文对于随机选取的报文M和和M,Ck(M)=Ck(M)的概率为的概率为2-n其

13、中其中n 为为 MAC的比特长度的比特长度;(抗选择明文攻击抗选择明文攻击)报文报文M为为M的某种已知代换的某种已知代换,即即M=f(M),则则Ck(M)=Ck(M)的概率为的概率为2-n.11.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)

14、A-B:M|Ek(H(M)提供认证提供认证(加密保护加密保护 H(M)(c)A-B:M|EKRa(H(M)提供认证和数字签名提供认证和数字签名(加密保护加密保护 H(M),且仅且仅A能生成能生成EKRa(H(M)11.4Hash函数函数(Cont.)n使用使用Hash码提供报文认证的方式码提供报文认证的方式(续续.)(d)A-B:Ek(M|EKRa(H(M)提供认证和数字签名提供认证和数字签名提供保密提供保密(仅仅A和和B共享共享K)(e)A-B:M|H(M|S)提供认证提供认证(S是通信双方共享的一个秘密值是通信双方共享的一个秘密值,仅仅A和和B共享共享S)(f)A-B:Ek(M|H(M|S

15、)提供认证和数字签名提供认证和数字签名(仅仅A和和B共享共享S)提供保密提供保密(仅仅A和和B共享共享K)11.4 Hash函数函数(Cont.)n为什么要避免加密的方法为什么要避免加密的方法?(见方法见方法(e)加密软件慢加密软件慢;加密硬件开销不可忽略加密硬件开销不可忽略;加密硬件是针对大长度数据进行优化加密硬件是针对大长度数据进行优化的的(换而言之换而言之,对小数据分组加密开销对小数据分组加密开销大大);加密算法可能受专利保护加密算法可能受专利保护;加密算法易遭美国政府的出口限制加密算法易遭美国政府的出口限制;11.4 Hash函数函数(Cont.)nHash函数的需求函数的需求H能用于

16、任何大小的数据分组能用于任何大小的数据分组;H产生定长输出产生定长输出;对任意给定的对任意给定的x,H(x)要相对易于计算要相对易于计算,使得使得软硬件实现都实际可行软硬件实现都实际可行;对任意给定的码对任意给定的码h,寻求寻求x使得使得H(x)=h在计算在计算上是不可行的上是不可行的(单向性单向性);任意给定分组任意给定分组x,寻求不等于寻求不等于x的的y,使得使得H(y)=H(x)在计算上不可行在计算上不可行(弱抗攻击性弱抗攻击性);寻求对任何的寻求对任何的(x,y)对使得对使得H(x)=H(y)在计算在计算上不可行上不可行(强抗攻击性强抗攻击性);11.4 Hash函数函数(Cont.)

17、n简单的简单的Hash函数函数每个分组按比特异或每个分组按比特异或:Ci=bi1 bi2 .bim其中其中,Ci是第是第i个比特的个比特的Hash码码,1 i n;m是输入的是输入的n比特分组数比特分组数;bij是第是第j分组的第分组的第i比特比特;(简单的奇偶校验简单的奇偶校验)针对应用中的可预测数据格式针对应用中的可预测数据格式,提出如下提出如下改进方案改进方案:11.4 Hash函数函数(Cont.)n简单的简单的Hash函数的改进方案函数的改进方案先将先将n比特的比特的Hash值设置为值设置为0;按如下方式依次处理数据分组按如下方式依次处理数据分组:将当前的将当前的Hash值循环左移一

18、位值循环左移一位.将数据分组与将数据分组与Hash值异或形成新的值异或形成新的Hash值值.这将起到输入数据完全随机化的效果这将起到输入数据完全随机化的效果,并且并且将输入中的数据格式掩盖掉将输入中的数据格式掩盖掉.11.4 Hash函数函数(Cont.)n生日攻击生日攻击(基于生日悖论基于生日悖论)在在k个人中个人中,找一个与某人生日相同的人的找一个与某人生日相同的人的概率超过概率超过0.5时时,只需只需k183;而在此人群中而在此人群中,至少有两个人生日相同的概率超过至少有两个人生日相同的概率超过0.5,只需只需k23.第第12章章 Hash算法算法nMD5和和MD4n安全安全Hash算法

19、算法SHAnRIPEMD-160nHMACbY0nIV=CV0fbY1nfbYL-1nCVL-1fCV1nnIV =初始值初始值CV=链接值链接值Yi =第第i 个输入数据块个输入数据块f =压缩算法压缩算法n =Hash码的长度码的长度b =输入块的长度输入块的长度安全安全Hash算法的一般结构算法的一般结构CVLCV0=IV=initial n-bit valueCVi=f(CVi-1,Yi-1)(1 i L)H(M)=CVLMD5 算法算法n输入:任意长度的消息输入:任意长度的消息n输出:输出:128位消息摘要位消息摘要n处理:以处理:以512位输入数据块为单位位输入数据块为单位MD5(

20、RFC 1321)was developed by Ron Rivest(“R”of the RSA)at MIT in 90s.报文报文K bitsL 512 bits=N 32bits报文长度报文长度(K mod 264)填充填充(1 to 512 bits)1000Y0512 bitsY1512 bitsYq512 bitsYL-1512 bitsHMD5IV128HMD5CV1128HMD5CVq128HMD5CVL-1128512512512512128-bit 摘要摘要MD5产生报文摘要的过程产生报文摘要的过程MD5算法描述算法描述步骤步骤1:添加填充位添加填充位(一个一个1 和若

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

22、16,则长度则长度为为N个个32位的字。令位的字。令M0N-1表示以字为单位的消表示以字为单位的消息表示。息表示。MD5算法描述算法描述(Cont.)n步骤步骤3:初始化初始化MD缓冲区缓冲区。一个。一个128位位MD缓冲区用以保存中间和最终缓冲区用以保存中间和最终Hash函函数的结果。它可以表示为数的结果。它可以表示为4个个32位的寄存位的寄存器器(A,B,C,D)。寄存器初始化为以下的寄存器初始化为以下的16进制值。进制值。A=67452301B=EFCDAB89C=98BADCFED=10325476MD5算法描述算法描述(Cont.)n上述值的存储方式为:上述值的存储方式为:Word

23、A:01 23 45 67Word B:89 AB CD EFWord C:FE DC BA 98Word D:76 54 32 10MD5算法描述算法描述(Cont.)n步骤步骤4:处理消息块处理消息块(512位位=16个个32位位字)。压缩函数是本算法的核心字)。压缩函数是本算法的核心(HMD5)。它包括它包括4轮处理。四轮处理具有相似的结轮处理。四轮处理具有相似的结构构,但每次使用不同的但每次使用不同的基本逻辑函数基本逻辑函数,记,记为为F,G,H,I。每一轮以当前的每一轮以当前的512位数据块位数据块(Yq)和和128位缓冲值位缓冲值ABCD作为输入,并作为输入,并修改缓冲值的内容。每

24、次使用修改缓冲值的内容。每次使用64元素表元素表T164中的四分之一中的四分之一.T表表,由,由sin 函数构造而成。函数构造而成。T的第的第i个元素表示为个元素表示为Ti,其值等于其值等于 232 abs(sin(i),其中其中i是弧度。由于是弧度。由于abs(sin(i)是一个是一个0到到1之间的数,之间的数,T的每一个元素是一的每一个元素是一个可以表示成个可以表示成32位的整数。位的整数。T表提供了随机化的表提供了随机化的32位位模板,模板,消除了在输入数据中的任何规律性的特征消除了在输入数据中的任何规律性的特征。T1 =D76AA478T2 =E8C7B756T3 =242070DBT

25、4 =C1BDCEEET16 =49b40821T49 =F4292244T50 =432AFF97T51 =AB9423A7T52 =FC93A039T64 =EB86D391步骤步骤5:输出结果输出结果。所有。所有L个个512位数据块处理完毕后,最位数据块处理完毕后,最后的结果就是后的结果就是128位消息摘要。位消息摘要。CV0=IV CVq+1=SUM32(CVq,RFIYq,RFHYq,RFGYq,RFFYq,CVq)MD=CVL 其中:其中:IV =ABCD的初始值(见步骤的初始值(见步骤3)Yq =消息的第消息的第q个个512位数据块位数据块 L =消息中数据块数;消息中数据块数;

26、CVq =链接变量,用于第链接变量,用于第q个数据块的处理个数据块的处理 RFx =使用基本逻辑函数使用基本逻辑函数x的一轮功能函数。的一轮功能函数。MD =最终消息摘要结果最终消息摘要结果 SUM32=分别按分别按32位字计算的模位字计算的模232加法结果。加法结果。MD5算法描述算法描述(Cont.)F,T116,Xi16 stepsG,T1732,X2i16 stepsH,T3348,X3i16 stepsI,T4964,X4i16 steps+ABCDABCDABCDABCDCVq12832Yq512CVq+1128单个单个 512-bit 分组的分组的MD5 处理过程处理过程+is

27、mod 232MD5 压缩函数压缩函数每一轮包含对缓冲区每一轮包含对缓冲区ABCD的的16步操作所组成的一个步操作所组成的一个序列。序列。ab+(a+g(b,c,d)+Xk+Ti)s)其中,其中,a,b,c,d =缓冲区的四个字,以一个给定的次序排列缓冲区的四个字,以一个给定的次序排列;g =基本逻辑函数基本逻辑函数F,G,H,I之一;之一;s =对对32位字循环左移位字循环左移s位位Xk =Mq 16+k=在第在第q个个512位数据块中的第位数据块中的第k个个32位字位字Ti =表表T中的第中的第i个个32位字;位字;+=模模 232的加;的加;逻辑函数的真值表逻辑函数的真值表b c d F

28、 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 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 0ABCDABCD+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操作操作(单步单步)MD4(1990年年10月作为月作为RFC1

29、320发表发表)by Ron Rivest at MITMD4的设计目标的设计目标安全性:安全性:速度:速度:32位体系结构下计算速度快位体系结构下计算速度快.简明与紧凑:易于编程简明与紧凑:易于编程.有利的小数在前的结构有利的小数在前的结构(Intel 80 xxx,Pentium)MD4与与MD5的区别的区别MD4用用3轮轮,每轮每轮16 步步,MD5用用4轮轮,每轮每轮16步步.MD4中第一轮没有常量加;中第一轮没有常量加;MD5中中64步每一步每一步用了一个不同的常量步用了一个不同的常量 Ti;MD5用了四个基本逻辑函数,每轮一个;用了四个基本逻辑函数,每轮一个;MD4用了三个用了三个

30、.MD5每轮加上前一步的结果;每轮加上前一步的结果;MD4没有没有.SHA-1 算法逻辑算法逻辑n输入:最大长度为输入:最大长度为264位的消息;位的消息;n输出:输出:160位消息摘要;位消息摘要;n处理:输入以处理:输入以512位数据块为单位处理;位数据块为单位处理;SHA由美国国家标准技术研究所由美国国家标准技术研究所NIST开发,作为联邦开发,作为联邦信息处理标准信息处理标准于于1993年发表(年发表(FIPS PUB 180),),1995年修订,作为年修订,作为SHA-1(FIPS PUB 180-1),SHA-1基于基于MD4设计。设计。SHA-1 算法描述算法描述步骤步骤1:添

31、加填充位添加填充位(一个一个1 和若干个和若干个0)。在。在消息的最后添加适当的填充位使得数据位的消息的最后添加适当的填充位使得数据位的长度满足长度满足length 448 mod 512。步骤步骤2:添加长度添加长度。一个。一个64位块,表示原始位块,表示原始消息长度,消息长度,64位无符号整数。位无符号整数。步骤步骤3:初始化初始化MD缓冲区缓冲区。一个。一个160位位MD缓冲区用以保存中间和最终缓冲区用以保存中间和最终Hash函数的结函数的结果。它可以表示为果。它可以表示为5个个32位的寄存器位的寄存器(A,B,C,D,E)。初始化为:初始化为:A=67452301B=EFCDAB89C

32、=98BADCFED=10325476E=C3D2E1F0前四个与前四个与MD5相同,但存储为相同,但存储为大数在前的形式大数在前的形式.步骤步骤4:以:以512位数据块为单位位数据块为单位处理消息处理消息。四轮,。四轮,每轮每轮20步。四个基本逻辑函数:步。四个基本逻辑函数:f1,f2,f3,f4步骤步骤5:输出输出。全部。全部L个个512位数据块处理完毕后,位数据块处理完毕后,输出输出160位消息摘要。位消息摘要。CV0=IVCVq+1=SUM32(CVq,ABCDEq)MD=CVL其中:其中:IV =ABCDE的初始值;的初始值;ABCDEq对第对第q轮消息数据块处理最轮消息数据块处理最

33、后一轮所得的结果;后一轮所得的结果;L =数据块的个数数据块的个数 SUM32 =对每一个输入对的字求对每一个输入对的字求加加模模232 MD =最后的消息摘要值。最后的消息摘要值。ABCDABCD+ftEES5WtKtS30基本基本SHA操作操作(单步单步)SHA-1 压缩函数压缩函数A,B,C,D,E (E+f(t,B,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位字;位字;

34、Wt =一个从当前一个从当前512数据块导出数据块导出的的32位字;位字;Kt =一个用于加法的常量,四一个用于加法的常量,四个不同的值,如前所述个不同的值,如前所述+=加模加模232。f1,K,W01920 stepsf2,K,W203920 stepsf3,K,W405920 stepsf4,K,W607920 steps+ABCEAEAEAECVq16032Yq512CVq+1160SHA-1 Processing ofa single 512-bit block+is mod 232DBCDBCDBCD+StepFunction NameFunction Value(0 t 19)f1

35、=f(t,B,C,D)(B C)(B D)(20 t 39)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 W76RIPEMD-160n输入:任意长度的消息输入:任意长度的消息n输出:长度为输出:长度为160位的消息摘要位的消息摘要n处理:以处理:以512位数据块

36、为单位位数据块为单位欧洲欧洲RACE Integrity Primitives Evaluation(RIPE)Project.最早为最早为128位位RIPEMD,后改进成为后改进成为160位消息摘要。位消息摘要。RIPEMD-160 Logic步骤步骤1:添加填充位。:添加填充位。100,满足,满足length 448 mod 512步骤步骤2:添加长度。:添加长度。64位无符号整数,位无符号整数,little-endian步骤步骤3:初始化:初始化MD缓冲区。缓冲区。A=67452301B=EFCDAB89C=98BADCFED=10325476E=C3D2E1F0步骤步骤4:处理:处理5

37、12位消息数据块(位消息数据块(16字)。字)。10轮,每轮轮,每轮16步;步;基本逻辑函数:基本逻辑函数:f1,f2,f3,f4,f5比较比较:MD5SHA-1RIPEMD-160摘要长度摘要长度 128位位160位位160位位基本处理单位基本处理单位 512位位512位位512位位步数步数 64(4 of 16)80(4 of 20)160(5 paired of 16)最大消息长度最大消息长度 无限无限264-1位位264-1位位基本逻辑函数基本逻辑函数 445加法常数加法常数 6449Endianness Little-endianBig-endianLittle-endian性能性能

38、 32.4 Mbps14.4Mbps13.6MbpsHttp:/ 2104)n基于基于hash函数的消息认证码(函数的消息认证码(MAC)nMAC for IP securitynSSLHMAC算法算法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)|MHMAC的结构

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!