当前位置:文档之家› 现代密码学杨波课后习题讲解

现代密码学杨波课后习题讲解


习题
4. 设多表代换密码 Ci AM i B(mod 26) 中,A是 2×2 矩阵, B 是 0 矩阵,又知明文“dont”被加密为“elni”,求矩阵A。
a b 解:设矩阵 A , c d
dont=(3,14,13,19) elni=(4,11,13,8)
4 a b 3 11 c d 14 (mod 26)
解:由已知可得相应的密钥流序列为 1010110110⊕0100010001 =1110100111,又因为是3级线性 反馈移位寄存器,可得以下方程:
a1 a4 a5 a6 c3c2c1 a2 a 3 a2 a3 a4 a3 a4 a5 1 1 1 1 1 0 010 c3c2c1 1 0 1
习题
1. 3 级 线 性 反 馈 移 位 寄 存 器 在 c3=1 时 可 有 4 种 线 性 反 馈 函 数 , 设 其 初 始 状 态 为 (a1,a2,a3)=(1,0,1),求各线性反馈函数的输出序列及周期。
解:设反馈函数为 f(a1,a2,a3) = a1⊕c2a2⊕c1a3 当 c1=0,c2=0 时,f(a1,a2,a3) = a1,输出序列为 101101…,周期为 3。 当 c1=0,c2=1 时,f(a1,a2,a3) = a1⊕a2,输出序列如 下 10111001011100…,周期为 7。 当 c1=1,c2=0 时,f(a1,a2,a3) = a1⊕a3,输出序列为 10100111010011…,周期为 7。 当 c1=1,c2=1 时,f(a1,a2,a3) = a1⊕a2⊕a3,输出序 列为 10101010…,周期为 2。
13 a b 13 8 c d 19 (mod 26)
10 13 解得: A 9 23
第二章 流密码
知识点
1 流密码:利用密钥k产生密钥流,明文与密钥流 顺次对应加密
2 线性反馈移位寄存器:产生密钥流
图2.1 GF(2)上的n级反馈移位寄存器
习题
第一章
习题
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] = YWPKXYHVKXONPTJCHYBXLPKTB
1
1 1 1 1 0 1 c3c2c1 010 101 1 1 0
由此可得密钥流的递推关系为:
ai3 c3ai c1ai2 ai ai2
第三章 分组密码体制
习题
2. 证明 DES 的解密变换是加密变换的逆。 明文分组、密钥 加密阶段:初始置换、16轮变换、逆初始置换
习题
习题
4. 在 8 比特 CFB 模式中,如果在密文字符中出现 1 比特的错误, 问该错误能传播多远。 CFB模式:每次只处理输入的j比特,将上一次的密文用作 加密算法的输入以产生伪随机输出,该输出再与当前明文 异或以产生当前密文。
习题
习题
5.在实现 IDEA 时,最困难的部分是模 216+1 乘法运算。以下关系 给出了实现模乘法的一种有效方法,其中 a 和 b 是两个 n 比特的 非 0 整数。
习题
解:将明文分组: 15
18 11 4 M1 , M 2 4 18 0 4
……
将明文分组带入加密变换:Ci AM i B(mod 26) 可得密文:NQXBBTWBDCJJ…… 解密时,先将密文分组,再将密文分组带入解密变换: Mi A1 (Ci B)(mod 26) 可证得明文
习题
∵ 11*19 ≡ 1 mod 26 (说明:求模逆元可采用第 4 章的“4.1.7 欧几里得算法” ,或者直接穷举 1~25)
对密文 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
n n
注意:(ab mod 2n)相当于 ab 的 n 个有效最低位,(ab div 2n) 是 ab 右移 n 位。 IDEA:明文、分组、密钥、8轮迭代(不是传统的feistel)、 输出变换
习题
习题
习题
第四章 公钥密码
习题
1.证明以下关系: (1) (a mod n) (b mod n), 则a b mod n (2) a b mod n, 则b a mod n (3) a b mod n, b c mod n, 则a c mod n 解:(1)设 a mod n ra , b mod n rb ,由题意得 ra rb ,且存在 整数 j , k ,使得 a jn ra , b kn rb , 可得 a b ( j k )n, 即n | (a b), 证得 a b mod n
习题
2.设n级线性反馈移位寄存器的特征多项式为 p( x) ,初始状态 为 (a1 , a2 ,…,an ) (00…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。
习题
4. 用推广的 Euclid 算法求 67 mod 119 的逆元。 Euclid算法(辗转相除法) 推广的Euclid(P97)
解:
671 mod119 16 因此,
习题
5. 求 gcd(4655, 12075) 。
解: 12075 = 2×4655 + 2765 4655 = 1×2765 + 1890 2765 = 1×1890 + 875 1890 = 2×875 + 140 875 = 6×140 + 35 140 = 4×35+0 所以 gcd(4655, 12075)=35。
每轮迭代的结构和Feistel结构一样:
Li Ri 1 Ri Li 1 f ( Ri 1 , K i )
习题
习题
3. 在 DES 的 ECB 模式中,如果在密文分组中有一个错误,解密后 仅相应的明文分组受到影响。然而在 CBC 模式中,将有错误传播。 例如在图 3-11 中 C1 中的一个错误明显地将影响到 P1和 P2 的结 果。 (1) P2 后的分组是否受到影响? (2) 设加密前的明文分组 P1 中有 1 比特的错误,问这一错误将在 多少个密文分组中传播? 对接收者产生什么影响? ECB模式:每个明文组独立地以同一密钥加密 CBC模式:加密算法的输入是当前明文组与前一密文组的异或
习题
x 2 mod 3 6.求下列同余方程组 x 1mod 5 (中国剩余定理) x 1mod 7
f(a1,a2,a3, a4) (1,1,0,1) (1,0,பைடு நூலகம்,1) (0,1,1,1) 1 1 1
输出 1 1 0
…… 输出序列为 11011 11011 …, 周期为 5。
(1,1,1,1)
(1,1,1,0) (1,1,0,1) ….
0
1 1 ….
1
1 1 ….
习题
6.已知流密码的密文串1010110110和相应的明文串 0100010001,而且还已知密钥流是使用3级线性反馈移位寄 存器产生的,试破译该密码系统。
习题
2. 设由仿射变换对一个明文加密得到的密文为 edsgickxhuklzveqzvkxwkzukvcuh,又已知明文的前两个字 符是“if”。对该密文解密。 解: 设加密变换为 c=Ea,b(m)≡a*m+b (mod 26) 由题目可知 明文前两个字为 if,相应的密文为ed,即有: E(i)=e : 4≡8a+b (mod 26) E(f)=d : 3≡5a+b (mod 26) 由上述两式,可求得 a=9,b=10。
习题
3.设多表代换密码中
3 15 A 10 1
13 21 9 1 21 10 6 25 ,B 8 17 4 8 23 7 2 17
加密为:Ci AM i B(mod 26) 明文为:PLEASE SEND…… 解密变换: Mi A1 (Ci B)(mod 26)
(2)由 a b mod n ,则存在整数k使a=b+kn,则b=a+(-k)n
b a mod n
习题
2.证明以下关系: (1) (a mod n) (b mod n) mod n (a b)mod n (2) (a mod n) (b mod n) mod n (a b) mod n
习题
3. 用 Fermat 定理求 3201 mod 11 Fermat定理:若p是素数,a是正整数且gcd(a, p)=1,则 ap-1≡1 mod p。
解: p=11,a=3,gcd(3,11)=1
由 Fermat 定理,可知 310≡1 mod 11,则(310)k ≡1 mod 11 所以 3201 mod 11= [(310)20×3] mod 11 = [( (310)20 mod 11)×(3 mod 11)] mod 11 = 3。
相关主题