全部科目 > 系统分析师 >
2011年上半年 上午试卷 综合知识
第 67 题
知识点 安全杂凑算法   报文摘要   报文摘要算法   摘要  
关键词 报文摘要算法   报文   算法  
章/节 数据安全和保密,加密与解密机制  
 
 
下列选项中,同属于报文摘要算法的是(67)。
 
  A.  DES和MD5
 
  B.  MD5和SHA-1
 
  C.  RSA和SHA-1
 
  D.  DES和RSA
 
 




 
 
相关试题     数据安全与保密 

  第7题    2013年上半年  
利用报文摘要算法生成报文摘要的目的是(7)。

  第9题    2019年上半年  
用户A从CA获取了自己的数字证书,该数字证书中包含为证书进行数字签名的(8)和(9)

  第6题    2016年上半年  
用户乙收到甲数字签名后的消息M,为验证消息的真实性,首先需要从CA获取用户甲的数字证书,该数字证书中包含(6),并利用(7)验证该证书的真伪,然后利用(8)验证M的真实性。

 
知识点讲解
· 安全杂凑算法
· 报文摘要
· 报文摘要算法
· 摘要
 
        安全杂凑算法
        所谓杂凑算法,就是用散列(Hash)函数(哈希函数、杂凑函数)进行数据的加密。单向Hash函数提供了这样一种计算过程:输入一个长度不固定的字符串,返回一串定长的字符串,这个返回的字符串称为消息摘要(Message Digest, MD),也称为Hash值或散列值。Hash函数主要可以解决以下两个问题:在某一特定的时间内,无法查找经Hash操作后生成特定Hash值的原报文;也无法查找两个经Hash操作后生成相同Hash值的不同报文。这样在数字签名中就可以解决验证签名和用户身份验证、不可抵赖性的问题。
               消息摘要算法
               消息摘要算法(Message Digest algorithm 5, MD5),用于确保信息传输完整一致,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的消息摘要。
               对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
               安全散列算法
               安全散列算法(Secure Hash Algorithm, SHA)能计算出一个数字信息所对应到的,长度固定的字符串(消息摘要),其对长度不超过264位的消息产生160位的消息摘要。SHA是FIPS所认证的五种安全杂凑算法之一。这些算法之所以称作“安全”是基于以下两点:由消息摘要反推原输入信息,从计算理论上来说是很困难的;想要找到两组不同的信息对应到相同的消息摘要,从计算理论上来说也是很困难的;任何对输入信息的变动,都有很高的概率导致其产生的消息摘要不同。
               SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,由美国国家安全局所设计,并由美国国家标准与技术研究院发布,是美国的政府标准。后四者有时并称为SHA-2。SHA-1在许多安全协议中广为使用,包括TLS(Transport Layer Security,传输层安全协议)和SSL(Secure Sockets Layer,安全套接字层)、PGP(Pretty Good Privacy)、SSH(Secure Shell,安全外壳)、S/MIME(Secure/Multipurpose Internet Mail Extensions,安全/多功能Internet邮件扩展)和IPSec(Internet Protocol Security,IP协议安全性)等,曾被视为是MD5的后继者。
               MD5和SHA-1算法都已经被我国山东大学王小云教授的研究小组破解。
 
        报文摘要
        用于差错控制的报文检验是根据冗余位检查报文是否受到信道干扰的影响,与之类似的报文摘要方案是计算密码校验和,即固定长度的认证码,附加在消息后面发送,根据认证码检查报文是否被篡改。设M是可变长的报文,K是发送者和接收者共享的密钥,令MD=CKM),这就是算出的报文摘要(Message Digest),如下图所示。由于报文摘要是原报文唯一的压缩表示,代表了原来报文的特征,所以也叫做数字指纹(Digital Fingerprint)。
        
        报文摘要方案
        散列(Hash)算法将任意长度的二进制串映射为固定长度的二进制串,这个长度较小的二进制串称为散列值。散列值是一段数据唯一的、紧凑的表示形式。如果对一段明文只更改其中的一个字母,随后的散列变换都将产生不同的散列值。因为要找到散列值相同的两个不同的输入在计算上是很困难的,所以数据的散列值可以检验数据的完整性。
        通常的实现方案是对任意长的明文M进行单向散列变换,计算固定长度的位串作为报文摘要。对Hash函数h=HM)的要求如下:
        (1)可用于任意大小的数据块。
        (2)能产生固定大小的输出。
        (3)软/硬件容易实现。
        (4)对于任意m,找出x,满足Hx)=m,是不可计算的。
        (5)对于任意x,找出yx,使得Hx)=Hy),是不可计算的。
        (6)找出(xy),使得Hx)=Hy),是不可计算的。
        前3项要求显而易见是实际应用和实现的需要。第4项要求就是所谓的单向性,这个条件使得攻击者不能由偷听到的m得到原来的x。第5项要求是为了防止伪造攻击,使得攻击者不能用自己制造的假消息y冒充原来的消息x。第6项要求是为了对付生日攻击的。
        报文摘要可以用于加速数字签名算法,在下图中,BB发给B的报文中报文P实际上出现了两次,一次是明文,一次是密文,这显然增加了传送的数据量。如果改成下图所示的报文,KBB(A,t,P)减少为MDP),则传送过程可以大大加快。
        
        报文摘要的例子
 
        报文摘要算法
        MD5是MIT的Ron Rivest(RFC 1321)提出的。算法以任意长的报文作为输入,算法的输出是产生一个128位的报文摘要。输出的摘录用4个字d0d1、d2、d3表示,在计算开始时分别初始化为常数,然后一直参与算法,其值不断被改编,直到作为最后结果输出。
        最初值:d0=01234567H,d1=89abcdefH,d2=fedcba98H,d3=76543210H。
        输入报文首先被填充,使其成为16的倍数,然后被分成512bit的等长块,逐块处理。每块处理分4遍扫描,在每遍扫描时对d0d1、d2、d3使用不同的扰乱函数。扰乱函数将报文的分组和相应di进行函数运算,这样每遍扫描将每个d0d1、d2、d3报文内容进行了更新。在处理前将当前摘录备份,在处理后将这个备份加到新产生的信息摘录上,并将其作为下一块处理时的摘录当前值。最后一块信息处理之后的信息摘录d0d1d2、d3当前值,即为最终的信息摘录值。
        扰乱函数计算使用了取整、二进制求补、二进制与运算、二进制或运算、半加运算、二进制加运算和循环左移运算等。
 
        摘要
        摘要说明所设计的系统的名称、目标和功能。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有