然后顺序访问结点v的所有未被访问的邻接点{vi,..,vj},并将其标记为已访问过;
然后将{vi,...,vj}中的每一个节点重复节点v的访问方法,直到所有结点都被访问完为止。 具体代码实现时:
我们可以使用一个辅助队列q,首先将顶点v入队,将其标记为已访问,然后循环检测队列是否为空; 如果队列不为空,则取出队列第一个元素,并将与该元素相关联的所有未被访问的节点入队,将这些节点标记为已访问;
如果队列为空,则说明已经按照广度优先遍历了所有的节点。
7.简述DES算法中S-盒的特点
S-盒是DES算法的核心,其功能是把6bit数据变为4bit数据
8.简述AES和DES之间的相同之处
具有良好的非线性,AES的非线性运算是字节代换对应于DES中唯一非线性运算S-盒。
9.画出RSA算法的流程图
10.使用RSA算法时,选择有关参数应该注意哪些问题?
11.在一个使用RSA的公开密钥系统中,如果攻击者截获公开密钥pk=5,公开模数n=35,对密文c=10,解出其明文。 因为公钥n为35,所以你可以很简单的知道两个素数为5和7.
所以按公式可以很简单得到私钥d=19,所以M=C^d(mod n)
M=10^19(mod 35)就可以得到明文。 12.简述RAS算法的优缺点
1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。
2)安全性,RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NP问题。现今,人们已能分解140多个十进制位的大素数,这就要求使用更长的密钥,速度更慢;另外,人们正在积极寻找攻击RSA的方法,如选择密文攻击,一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构: (XM)d = Xd *Md mod n
前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征--每个人都能使用公钥。但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用One-Way Hash Function对文档作HASH处理,或同时使用不同的签名算法。除了利用公共模数,人们还尝试一些利用解密指数或φ(n)等等攻击. 3)速度太慢,由于RSA 的分组长度太大,为保证安全性,n 至少也要 600 bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。SET(Secure Electronic Transaction)协议中要求CA采用2048比特长的密钥,其他实体使用1024比特的密钥。为了速度问题,人们广泛使用单,公钥密码结合使用的方法,优缺点互补:单钥密码加密速度快,人们用它来加密较长的文件,然后用RSA来给文件密钥加密,极好的解决了单钥密码的密钥分发问题。
第三章 信息认证技术
一、选择题
1.身份认证是安全服务中的重要一环,以下关于身份认证的叙述不正确的是(身份认证一般不用提供双向的认证)。 2.数据完整性可以防止以下( 数据中途被攻击者篡改或破坏 )攻击。
3.数字签名要预先使用单向Hash函数进行处理的原因是( 缩小签名密文的长度,加快数字签名和验证签名的运算速度) 4.下列运算中,MD5没有使用到的是( 幂运算 )。 二、填空题
1.MD5和SHA-1产生的散列值分别是 128 位和 160 位。
2.基于哈希链的口令认证.用户登陆后将口令表中的(ID,k-1,Hk-1(PW)替换为(ID.K Hk(PW)) 。
3.Denning-Sacco协议中使用时间戳T的目的是 防止重放攻击对密钥安全性的威胁 。
4.Woo-Lam协议中第6.7步使用的随机数N2的作用是使B确认A已经获得正确的会话密钥。 三、简答题
1.弱抗碰撞性和强抗碰撞性有什么区别?
给定的消息M,要找到另一消息M',满足H(M)=H(M'),在计算上是不可行的,这条性质称为弱抗碰撞性。该性质是
保证无法找到一个替代报文,否则就可能破坏使用哈希函数进行封装或者签名的各种协议的安全性。哈希函数的重要之处就是赋予M唯一的“指纹”。 对于任意两个不同的消息M≠M,它们的散列值不可能相同,这条性质被称为强抗碰撞性。强抗碰撞性对于消息的哈希函数安全性要求更高,这条性质保证了对生日攻击的防御能力
2.什么是消息认证码?
是指使合法的接收方能够检验消息是否真实的过程。消息认证实际上是对消息产生的一个指纹信息——MAC(消息认证),消息认证码是利用密钥对待认证消息产生的新数据块,并对该数据块加密得到的。它对待保护的信息来说是唯一的,因此可以有效地保证消息的完整性,以及实现发送消息方的不可抵赖和不能伪造型
3.比较MD5和SHA-1的抗穷举攻击能力和运算速度。 由于MD5 与SHA-1均是从MD4 发展而来,它们的结构和强度等特性有很多相似之处,表(1)是对MD5 与SHA-1 的结构比较。SHA-1与MD5 的最大区别在于其摘要比MD5 摘要长 32 比特。对于强行攻击,产生任何一个报文使之摘要等于给定报文摘要的难度:MD5 是2128 数量级的操作,SHA-1 是2160 数量级的操作。产生具有相同摘要的两个报