《现代密码学杨波课后习题讲解ppt课件.pptx》由会员分享,可在线阅读,更多相关《现代密码学杨波课后习题讲解ppt课件.pptx(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、习题第一章 习题1. 设仿射变换的加密是 E11,23(m)11m+23 (mod 26),对明文“THE NATIONAL SECURITY AGENCY”加密,并使用解密变换 D11,23(c)11-1(c-23) (mod 26) 验证你的加密结果。解:明文用数字表示:m=19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24密文 C= E11,23(m)11*m+23 (mod 26)=24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19
2、 1= YWPKXYHVKXONPTJCHYBXLPKTB 习题 11*19 1 mod 26(说明:求模逆元可采用第 4 章的“4.1.7 欧几里得算法”,或者直接穷举 125)对密文 C 进行解密:m=D(C) 19*(c-23) (mod 26)=19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24= THE NATIONAL SECURITY AGENCY 习题2. 设由仿射变换对一个明文加密得到的密文为edsgickxhuklzveqzvkxwkzukvcuh,又已知明文的前两个字符是“if”。对该密文解密。解:
3、 设加密变换为 c=Ea,b(m)a*m+b (mod 26)由题目可知 明文前两个字为 if,相应的密文为ed,即有:E(i)=e : 48a+b (mod 26) E(f)=d : 35a+b (mod 26)由上述两式,可求得 a=9,b=10。 习题因此,解密变换为m=D(c)9-1(c-10) (mod 26)密文对应的数字表示为:c=4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7则明文为 c=9-1(c-10) (mod 26)=8 5 24 14 20 2 0 13 17
4、4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17= ifyoucanreadthisthankateahcer 习题3.设多表代换密码中3132191151062521,10174881237217AB加密为:明文为:PLEASE SEND解密变换:(mod26)iiCAMB1()(mod26)iiMACB 习题解:将明文分组: 将明文分组带入加密变换:可得密文:NQXBBTWBDCJJ解密时,先将密文分组,再将密文分组带入解密变换:可证得明文121518114,41804MM(mod26)iiCAMB1()(mod26)iiMACB 习题4. 设多
5、表代换密码 中,A A是 22 矩阵,B B 是 0 矩阵,又知明文“dont”被加密为“elni”,求矩阵A A。(mod26)iiCAMB解:设矩阵 ,dont=(3,14,13,19)elni=(4,11,13,8)解得:abAcd43(mod26)1114abcd1313(mod26)819abcd1013923A第二章 流密码知识点1 流密码:利用密钥k产生密钥流,明文与密钥流顺次对应加密2 线性反馈移位寄存器:产生密钥流 图2.1 GF(2)上的n级反馈移位寄存器 习题1. 3 级 线 性 反 馈 移 位 寄 存 器 在 c3=1 时 可 有 4 种 线 性 反 馈 函 数 , 设
6、 其 初 始 状 态 为(a1,a2,a3)=(1,0,1),求各线性反馈函数的输出序列及周期。解:设反馈函数为 f(a1,a2,a3) = a1c2a2c1a3当 c1=0,c2=0 时,f(a1,a2,a3) = a1,输出序列为 101101,周期为 3。当 c1=0,c2=1 时,f(a1,a2,a3) = a1a2,输出序列如下 10111001011100,周期为 7。当 c1=1,c2=0 时,f(a1,a2,a3) = a1a3,输出序列为 10100111010011,周期为 7。当 c1=1,c2=1 时,f(a1,a2,a3) = a1a2a3,输出序列为 1010101
7、0,周期为 2。 习题2设n级线性反馈移位寄存器的特征多项式为 ,初始状态为 ,证明输出序列的周期等于 的阶。( )p x12(,)(00)na aa,01( )p x定义2.2 设p(x)是GF(2)上的多项式,使p(x)|(xp-1)的最小p称为p(x)的周期或阶。定理2.3 若序列ai的特征多项式p(x)定义在GF(2)上,p是p(x)的周期,则ai的周期r | p。 习题 习题3.设 n=4,n=f(a1,a2,a3,a4)=a1a41a2a3,初始状态为(a1,a2,a3,a4)=(1,1,0,1),求此非线性反馈移位寄存器的输出序列及周期。解:列出该非线性反馈移位寄存器的状态列表和
8、输出列(如右图): 输出序列为 11011 11011 ,周期为 5。f(a1,a2,a3,a4)输出(1,1,0,1)11(1,0,1,1)11(0,1,1,1)10(1,1,1,1)01(1,1,1,0)11(1,1,0,1)11.511101a 611101a 习题6.已知流密码的密文串1010110110和相应的明文串0100010001,而且还已知密钥流是使用3级线性反馈移位寄存器产生的,试破译该密码系统。解:由已知可得相应的密钥流序列为10101101100100010001 =1110100111,又因为是3级线性反馈移位寄存器,可得以下方程:1234563 2 1234345a
9、aaa a ac c caaaaaa3 2 1111010110101c c c将值代入得: 习题1111110101AA1111101101A 1111111110101101110,33122iiiiiacacaaa3 2 1111010101101110c c c由此可得密钥流的递推关系为: 第三章 分组密码体制 习题2. 证明 DES 的解密变换是加密变换的逆。 明文分组、密钥加密阶段:初始置换、16轮变换、逆初始置换每轮迭代的结构和Feistel结构一样:),(111iiiiiiKRfLRRL 习题 习题3. 在 DES 的 ECB 模式中,如果在密文分组中有一个错误,解密后仅相应的
10、明文分组受到影响。然而在 CBC 模式中,将有错误传播。例如在图 3-11 中 C1 中的一个错误明显地将影响到 P1和 P2 的结果。(1) P2 后的分组是否受到影响?(2) 设加密前的明文分组 P1 中有 1 比特的错误,问这一错误将在多少个密文分组中传播?对接收者产生什么影响?ECB模式:每个明文组独立地以同一密钥加密CBC模式:加密算法的输入是当前明文组与前一密文组的异或 习题 习题4. 在 8 比特 CFB 模式中,如果在密文字符中出现 1 比特的错误,问该错误能传播多远。CFB模式:每次只处理输入的j比特,将上一次的密文用作加密算法的输入以产生伪随机输出,该输出再与当前明文异或以
11、产生当前密文。 习题 习题5.在实现 IDEA 时,最困难的部分是模 216+1 乘法运算。以下关系给出了实现模乘法的一种有效方法,其中 a 和 b 是两个 n 比特的非 0 整数。22()()21222()()1(nnnnnnabmodabdivabmodabmodabdiv()(22 )nnabmodabdiv()(22 )nnabmodabdiv,注意:(ab mod 2n)相当于 ab 的 n 个有效最低位,(ab div 2n)是 ab 右移 n 位。IDEA:明文、分组、密钥、8轮迭代(不是传统的feistel)、输出变换 习题 习题 习题第四章 公钥密码 习题1.证明以下关系:(
12、1) (2) (3)( mod )( mod ),modanbnabn则mod ,modabnban则mod ,mod ,modabn bcnacn则(2)由 ,则存在整数k使a=b+kn,则b=a+(-k)nmodabnmodban解:(1)设 ,由题意得 ,且存在整数 ,使得 可得 即 证得mod, modabanr bnrabrr, j k,abajnr bknr() ,abjk n|(),nabmodabn 习题2.证明以下关系:(1) (2) ( mod )( mod ) mod()modanbnnabn( mod ) ( mod ) mod()modanbnna bn 习题3. 用
13、 Fermat 定理求 3201 mod 11Fermat定理:若p是素数,a是正整数且gcd(a, p)=1,则ap-11 mod p。解:p=11,a=3,gcd(3,11)=1由 Fermat 定理,可知 3101 mod 11,则(310)k 1 mod 11所以 3201 mod 11= (310)203 mod 11 = ( (310)20 mod 11)(3 mod 11) mod 11 = 3。 习题4. 用推广的 Euclid 算法求 67 mod 119 的逆元。167mod11916因此,Euclid算法(辗转相除法)推广的Euclid(P97)解: 习题5.5. 求 g
14、cd(4655, 12075) 。解: 12075 = 24655 + 2765 4655 = 12765 + 1890 2765 = 11890 + 875 1890 = 2875 + 140 875 = 6140 + 35 140 = 435+0所以 gcd(4655, 12075)=35。 习题6.求下列同余方程组2mod31mod51mod7xxx(中国剩余定理) 习题10. 设通信双方使用 RSA 加密体制,接收方的公钥是(e,n)=(5,35),接收到的密文是 C=10,求明文 M解: (n)=35=5*7 (n)= (5)*(7)=(=(5-1)*(7-1)=24 因为d*e1m
15、od (n), 解得d=5 M=cdmodn=105mod35=5RSA?密钥产生、加密、解密 习题13.13. 在 ElGamal 加密体制中,设素数 p=71,本原根 g=7,(1)如果接收方 B 的公开钥是 yB=3,发送方 A 选择的随机整数 k=2,求明文 M=30 所对应的密文。(2)如果 A 选择另一个随机整数 k,使得明文 M=30 加密后的密文是 C=(59, C2),求 C2。Elgamal:y,p,g,x;密文对解:(1) C1gk mod p = 72 mod 71 = 49, C2yBk M mod p = (3230) mod 71= 57 密文为 C=(C1, C2)=(49, 57)。 (2)由 C1 7k mod 71 = 59 ,解得 k=3 。 所以 C2 = (3k30) mod 71 = 29。 习题 习题 习题 习题第五章密钥分配与密钥管理 习题2.Diffie-Hellman密钥交换协议,中间人攻击,详细实施过程。 习题3.在diffie-hellman密钥交换过程中,设大素数p=11,a=2为p的本原元根(1)用户A的公钥YA=7, 求其私钥XA(2)用户B的公钥YB=3,求A和B的共享密钥K 习题 习题 习题 习题 习题 习题 习题 习题 习题
限制150内