NCUT 密码学 – 习题与答案 2010
第 1 页
( 声 明:非 标 准 答 案,仅 供 参 考 )
一、古典密码 (1,2,4)
字母
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
数字
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
1. 设仿射变换的加密是 E
11,23
(m)≡11m+23 (mod 26),对明文“THE NATIONAL SECURITY
AGENCY”加密,并使用解密变换 D
11,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= E
11,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
∵ 11*19 ≡ 1 mod 26
(说明:求模逆可采用第 4 章的“4.1.6 欧几里得算法”,或者直接穷举 1~25)
∴ 解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26)
对密文 C 进行解密:
M’=D(C)≡19C+5 (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”。对该密文解密。
解: 设解密变换为 m=D(c)≡a*c+b (mod 26)
由题目可知 密文 ed 解密后为 if,即有:
D(e)=i : 8≡4a+b (mod 26) D(d)=f : 5≡3a+b (mod 26)
由上述两式,可求得 a=3,b=22。
因此,解密变换为 m=D(c)≡3c+22 (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]
则明文为 m=3*c+22 (mod 26)
=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17]
=
ifyoucanreadthisthankateahcer
4. 设多表代换密码 C
i
≡ AM
i
+ B (mod 26) 中,A 是 2×2 矩阵,B 是 0 矩阵,又知明文“dont”
被加密为“elni”,求矩阵 A。
解: dont = (3,14,13,19) => elni = (4,11,13,8)
设
ab
A
cd
⎡⎤
=
⎢⎥
⎣⎦
,
则有:
43
(mod26)
11 14
ab
cd
⎡⎤ ⎡ ⎤⎡⎤
=
⎢⎥ ⎢ ⎥⎢⎥
⎣⎦ ⎣ ⎦⎣⎦
,
13 13
(mod26)
819
ab
cd
⎡⎤⎡ ⎤⎡⎤
=
⎢⎥⎢ ⎥⎢⎥
⎣⎦⎣ ⎦⎣⎦
可求得
10 13
923
A
⎡⎤
=
⎢⎥
⎣⎦
评论0