当前位置:文档之家› 现代密码学_清华大学_杨波著_部分习题答案[1]

现代密码学_清华大学_杨波著_部分习题答案[1]

密文 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 ∵ 11*19 ≡ 1 mod 26 (说明:求模逆可采用第 4 章的“4.1.6 欧几里得算法”,或者直接穷举 1~25) ∴ 解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26) 对密文 C 进行解密:
密文用数字表示为:
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]

Ri'
=
L' i −1

F
(
R' i −1
,
Ki' )
( ) ( ) ⇔
Li−1 ⊕ F (Ri−1, Ki )
'=
Li−1

F
(
R' i −1
,
Ki'
)
'
根据(i)(ii) 根据(iii)

F (Ri−1, Ki )
=
F
(
R' i −1
,
Ki' )

P(S
( E ( Ri −1 )

Ki
))
=
P(S
(
E
(
R' i −1
)

Ki'
))

E(Ri−1) ⊕ Ki
=
E
(
R' i −1
)

Ki'
根据(iii)可知 E(Ri−1) ⊕ Ki = (E(Ri−1) ⊕ Ki' )' = (E(Ri−1))' ⊕ Ki

( E ( Ri −1 ))'
⊕ Ki
=
E
(
R' i −1
)

Ki'

( E ( Ri −1 ))'

A
=
⎡a ⎢⎣
⎡4⎤ ⎢⎣11⎥⎦
=
⎡a ⎢⎣ c
b d
⎤ ⎥⎦
⎡3⎤ ⎢⎣14⎥⎦
(mod
26)

⎡13⎤ ⎢⎣ 8 ⎥⎦
=
⎡a ⎢⎣ c
b⎤ ⎡13⎤ d ⎥⎦ ⎢⎣19⎥⎦ (mod 26)
可求得
A
=
⎡10 ⎢⎣ 9
13⎤ 23⎥⎦
第1页
NCUT
密码学 – 习题与答案
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”。对该密文解密。
2010
二、流密码 (1,3,4)
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。
定义 DES 中第 i 轮的主要运算为 fi,即
( ) fi (Li−1, Ri−1) = Li−1 ⊕ F (Ri−1, Ki ), Ri−1
则有,
( ) fi2 (Li−1, Ri−1) = Li−1 ⊕ F (Ri−1, Ki ), Ri−1
= fi (Li−1 ⊕ F (Ri−1, Ki ), Ri−1)
解: CBC 的加密: C0=IV, Ci=DESK[Pi⊕Ci-1], i≥2 解密: Pi=DESK-1[Ci]⊕Ci-1 , i≥1
(2) 选择明文攻击时,假设有 Ek0(x)=y,其中 x、y 分别为明文和密文,E 为 DES 加密算法, k0 为真实的密钥。
第3页
NCUT
密码学 – 习题与答案
2010
穷举搜索密钥空间 K1/2,对于某个 k∈K1/2,假设 (i) Ek(x)=y1,如果 y1=y,则说明 k0=k 而且 k0∈K1/2。 (ii) Ek(x’)=y2,如果 y2=y’,则说明 k= k0’,即 k0= k’ 而且 k0∈K’1/2。
证: (i) 容易验证,在 DES 中所有的置换操作,包括初始置换 IP、逆初始置换 IP-1、选择扩展算 法 E、置换运算 P 以及置换选择 PC1、置换选择 PC2,都满足如下性质: 如果 N=PO(M),则 N’=PO(M’),其中 PO 是某种置换操作 即有 (PO(M))’= PO(M’) (ii) 容易验证,密钥生成过程中的左循环移位 LS 满足如下性质: 如果 N=LS (M),那么 N’=LS(M’), 即有 (LS (M))’=LS(M’) 结合(1)可知,如果记子密钥为(K1,…,K16),K 为初始密钥,KG 为密钥生成算法,则有 如下性质: 如果 (K1,…,K16)=KG(K),那么 (K1',…,K16')=KG(K’) (iii) 对于任意两个比特 a 和 b,有 (a⊕b)’= a⊕b⊕1=(a⊕1)⊕b=a’⊕b(= a⊕(b⊕1)=a⊕b’), 因此对任意两个长度相等的比特串 A 和 B,有(A⊕B)’=A’⊕B=A⊕B’成立。
比特有无可能是 1,为什么?
解: 根据题目条件,可知初始状态 s0 为:
s0 = (a1, a2 ,L, am−1, am ) = (0,1,..., 0,1) 设该 LFSR 的输出序列满足如下递推关系:
注:s个01
am+k = c1am+k−1 + c2am−1 + Lcmak , 则第 m+1, m+2 个比特为:
1
1
(1,0,1,1)
1
1
(0,1,1,1)
1
0
(1,1,1,1)
0
1
(1,1,1,0)
1
1
(1,1,0,1)
1
1



因此,输出序列为 11011 11011 …,周期为 5。
4. 密钥流由 m=2s 级的 LFSR 产生,前 m+2 个比特是(01)s+1,即 s+1 个 01,请问第 m+3 个
= ifyoucanreadthisthankateahcer
4. 设多表代换密码 Ci ≡ AMi + B (mod 26) 中,A 是 2×2 矩阵,B 是 0 矩阵,又知明文“dont” 被加密为“elni”,求矩阵 A。 解: dont = (3,14,13,19) => elni = (4,11,13,8)
( ) = (Li−1 ⊕ F (Ri−1, Ki )) ⊕ F (Ri−1, Ki ), Ri−1
= (Li−1, Ri−1) 即 fi2 = I 。
DES 的加密为: c = DES(m) = IP−1 ⋅ f16 ⋅ (T ⋅ f15 ) ⋅L⋅ (T ⋅ f1 ) ⋅ IP(m)
… (*)
解密为: DES −1(c) = IP−1 ⋅ f1 ⋅ (T ⋅ f2 ) ⋅L⋅(T ⋅ f16 ) ⋅ IP(c) … (#)
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]
( ) (iv)
DES
的轮变换为
⎧⎪Li
⎨ ⎪⎩
Ri
= =
Ri−1 Li−1

F
Ri−1, Ki
,其中轮函数 F 可写为
F ( R, K ) = P(S(E(R) ⊕ K )) 。 因此有如下推理:
Y = DESK ( X ) ⇒ Y ' = DESK ' ( X ')

Ri = Li−1 ⊕ F (Ri−1, Ki )
=
E
(
R' i −1
)
由(i)知此式成立
(2) 对 DES 进行穷举搜索攻击时,需要在由 256 个密钥构成的密钥空间进行。能否根据(1) 的结论减少进行穷搜索攻击时所用的密钥空间。
解:(1) 根据取补的性质,密钥空间 K 可分成两部分 K1/2 和 K’1/2,即 K= K1/2∪K’1/2 对于任意一个 k∈K1/2,它的取补 k’∈K’1/2;对于任意一个 k∈K’1/2,它的取补 k’∈ K1/2。即,K1/2 和 K’1/2 是一一对应的;它们的空间大小都是 256/2=255。
相关主题