现代密码学_清华大学_杨波着+习题答案
- 格式:doc
- 大小:392.00 KB
- 文档页数:10
《现代密码学习题》答案第一章判断题×√√√√×√√选择题1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。
A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。
A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。
A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。
A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击填空题:5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。
7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。
8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。
9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。
10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第二章判断题:×√√√选择题:1、字母频率分析法对(B )算法最有效。
A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。
A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。
A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。
《现代密码学习题》答案第一章判断题×√√√√×√√选择题1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。
A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。
A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。
A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。
A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击填空题:5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。
7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。
8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。
9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。
10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第二章判断题:×√√√选择题:1、字母频率分析法对(B )算法最有效。
A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。
A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。
A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。
现代密码学_清华⼤学_杨波着+习题答案设 A = ' ∞ ,= =≤ ? ≤ ∞ ' ? ≤ ? ≤ ∞ ' ? 可求得 A = '⼀、古典密码(1,2,4)11,23AGENCY ”加密,并使⽤解密变换 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 AGENCY2. 设由仿射变换对⼀个明⽂加密得到的密⽂为 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] = ifyoucanreadthisthankateahcer4. 设多表代换密码 C i ≡ AM i + B (mod 26) 中,A 是 2×2 矩阵,B 是 0 矩阵,⼜知明⽂“dont ” 被加密为“elni ”,求矩阵 A 。
《现代密码学》练习题(含答案)一、填空题(每空1分,共7分)1. 加密算法的功能是实现信息的保密性。
2. 数据认证算法的功能是实现数据的完整性即消息的真实性。
3. 密码编码学或代数中的有限域又称为伽罗华(Galois)域。
记为GF(pn)4. 数字签名算法可实现不可否认性即抗依赖性。
信息安全基本要求:可用性、保密性、完整性、不可否认性、可控性、真实性。
5. Two-Track-MAC算法基于带密钥的RIPEMD-160。
密钥和输出MAC值都是20B6. AES和Whirlpool算法是根据宽轨迹策略设计的。
7. 序列密码的加密的基本原理是:用一个密钥序列与明文序列进行叠加来产生密文。
8. Rabin密码体制是利用合数模下求解平方根的困难性构造了一种非对称/公钥/双钥密码体制。
1. 现代对称密码的设计基础是:扩散和混淆。
2. 加密和解密都是在密钥控制下进行的。
3. 在一个密码系统模型中,只截取信道上传送信息的攻击方式被称为被动攻击。
4. Caesar密码体制属于单表代换密码体制。
(字母平移)5. 尽管双重DES不等价于使用一个56位密钥的单重DES,但有一种被称为中途相遇攻击的破译方法会对它构成威胁。
(成倍减少要解密的加密文本)6. 设计序列密码体制的关键就是要设计一种产生密钥流的方法。
2. 椭圆曲线密码是利用有限域GF(2n)上的椭圆曲线上点集所构成的群上定义的离散对数系统,构造出的公钥/非对称密码体制。
3. 在公钥密码体制中,加密密钥和解密密钥是不一样的,加密密钥可以公开传播而不会危及密码体制的安全性。
2. 密码学上的Hash函数是一种将任意长度的消息压缩为某一固定长度的消息摘要的函数。
3. 数字签名主要是用于对数字消息进行签名,以防止消息的伪造或篡改,也可以用于通信双方的身份认证。
2. CTR/计数器加密模式与CBC认证模式组合构成CCM模式;GMAX算法与CTR加密模式组合构成GCM模式。
《现代密码学习题》答案第一章判断题×√√√√×√√选择题1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。
A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。
A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。
A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。
A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击填空题:5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。
7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。
8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。
9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。
10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第二章判断题:×√√√选择题:1、字母频率分析法对(B )算法最有效。
A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。
A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。
A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。
一、古典密码(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]= ifyoucanreadthisthankateahcer4. 设多表代换密码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+3a 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。
解:n=35 -> p=5, q=7∏(n)=(p-1)(q-1)=24d≡e-1 mod ∏(n)≡5-1 mod 24≡5 mod 24 .... (因为5×5≡1 mod 24)所以,明文M ≡ C d mod n ≡ 105 mod 35 ≡ 512.设RSA 加密体制的公开钥是(e,n)=(77, 221)。
(1) 用重复平方法加密明文160,得中间结果为:(1)如果接收方B 的公开钥是y B=3,发送方A 选择的随机整数k=2,求明文M=30 所对应的密文。
(2)如果A 选择另一个随机整数k,使得明文M=30 加密后的密文是C=(59, C2),求C2。
解:(1) C1≡g k mod p = 72 mod 71 = 49,C2≡y Bk M mod p = (32×30) mod 71= 57 所以密文为C=(C1, C2)=(49, 57)。
(2)由7k mod 71 = 59 ,穷举k 可得k=3 。
所以C2 = (3k×30) mod 71 = (33×30) mod 71 = 29。
解:C2 - n A C1= (P m + kP A)– n A (kG) = (10, 2)– 7(8,3) = (10, 9) = P m五、消息认证与杂凑函数1. 6.1.3 节的数据认证算法是由CBC 模式的DES 定义的,其中初始向量取为0,试说明使用CFB 模式也可获得相同结果。
(图1)解:CFB 模式中的加密部分的框图如下:(图2)如果要使CFB 模式输出结果和CBC 模式的相同,那就要选择适当参数和输入。
假设消息为M=D1D2…D N,则按如下思路考虑:(1) CBC 中DES 加密算法输入输出都为64 位,所以CFB 中的参数j 应取64。
此时的CFB 模式变为:(图3)(2)比较图1 和图2 中开始几个分组的处理,考虑DES 加密的输入和输出,可知,IV → D1, P1 → D2, ...(3)CBC 中最后一个DES 加密的输出为消息认证符,即O N=E K(D N⊕O N-1),因此在CFB 中,应取P M为Z64(64 比特都为0 的分组),这样有C M=E K(C M-1)⊕Z64=E K(C M-1)。
此时,应取P M-1 = D N。
综上可知:对于消息M=D1D2...D N, 如果采用DES/CFB 的数据认证算法,那么,当其参数取如下值时,参数j=64, 参数IV=D1,输入消息M'=D2D3...D N Z64其输出与采用DES/CBC 的数据认证算法的输出相同。
NCUT 密码学–习题与答案2010 2.有很多散列函数是由CBC模式的分组加密技术构造的,其中的密钥取为消息分组。
例如将消息M分成分组M1,M2,…,M N,H0=初值,迭代关系为H i=E Mi(H i-1)⊕H i-1 (i=1,2,…,N),杂凑值取为HN,其中E是分组加密算法。
(1)设E为DES,我们知道如果对明文分组和加密密钥都逐比特取补,那么得到的密文也是原密文的逐比特取补,即如果Y=DES K(X),那么Y’=DES K’(X’)。
利用这一结论证明在上述散列函数中可对消息进行修改但却保持杂凑值不变。
(2) 若迭代关系改为H i=E Hi-1(M i)⊕M i,证明仍可对其进行上述攻击。
解:(1) H i=E Mi(H i-1)⊕H i-1 E Mi(H i-1)= H i⊕H i-1E Mi’(H’i-1)= (H i⊕H i-1)' = H i⊕H’i-1即H i =E Mi’(H’i-1)⊕H’i-1则有H1 =E M1’(H’0)⊕H’0,因此,构造消息M’1M2…M n,同时初始向量取为原先的初始向量的补,则可得到相同的杂凑值。
(2) H i=E Hi-1(M i)⊕M i E Hi-1(M i)= H i⊕M i E H’i-1(M’i)= H i⊕M’i则有H1 =E H0’(M’1)⊕M’1因此,构造消息M’1M2…M n,同时初始向量取为原先的初始向量的补,则可得到相同的杂凑值。
3.考虑用公钥加密算法构造散列函数,设算法是RSA,将消息分组后用公开钥加密第一个分组,加密结果与第二个分组异或后,再对其加密,一直进行下去。
设一消息被分成两个分组B1和B2,其杂凑值为H(B1,B2)=RSA(RSA(B1)⊕B2)。
证明对任一分组C1可选C2,使得H(C1,C2)=H(B1,B2)。
证明用这种攻击法,可攻击上述用公钥加密算法构造的散列函数。
证明:(1)对任一分组C1,设RSA算法中加密公钥为e。
若取C2为C2 = (C1e mod n)⊕(B1e mod n)⊕B2则有RSA(C1)⊕C2 = (C1e mod n)⊕[(C1e mod n)⊕(B1e mod n)⊕B2]= (B1e mod n)⊕B2= RSA(B1)⊕B2从而有H(C1,C2) = H(B1,B2)成立。