《现代密码学 复习题 答案》由会员分享,可在线阅读,更多相关《现代密码学 复习题 答案(20页珍藏版)》请在金锄头文库上搜索。
1、(一)信息的载体有(媒质)和(信道)。对信息载体的两种攻击为(被动攻击)和(主动攻击)。密码学的两个分支是(密码编码学)和(密码分析学)。密码体制有(单钥密码体质)和(双钥密码体质)。现代流密码的设计思想来源于古典密码中的(维吉尼亚密码)。现代分组密码的设计思想来源于古典密码中的(多字母代换密码)。(二)在信息保密系统中,攻击者Eve所拥有的基本资源有哪些?Eve在不安全的公共信道上截获了密文c。Eve知道加密算法E和解密算法D。攻击者Eve可能拥有的更多资源有哪些?Eve可能知道密文c所对应的明文m 。(此时所进行的攻击称为已知明文攻击)Eve可能拥有强大的计算能力。Eve可能缴获了一台加密
2、机(也称为加密黑盒子),可以任意地输入明文,输出密文。(此时所进行的攻击称为选择明文攻击)攻击者Eve不可能拥有的资源是什么? Eve不知道加密密钥z和解密密钥k。(事实上,在进行安全性分析时,有时也假设Eve 知道了密钥的一部分,但决不能全部知道)(三)叙述已知明文攻击。设攻击者Eve截获了密文c,并且知道了密文c所对应的明文m 。(这种情况是怎样发生的呢?当明文m 是已经过期的消息,可能无法再保密,也可能必须将其公开。因此,这种情况是经常发生的)于是: 在解密方程m=D(c, k)中,Eve知道m 和c,仅仅不知道解密密钥k。 在加密方程c=E(m, z)中,Eve知道m 和c,仅仅不知道
3、加密密钥z。 如果Eve从解密方程m=D(c, k)中计算出解密密钥k ,则Eve今后就可以像Bob一样对任何密文c进行解密: m=D(c, k)。 如果Eve从加密方程c=E(m, z)中计算出加密密钥z ,则Eve今后就可以像Alice一样对任何明文m进行加密: c=E(m, z)。 还可以给更加宽松的条件。设攻击者Eve获得了以往废弃的n组明文/密文对:(m1,c1),(m2,c2), (mn,cn)。 于是Eve获得了关于解密密钥k 的方程组: m1=D(c1, k) , m2=D(c2, k) , , mn=D(cn, k) 。 (n越大,解密密钥k 就越容易确定。)(四)叙述无条件
4、安全性。对密码体制的任何攻击,都不优于(对明文)完全盲目的猜测,这样的密码体制就称为无条件安全的(或完善保密的)。什么样的加解密方式能够实现无条件安全性?一次一密的加密方式容易实现无条件安全性。因为密钥时时更新,所以以往得到的任何明文/密文对,对于破译新的密文没有任何帮助,只能做完全盲目的猜测。(五)叙述计算安全性。计算安全是一个模糊的概念。我们可以给出以下三个级别的定义。(1)对密码体制的任何攻击,虽然可能优于完全盲目的猜测,但超出了攻击者的计算能力。这是最高级别的计算安全。(2)对密码体制的任何攻击,虽然可能没有超出攻击者的计算能力,但所付出的代价远远大于破译成功所得到的利益。这是第二级别
5、的计算安全。(3)对密码体制的任何攻击,虽然可能没有超出攻击者的计算能力,但破译成功所需要的时间远远大于明文本身的有效期限。这也是第二级别的计算安全。什么样的加解密方式能够实现计算安全性?(六)设明文x,密文y,密钥z1,密钥z2,均为8比特课文。加密算法为 y=(x+z1)“+”z2。其中+表示逐位(mod2)加法运算;“+”表示(mod28)加法运算。试用2个明文/密文对解出密钥z1和z2各自的最低位,其中明文可以任意选择。你选择什么明文?怎样解出?在解出密钥z1和z2各自的最低位以后,试用2个明文/密文对解出密钥z1和z2各自的次最低位,其中明文可以任意选择。你选择什么明文?怎样解出?使
6、用选择明文攻击,多少个经过选择的明文/密文对可以解出密钥z1和z2?(七)设明文(x1x2x3x4x5),密文(y1y2y3y4y5),密钥A(55阶方阵),密钥(b1b2b3b4b5),满足域GF(2)上的如下加密方程:(y1y2y3y4y5)=(x1x2x3x4x5)A+(b1b2b3b4b5)。取6组明文/密文对:(00000)/(10110),(10000)/(01110),(01000)/(11010),(00100)/(10000),(00010)/(10101),(00001)/(00111)。试解出密钥A和密钥(b1b2b3b4b5)。此加密方程能够唯一解密吗?为什么? (八)
7、叙述Golomb随机性假设(三条假设)。(1)当n充分大时, k1k2 k3 kn中0和1的个数各占约一半。(2)当n充分大时,在k1k2 k3 kn中,长度为l的比特串10 01 (称为0游程)的个数约有n/2l 个;长度为l的比特串01 10 (称为1游程)的个数约有n/2l 个。(3)若k0,当n充分大时,以下的值(称为异相自相关函数值)约为0。(九)回答下列问题:1.一个周期的布尔序列一定是线性反馈移位寄存器序列吗?为什么?定理 如果一个比特流是一个周期序列,则它一定是线性反馈移位寄存器序列。证明 设比特流k的最小周期是N。 则lN后,kl=kl-N。因此比特流k为N阶线性反馈移位寄存
8、器序列,抽头系数为 c1、 c2 、 、 cN=0、0 、 0 、1(即极小多项式f(x)=1+xN),初始状态为k1k2k3 kN。2.n阶线性反馈移位寄存器序列的最小周期的上确界是什么?(2n-1)最小周期达到该上确界的序列称为什么序列?(n阶m序列)当n阶线性反馈移位寄存器序列的最小周期达到该上确界时,对Golomb随机性假设的符合程度是怎样的?完全满足GOLOMB随机性假设.(3.1) k在自己的一个最小周期内(即连续2n-1个比特内),0出现2n-1-1次,1出现2n-1次。(3.2)取定j,3jn,观察k的连续2n-1个长j的比特串:klkl+1kl+2 kl+j-1,l=1, 2
9、, , 2n-1。10 01出现2n-j次;(长为j-2的0游程)01 10出现2n-j次。(长为j-2的1游程)观察k的连续2n-1个长n+1的比特串:klkl+n,l=1 2n-1。10 01出现1次。(长为n-1的0游程)观察k的连续2n-1个长n+2的比特串:klkl+n+1,l=1 2n-1。0110出现1次。(长为n-1的0游程)(3.3)对任何1j2n-2 ,下式接近0。(自相关函数)这样的序列为什么不能直接作为密钥流?不能直接作为密钥流的原因为:EVE如果得到任何一段连续2N个比特,就获得了一个关于抽头系数的方程组,由于加法和乘法都是在域GF(2)上进行(MOD2运算),容易计
10、算出抽头系数,从而被攻破。解法:如果n阶线性反馈移位寄存器序列用作密钥流,攻击者Eve截获了密文段c1c2c3 c2n,并知道了对应的明文段m1m2m3 m2n,因此计算出了对应的废弃密钥段k1k2k3 k2n。则Eve获得了关于抽头系数c1、 c2 、 、 cn的以下方程组。kl=c1kl-1 + c2kl-2 + + cnkl-n,其中l=n+1,n+2,2n。注意到这是在有限域GF(2)上的线性方程组,很容易解出抽头系数c1、 c2 、 、 cn。实际上,当Eve获得了n阶线性反馈移位寄存器序列的任何一段的连续2n个比特kj+1kj+2kj+3 kj+2n , 他就获得了关于抽头系数c1
11、、 c2 、 、 cn的以下方程组。kl=c1kl-1 + c2kl-2 + + cnkl-n,其中l=j+n+1,j+n+2,j+2n。以上方程组中的加法和乘法都是在域GF(2)上进行的(即(mod2)运算)。以上事实说明,当Eve获得了n阶线性反馈移位寄存器序列的任意连续2n个比特, Eve就获得了整个密钥流。(3)当一个周期的布尔序列的线性复杂度为n时,该序列的长度为2n的串就能完全解出(综合出)该序列。怎样解出?(两种算法)序列的综合的两种最著名的算法是B-M算法和Games-Chan算法。(十)当非线性前馈序列用作密钥流时,哪三个部分可能作为通信伙伴的原始密钥?初始状态,极小多项式,
12、非线性布尔函数。(十一)分组密码与流密码相比,有什么优点?(分组密码与流密码相比,优点:加解密算法简洁快速,占用的计算资源小,易于软件和硬件的实现;加解密算法参数固定,比流密码容易实现标准化;由于明文流被分段加密,因此容易实现同步,而且传输错误不会向后扩散.)有什么缺点?(不容易使用硬件实现,安全性很难被证明,至多证明局部安全性.)分组密码的5个设计准则是什么?(安全性,简洁性,有效性,透明性和灵活性,加解密的相似性.)(十二)写出Feistel网络的算法步骤,并画出图。将明文m分为等长的两部分m=(L(0), R(0);使用由密钥k控制的高度非线性函数F,(1)计算:(L, R)=(L(0)
13、+F(R(0), k), R(0);(2)计算密文:c=(L(1), R(1)= (R, L)。(十三)在DES中,32比特课文X扩充变换E+48比特密钥k8个S盒32比特课文Y是可逆的;这就是说,当密钥k确定时,不同的X一定得到不同的Y。说明这是为什么。这种可逆性设计有什么意义。为了使扩充变换E8个S盒(32比特 32比特)整体是一个可逆函数,必须使得8个S盒总体输出是8个S盒总体输入的第25、811、1417、2023、2629、3235、3841、4447比特的可逆函数。(回顾扩充变换E:扩充变换E的作用是将32比特的课文膨胀为48比特,且扩充变换后的第1、6、7、12、13、18、19
14、、24、25、30、31、36、37、42、43、48比特为扩充部分。 )(十四)在DES、Rijndael、Safer+中,不具有加解密相似性的有()。DES是加解密相似的。RIJNDAEL不是加解密相似的。SAFER+解密算法就是简单地将加密算法的操作逆向进行。(十五)IDEA是加解密相似的。设加密算法的密钥子块的标号顺序为(z11, z12, z13, z14);(z15, z16);(z21, z22, z23, z24);(z25, z26);(z81, z82, z83, z84);(z85, z86);(z91, z92, z93, z94)。现在把解密过程用加密算法来实现,问:
15、第3轮的6个密钥子块依次是什么? ((z71-1, -z73, -z72, z74-1 );(z65, z66))第8轮的10个密钥子块依次是什么? ( (z21-1, -z23, -z22, z24-1 );(z15, z16);(z11-1, -z12, -z13, z14-1 ) )在IDEA中,“”表示(mod216+1)乘法运算。计算215“”215。(49153) (十六)写出Rijndael轮函数(普通轮)的四个不同的计算部件名称。RIJNDAEL的轮函数由四个不同的计算部件所组成,分别是:字节代替(ByteSub)行移位(ShiftRow)列混合(MixColumn)加密钥(AddRoundKey)设Rijndael的字节代替函数为y=bytesub(x