信息安全习题答案24章.docx
《信息安全习题答案24章.docx》由会员分享,可在线阅读,更多相关《信息安全习题答案24章.docx(26页珍藏版)》请在三一办公上搜索。
1、信息安全习题答案24章第2章习题及答案 1.设a-z的编码为1-26,空格编码为27,采用密码算法C=k1M+k2,取k1=3,k2=5,设明文为“cryptography is an applied science”,计算相应的密文。 解:明文: cryptography is an applied science C=3M+5 加密: c:33+5(mod28)=14 对应得到字母n; r:183+5(mod28)=3 对应得到字母c; y:253+5(mod28)=24对应得到字母x; 其余字母的解密运算类似,略. 通过计算相应的密文为:ncxyivzchyaxbdfbhsbhyymdt
2、qbfndtsnt 2.用Vigenere算法加密明文“The meeting will be held at afternoon”,设密钥为:hello。 解:起始密钥串是:hello,根据编码规则A=0,B=1,L,Z=25,密钥串的数字表 为,明文串The meeting will be held at afternoon进行维吉尼亚加密和解密运算。加密运算如下表: 明文 明文编码 密钥编码 密文编码 Theme 19,7,4,12,4 7,4,11,11,14 eting 4,19,8,13,6 willb 22,8,11,11,1 eheld 4,7,4,11,3 7,4,11,11
3、,14 ataft ernoo n 13 7 20 u 7,4,11,11,14 4,17,13,14,14 7,4,11,11,14 7,4,11,11,14 7,4,11,11,14 7,4,11,11,14 0,11,15,23,18 11,23,19,24,20 alpxs lxtyu 3,12,22,22,15 11,11,15,22,17 7,23,11,16,7 11,21,24,25,2 dmwwp llpwr hxlqh lvyzc 密文 3.利用穷举搜索法编写程序破译如下利用移位密码加密的密文:BEEAKFYDJXUQYHYJQRYHTYJIQFBQDUYJIIKFUHCQ
4、D 解:根据移位密码的特点,密钥k的取值有26种可能,即就是1,226, 当k=1时,将输入的密文所对应的码向前移一位,即就是各位所对应的码减去1,然后输出消息,当k=25时,各位所对应的码减去25,然后输出消息,当k=26时,不变,输出的文明和密文相同。 程序如下: #include void main int i,k,t; char j,temp26,m41; char c41=B,E,E,E,A,K,F,Y,D,J, X,U,Q,Y,H,Y,J,Q,R,Y, H , T,Y,J,I,Q,F,B,Q,D,U, Y,J,I,I,K,F,U,H,C,Q, D; for(i=1,j=A;i=26
5、,j=Z;i+,j+) tempi=j; for(k=1;k=26;k+) printf(the %dth result is: ,k); for(i=0;i41;i+) for(t=1;t0) t=(t-k)%26; else if(t-k=0;i-) z=z*zmod4371 z=zmmodN Return z 8.有哪几种分组密码工作模式?分组密码工作模式在实际中有什么作用? 电码本模式 电码本模式是最简单的工作模式,该模式将输入的消息分成一定比特长度的分组,使用秘密密钥加密每个分组。另一端再接收到加密的分组后,解密每个分组并得到初始消息。 m1Ec1m2Ec2mnEcn大多数信息不可能
6、被完整的分成几组,最后一部分通常不够一组,可采用填充方式来解决。填充就是采用全0、全1或0与1的组合来填充最后的短块,使其成为完整的一组,解密后再删除最后填充的字节。为了便于识别填充信息,对于不足一个完整分组的块,在填充的最后一位填充的往往不是0或1,而是需要填充的比特的数目。使用这种填充方式,即使最后一组明文是完整的,也需要再填充一个完整的块,这样便于对不同长度的明文进行统一的处理。 ECB模式有两个缺陷:首先,如果消息包含两个完全一样的明文分组,则输出的加密分组也是完全一样的,如果攻击者已知几组消息的明文和密文,就能编出相应的代码薄而无需知道密钥;其次,在这种模式下,攻击者能够修改分组或者
7、重排分组。由于这些缺陷,很少人使用ECB模式加密数据。 密码分组连接模式 针对ECB模式存在的缺陷,CBC模式对分组密码加入了反馈机制,即将前一组的加密结果反馈到当前组的加密,同时,当前组的加密结果被用来修改下一组加密。每组密文依赖于它前面的各组明文,这样即使明文中有重复的分组,也不会出现相同的密文分组。 m1IVm2mnEkc1Ekc2Ecn在CBC模式中,首先生成一个初始随机向量IV,用IV与明文的第一个分组进行异或运算,再进行加密运算。并将该随机数与数据一起传输,这样可以防止两个初始明文块相同的消息其加密结果的密文分组也相同。在解密过程中,先对当前密文分组进行解密,再将上一分组的密文作为
8、随机数与当前密文分组解密后的输出进行异或运算。由于异或的逆运算是它自身,所以CBC模式的解密就是加密的逆过程。 IVc1Dkc2DkcnDm1m2mnCBC模式的解密模式 由于异或运算的系统开销远小于加密的系统开销,所以CBC模式的效率是比较高的,其缺陷是需要传输初始向量IV。随机选择IV可以防止攻击者对CBC模式进行选择明文攻击。CBC模式会受到修改密文分组和重新排列密文分组的攻击。攻击者对数据进行微小的改变,就可以控制一个分组的内容,导致前一分组的内容变得无法预测和无法控制。 由于CBC模式的链接机制,使得它除了能够提供保密性外,还能用于消息认证,可以识别密文在传输中是否被攻击者进行了篡改
9、,比如密文分组的重放和删除等。该特性的另一个方面则是密文传输错误的传播,即密文传输中的一个分组发生错误导致本分组无法正确解密,同时导致下一个分组不能正确解密。 输出反馈模式 输出反馈模式通过序列密码思想实现加密的模式,其思路是将OFB输出的数据串与明文消息进行异或运算以实现加密。在该工作模式加密过程中,首先生成一个随机64比特的数,称为IV。输入块置成初始值:X1=IV。设明文是由q个明文块P1,P2,L,Pq构成,块长度为j比特。 对每个明文变量进行加密的运算采用以下四个步骤: ) 使用分组密码:Yi=Ek(X1) ) 选择最左边的j位:Zi=Yi:j ) 产生密文变量:Ci=PiZi )
10、反馈操作:Xi+1=Yi 对i=1,2,Lq,重复上述步骤,最后一个循环结束于步骤)。此过程如图2.18的左半部分所示。每次使用分组密码所产生的结果Yi被用来反馈并成为的下一个值,即Xi+1。 Yi的最左边j位用来加密输入变量。OFB模式的优点有: 在知道要加密的消息之前,可以预先生成一次一密序列。在需要加密消息时,没有加密算法的系统开销,只需进行异或运算,提高算法效率; 如果密文的一个比特被篡改,明文中只有相应的比特被篡改。在CBC模式中,只要密文分组cn有改动,对应的整个明文分组mn就会被篡改,mn+1中与cn中被篡改比特相应的比特也会被篡改; 消息是可以具有任意长度的数据块,只要收到一组
11、明文,相应的密文可以立刻发送。 加密解密长度为n的X长度为n的XEk选择最左边j位CDk选择最左边j位长度为j的P长度为j的POFB模式的缺点是:如果攻击者知道明文和密文,就可以将明文修改为他所需要的任意消息。这只需要将密文和已知的明文进行异或运算,然后在与他需要的消息进行异或运算即可实现。 密文反馈模式 密文反馈模式在结构上与OFB模式类似,它们均适用于待加密的消息必须按字符处理时。每次生成j比特的数据并与j比特的明文进行异或运算。在OFB模式加密中,分组加密算法Ek的输入是n比特的输入变量X,经过加密算法得到Y,选择最左边的j比特用来和明文异或得到密文。将上一个分组加密的结果C的k个比特移
12、入寄存器FB中,作为下次分组加密的输入数据。 与OFB模式不同的是,在CFB模式中,移入寄存器的k比特是上一个密文分组的k比特,所以使用CFB模式无法在获得消息之前预先生成一次一密序列。该模式加密过程如图的左半部分所示,该模式解密过程如图的右半部分所示。 加密解密长度为n的X k位长度为n的X k位Ekk-j个1k-j个1Dkj位选择最左边j位j位选择最左边j位C长度为j的P长度为j的PCFB具有OFB模式的优点,即在收到任何一个字节之后都可以立即加密并发送,适用于用户格式的需要。CFB模式的缺点是: 1) 对信道错误敏感,会造成错误传播; 2) 使用一次分组密码只能加密一个子块,而不是一个明
13、文分组,因此数据速率不高。 计数器模式 计数器模式的分组密码工作模式是通过对于一个计数器序列进行加密得到一次一密序列,并与数据进行异或运算而生成密文。CTR模式的加密过程描述如图所示。 IV计算器加1 计算器加1KEkm1KEkKEkc1m2c2mLcL与OFB模式类似,CTR模式的优点是可以预先生成一次一密序列,且加密时只需实施异或运算。但是,它与CBC模式一样,可以从消息的任意点开始解密,而不需要从消息的开头开始解密。这使得CTR模式用于加密随机存储文件时非常理想。 CTR模式的应用中,需要注意的是,不可以使用相同的密钥和IV对于不同的数据进行加密,否则CTR模式不再安全,因为攻击者可以通
14、过将两串密文数据进行异或运算,来获得两串明文数据的异或结果。 9. 设n=4,s0=1011,f(x1,x2,x3,x4)=x1+x3,计算该4级线性反馈移位寄存器的输出序列。 解:在这里c1=c3=1,则该线性反馈移位寄存器模型如下: ai+3 ai+2 ai+1 ai + 因为ai+n+1=f(ai+1,ai+2,.ai+n)=c1ai+n+c2ai+n-1+ai+1, 所以a1=1 a2=0 a3=1 a4=1 a5=c1a4+c2a3+c3a2+c4a1=a4+a2=1 a6=a5+a3=0. a15=a14+a12=1+1=0 所以该4级线性反馈移位寄存器的输出序列为10111010
15、0111010,101110100111010, 该序列有周期为15. 2310. 椭圆曲线E11(1,6)即表示yx+x+6mod11,求其上所有的点。已知G=(2,7)是椭圆曲线E11(1,6)上的点,计算2G的值。 解:1)求当x=0,1,2.10时,x3+x+6(mod11)的值 2)在1)中得到的每个值确定是否有一个模11的平方根存在。若存在则(x,y)和(x,p-y)为E11(1,6)中的点。 所以椭圆曲线上的点集为,(5,9),(10,2), (10,8) 2G=G+G=(2,7)+(2,7)=(4,3) 11. 利用椭圆曲线实现ElGamal密码体制,设选取椭圆曲线为E11(1
16、,6),取生成元G=(2,7),接收方的秘密密钥为nA=7。 求A的公开密钥PA; 设发送方B希望发送消息Pm=(10,9),选择随机数k=3,求密文Cm. 解:因为PA=nAG,G=(2,7), nA=7 所以PA= Cm=(kG,pm+kPA)=,) 第3章 习题 1. 说明Diffie-Hellman密钥交换协议原理。 答案:在Diffie-Hellman协议中,两个机构不需要使用密钥分发中心KDC,就可以创建一个对称会话密钥。在创建对称密钥之前,这两个机构要选择两个数p和g。其中p是一个有300个十进制数位(1024比特)的大的素数。第二个数g,是一个在群中的*p-1阶生成元。p和g作
17、为系统的公开参数,可以公开发布。 协议过程描述如下: (1) 通信方A选择一个大的随机数x,使得0xp-1,计算R1=gxmodp,并将R1发送给通信方B; (2) 通信方B选择另一个大的随机数y,使得0yp-1,计算R2=gymodp,并将R2发送给通信方A; (3) A在收到R2后,计算K=(R2)xmodp; (4) B在收到R1后,计算K=(R1)ymodp 。 于是,他们得到了同一个K值,即取得了共同的会话对称密钥。因为通信方B计算出了K=(R1)ymodp=(gxmodp)ymodp=gxymodp,而通信方A也计算出了K=(R2)xmodp=(gymodp)xmodp=gxymo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 习题 答案 24

链接地址:https://www.31ppt.com/p-3279504.html