现代密码学_清华大学_杨波着+习题答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、古典密码(1,2,4)

解:设解密变换为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)

二、流密码 (1,3,4)

1. 3 级 线 性 反 馈 移 位 寄 存 器 在 c 3=1 时 可 有 4 种 线 性 反 馈 函 数 , 设 其 初 始 状 态 为 (a 1,a 2,a 3)=(1,0,1),求各线性反馈函数的输出序列及周期。 解:设反馈函数为 f(a 1,a 2,a 3) = a 1⊕c 2a 2⊕c 1a 3

当 c1=0,c2=0 时,f(a 1,a 2,a 3) = a 1,输出序列为 101101…,周期为 3。

当 c1=0,c2=1 时,f(a 1,a 2,a 3) = a 1⊕a 2,输出序列如下 10111001011100…,周期为 7。 当 c1=1,c2=0 时,f(a 1,a 2,a 3) = a 1⊕a 3,输出序列为 10100111010011…,周期为 7。 当 c1=1,c2=1 时,f(a 1,a 2,a 3) = a 1⊕a 2⊕a 3,输出序列为 10101010…,周期为 2。

3. 设 n=4,f(a 1,a 2,a 3,a 4)=a 1⊕a 4⊕1⊕a 2a 3,初始状态为(a 1,a 2,a 3,a 4)=(1,1,0,1),求此非线性 反馈移位寄存器的输出序列及周期。

解:列出该非线性反馈移位寄存器的状态列表和输出列表:

而第 m+3

a m +3 = c 1a m +2 + c 2a m +1 + c 3a m = c 1 ⊕1 + c 2 ⊕ 0 + c 3c m ⊕ 0

即第 m+3 比特为 0

三、分组密码(1,2,3,4)

1. (1)设M’是M的逐比特取补,证明在DES中,如果对明文分组和密文分组都逐比特取补,

那么得到的密文也是原密文的逐比特取补,即

如果Y = DES K(X),那么Y’=DES K’(X’)

提示:对任意两个长度相等的比特串A和B,证明(A⊕B)’=A’⊕B。

证:

(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’成立。

穷举搜索密钥空间K1/2,对于某个k∈K1/2,假设

(i) E k(x)=y1,如果y1=y,则说明k0=k而且k0∈K1/2。

(ii) E k(x’)=y2,如果y2=y’,则说明k= k0’,即k0= k’而且k0∈K’1/2。

综上可知:对于选定的明文密文对(x,y),只需遍历K1/2中的所有密钥即可,此时密钥空间大小少为255。

2.证明DES的解密变换是加密变换的逆。

证明:定义T是把64位数据左右两半交换位置的操作,即T(L,R)=(R,L),则T2(L,R)=(L,R),即T2=I,其中I为恒等变换。

定义DES中第i轮的主要运算为f i,即

f i (L i 1, R i 1 ) = ( L i 1  F (R i 1, K i ), R i 1 )

么解密后的P1跟加密前一样,同样有一个比特的错误,而对于C i≥2能够解密得到无

错误的明文。

4.在8比特CFB模式中,如果在密文字符中出现1比特的错误,问该错误能传播多远。

解:该错误将传播到后面的 '≤(64+8-1)/8∞ƒ = 8个单元,共9个单元解密得到错误的明文。

四、公钥密码

1. 3.用Fermat定理求3201 mod 11。

解:对于模运算,有结论(a×b) mod n = [ (a mod n)×(b mod n)] mod n 由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。

相关文档
最新文档