《现代密码学杨波课后习题讲解.ppt》由会员分享,可在线阅读,更多相关《现代密码学杨波课后习题讲解.ppt(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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 1=YWP
2、KXYHVKXONPTJCHYBXLPKTB 习题 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”。对该密文解密。解:设加密变换为c=Ea,
3、b(m)a*m+b(mod26)由题目可知明文前两个字为if,相应的密文为ed,即有:E(i)=e:48a+b(mod26)E(f)=d:35a+b(mod26)由上述两式,可求得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 0 3 19 7 8 18 19 7 0 13 10 0
4、 19 4 0 7 2 4 17=ifyoucanreadthisthankateahcer 习题3.设多表代换密码中加密为:明文为:PLEASESEND解密变换:习题解:将明文分组:将明文分组带入加密变换:可得密文:NQXBBTWBDCJJ解密时,先将密文分组,再将密文分组带入解密变换:可证得明文 习题4.设多表代换密码 中,A A是 22 矩阵,B B 是 0 矩阵,又知明文“dont”被加密为“elni”,求矩阵A A。解:设矩阵,dont=(3,14,13,19)elni=(4,11,13,8)解得:第二章 流密码知识点1流密码:利用密钥k产生密钥流,明文与密钥流顺次对应加密2线性反馈
5、移位寄存器:产生密钥流图2.1GF(2)上的n级反馈移位寄存器 习题1.3 级 线 性 反 馈 移 位 寄 存 器 在 c3=1 时 可 有 4 种 线 性 反 馈 函 数,设 其 初 始 状 态 为(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,输出序列如下,周期为 7。当 c1=1,c2=0 时,f(a1,a2,a3)=a1a3,输出序列为,周期为
6、7。当 c1=1,c2=1 时,f(a1,a2,a3)=a1a2a3,输出序列为 10101010,周期为 2。习题2设n级线性反馈移位寄存器的特征多项式为 ,初始状态为 ,证明输出序列的周期等于 的阶。定义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),求此非线性反馈移位寄存器的输出序列及周期。解:列出该非
7、线性反馈移位寄存器的状态列表和输出列(如右图):输出序列为 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.习题6.已知流密码的密文串1010110110和相应的明文串0100010001,而且还已知密钥流是使用3级线性反馈移位寄存器产生的,试破译该密码系统。解:由已知可得相应的密钥流序列为10101101100100010001=1110100111,又因为是3级线性反馈移位寄存器,可得以下方程:将值代入得:习题,由此可得密钥流的递推关系为
8、:第三章 分组密码体制 习题2.证明 DES 的解密变换是加密变换的逆。明文分组、密钥加密阶段:初始置换、16轮变换、逆初始置换每轮迭代的结构和Feistel结构一样:习题 习题3.在 DES 的 ECB 模式中,如果在密文分组中有一个错误,解密后仅相应的明文分组受到影响。然而在 CBC 模式中,将有错误传播。例如在图 3-11 中 C1 中的一个错误明显地将影响到 P1和 P2 的结果。(1)P2 后的分组是否受到影响?(2)设加密前的明文分组 P1 中有 1 比特的错误,问这一错误将在多少个密文分组中传播?对接收者产生什么影响?ECB模式:每个明文组独立地以同一密钥加密CBC模式:加密算法
9、的输入是当前明文组与前一密文组的异或 习题 习题4.在 8 比特 CFB 模式中,如果在密文字符中出现 1 比特的错误,问该错误能传播多远。CFB模式:每次只处理输入的j比特,将上一次的密文用作加密算法的输入以产生伪随机输出,该输出再与当前明文异或以产生当前密文。习题 习题5.在实现 IDEA 时,最困难的部分是模 216+1 乘法运算。以下关系给出了实现模乘法的一种有效方法,其中 a 和 b 是两个 n 比特的非 0 整数。,注意:(abmod2n)相当于 ab 的 n 个有效最低位,(abdiv2n)是 ab 右移 n 位。IDEA:明文、分组、密钥、8轮迭代(不是传统的feistel)、
10、输出变换 习题 习题 习题第四章 公钥密码 习题1.证明以下关系:(1)(2)(3)(2)由 ,则存在整数k使a=b+kn,则b=a+(-k)n解:(1)设 ,由题意得 ,且存在整数 ,使得 可得 即 证得 习题2.证明以下关系:(1)(2)习题3.用 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 mo
11、d 11)(3 mod 11)mod 11=3。习题4.用推广的 Euclid 算法求 67 mod 119 的逆元。因此,Euclid算法(辗转相除法)推广的Euclid(P97)解:习题5.5.求 gcd(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.求下列同余方程组(中国剩余定理)习题10.设通信双方使用 RSA 加密体制,接收方的公钥是(e,n)=(5,35),接收到的密文是 C=10,求
12、明文 M解:(n)=35=5*7 (n)=(5)*(7)=(=(5-1)*(7-1)=24 因为d*e1mod(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 习题 习题 习题 习题 习题 习题 习题 习题 习题