报 文 鉴 别计算机技术.pptxVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
网络安全与管理报 文 鉴 别1.1 报文鉴别的概念和一般实现方法数据加密主要防止的是被动攻击,而报文鉴别的目的是保护数据不受主动攻击,也就是保护数据的完整性。数据即使被非法用户改变了或者数据是攻击者伪造的,数据的使用者也能发现。报文鉴别的主要方式有以下几种。1.报文加密函数2.报文鉴别码3.散列函数1.2 散列函数散列函数又称Hash函数、单向函数,它将任意长度的报文M变换成固定长度的散列值(即报文摘要)h,散列函数表示为: h = H(M)它生成报文所独有的“指纹”。如果原始报文改变,再次通过散列函数时,它将生成不同的散列值,因此散列函数能用来检测报文的完整性,保证报文从建立开始到收到始终没有被改变或破坏。收到报文的接收者,使用同样的散列函数对报文重新计算散列值,并与收到的散列值相比较。如果相同,则证明报文在传输过程中没有被修改,否则报文是不可信的。 散列函数必须具备如下特征:(1)对于不同的报文不能产生相同的散列值,改变原始报文中的任意一位数值将产生完全不同的散列值。(2)对于任意一个报文无法预知它的散列值。(3)无法根据散列值倒推报文,因为一条报文的散列值可能是由无数的报文产生的。(4)散列算法是公开的,不需要保密,它的安全性来自它产生单向散列的能力。(5)散列值有固定的长度,一个短报文的散列与一个非常长的报文的散列可以产生相同长度的散列值。(6)要找到两个不同报文产生相同的散列值在计算上是不可行的。1.3 报文摘要MD5MD表示报文摘要(message digest),MD5是MD4的改进版,是由Ron Rivest在麻省理工学院提出的,曾是使用最广泛的散列算法。该算法对输入任意长度的报文进行计算,以512bit的分组进行处理,产生一个128位长度的报文摘要。MD5算法的实现要经过以下5个步骤。1.附加填充比特通过附加填充比特,使其长度成为一个比512的倍数小64的数,即将报文扩展至L×512-64(L为正整数)位,留出64位在步骤2使用。填充方法为:在报文后面填充一位1,然后填充所需数量的0。即使原始报文长度已经满足比512的倍数小64,仍然要进行填充。即最少要填充1位,最多填充512位。2.附加长度值用步骤1留出的64位填充报文的原始长度。当原始长度大于264时(即使现在看来,几乎不会出现这种情况),用消息长度模264之后的值填充。这时,填充之后的报文长度恰好是512的整数倍(如512的L倍)。把扩展后的消息以512位为一组进行分组,可以分为L组,表示为Y0,Y1,Y2,…,YL-1。3.初始化MD缓存器在MD5算法中,需要一个128位的缓存器,用来存放中间结果和最终结果。这个缓存器由4个32位寄存器A、B、C、D表示。这4个寄存器的初始值(十六进制,按低位字节在前的顺序存放)为:4.处理512位的分组这一步骤为MD5的主循环,如图7-10所示。每次主循环处理一个512位的分组,处理L个分组总共要进行L次循环。第q(q=0,1,…,L-1)次循环是以当前正在处理的512位分组Yq和128位的缓存值ABCD为输入,然后更新缓存值ABCD的内容,作为下一次主循环的缓存值的输入。当q=0时,输入的ABCD正好是初始化的缓存值。每次主循环共包含4圈主操作,每圈主操作又包含16轮迭代运算,即每次主循环总共包括64轮迭代运算。某一轮运算的过程如图7-11所示。MD5主循环处理图7-10 MD5主循环处理MD5某一轮的运算操作图7-11 MD5某一轮的运算操作(1)i表示第i轮操作,i取值范围为0~63。(2)g函数 表7-10 g函数g函数的输入值为B、C、D。共有4圈主操作,每圈主操作使用的g函数不同,如表7-10所示。 (3)X[i] X[i]是由输入的512位的分组Yq得出的。把512位的分组以32位为一组,分为16组,表示为M[0],M[1],M[2],…,M[15]。X[i]就是由M[i]通过运算得出的,每一的轮X[i]如表7-11所示。 每一轮的X[i]表7-11 每一轮的X[i](4)T[i] T[i]为232*abs[sin(i+1)]的整数部分值(0≤i≤63),其中abs表示取绝对值。运算时,要转换为二进制数,不够32位,前面用0填充。(5)<<<S 表7-12 每一轮循环左移的位数表示循环左移S位,每一轮左移的位数S见表7-12。 5.输出对所有的512位分组运算完之后,由A、B、C、D四个寄存器的输出按位低字节在前的顺序(即以A的低字节开始、D的高字节结束)得到的值即为所求出的128位的报文摘要。以上就是对MD5算法的描述。MD5算法的运算均为基本运算,易于用硬件实现,可以达到较高的运算速度。1.4 安全散列算法SHA是美国国家标准技术研究院和NSA共同设计的安全散列算法(secure has

文档评论(0)

151****7975 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

认证主体王**

1亿VIP精品文档

相关文档

相关课程推荐