1、密码学期中测试1. 密码学是研究信息系统安全保密的科学,它包含两个分支,那两个分支?2. 密码分析(或称攻击)可分为哪四类?3. 简述密码体制分别有几类?各有什么特性?4. 序列密码和分组密码的区别。5. 杂凑(hash)函数的要求及主要应用?6. ECC:推导椭圆曲线的加法公式。7. 以 P,C,K 分别表示任一加密体制中的明文,密文,和密钥三个随机变量,试证明,并解释这个不等式的含义。)|()|(CPHK8. 在 RSA 密码体制中,若 Bob 和 Charlie 两人使用同样的模数 n, 且他们的公钥 又互素,这使该体制将不安全,现令 Alice 将同一明文 加密后,将密21e和 x文
2、, 分别发送给 Bob 和 Charlie 两人,若 Oscar 截获nxymodnxyeod2了 ,试证明 Oscar 能由 得到明文。同模攻击分析 21和 21y和9. 试构造 2 种 Diffie-Hellman 密钥交换协议(基于离散对数和椭圆曲线离散对数)。10. Hash 函数在密码学中有什么作用?带密钥的 Hash 函数(即 MAC)和不带密钥的 Hash 函数在保护数据完整性方面有什么不同?11. 考虑一个其共享素数 q=71,而一个原根为 7 的 ElGamal 方案。1)如果 B 有一个公开密钥为 3 而 A 选择了随机整数 2,M=30 对应的密文是什么?2)如果现在 A
3、 选择一个不同的 k 值以便将 M=30 加密为 C=(59,C2),整数 C2 是什么?12. RSA 密码体制与 ElGamal 密码体制的安全性依据是什么?13. 假定用户 A 和 B 使用 Diffie-Hellman 密钥交换协议来确定一个共同的密钥k,他们使用的素数为 p=11,Zp 的生成元为 g=2,如果用户 A 选择的秘密随机数为 rA=5,用户 B 选择的秘密随机数为 rB=7,试问 k 是多少?14. 考虑下列 B 用来加密发给 A 的报文的方案。a) A 选择两个素数 P 和 Q,它们与(P-1)和(Q-1) 互素;b) A 公布 N=PQ 作为它的公开密钥;c) A
4、计算 P和 Q使得 PP 1mod(Q-1), QQ 1mod(P-1)成立;d) B 加密报文 M 为 CM N modNe) A 通过解 MC(P)modQ 和 MC(Q)modP 求出 M.问:1)解释这个方案工作的原理;2)它与 RSA 有何不同。15. “选择密文攻击”是对公钥密码体制进行常用的密码分析方法。在该类攻击中,攻击者选择密文 ,然后通过解密服务得到相应的明文 。此mc,1 mp,1类攻击中攻击者仅仅能够得到解密服务,而不是得到解密密钥,解密密钥被隐藏在解密服务中,攻击的目标是通过明密文对得到目标密文 C 的明文信息,证明:RSA 公钥密码系统在选择密文攻击下是不安全的。16. 名词解释:密码体制,强无碰撞,弱无碰撞 混淆 扩散17. 简述差分密码分析与线性分析区别?18. 假设消息摘要为“abcdefg”其二进制表示为01100001 01100010 01100011 01100100 01100101 01100110 011001111)试写出 MD5 和 SHA-1 的两种添加结果;2) 写出 SHA-1 中的 W0,W1,W15,W16。19. Feistel 网络能否直接用作分组密码算法?并说明原因。20. 编程部分(用 C 语言实现)请实现让一 32 位的大整数循环左移 k 位和左移 k 位,其中 0k16;