【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《密码学期中试题》,欢迎阅读!
《密码学》期中考试
说明:本试题为第10周随堂考试试题,内容包括前9周所学知识,其难度与期末考试相当。按照学校规定,期中测试成绩将占总评成绩的16%。考试形式为开卷。
姓名:_______ 学号:____________________ 专业:________________ 总分:_________
1. 填空(40分,必做):
a) 在密码学中,使用________方法保证数据不被非授权人员查看消息内容,即保护了
消息的_______性;使用______方法保证数据不被非授权人员更改,即保证了消息的________性。(4’)
b) 在网络安全中,攻击方法主要分为两类,______________(例如,重播旧消息,修
改传输的消息内容)和______________(例如,侦听)。(2’)
c) 密码算法的安全性应该完全依赖于___________,而不应该依赖于算法的保密性,
因此,普通商用密码算法一般公开。(1’) d) 常见的密码破解方法包括:_______________、________________、______________
和选择密文攻击。理论上,任何密码算法都可以通过____________的方法破解。(4’) e) 已知某代换密码用于加密日语平假名,已知平假名共有46个,则其密钥空间的大
小为________________(不要求计算,写出公式即可)(2’) f) 已知某置换,其逆为(1,4,2)(3,6)(5,7,8),则这个置换为_____________(可以使用置换
的任意一种表示)(1’)
g) 破解希尔密码时,若已知加密密钥字长度为4,则能保证正确破解需要的明文(密
文)长度至少为_______(2’)
h) DES加密中,明文分组长度为________比特,有效密钥长度为_______比特,每组
加密密文长度为_________比特(3’)
i) DES解密算法与加密算法相同,只是______________________(1’) j) DES加密算法中,共生成_______个轮子密钥,每个子密钥长度为________比特(2’) k) DES加密中,若S1的输入为0x2C,则其输出是_______;输出0x0e的输入可能为
________________(列举所有可能,多,少,错均无分)(4’) l) 按照AES中GF(28) 上定义的运算计算,0x3d + 0xf1 = _____,0x3d * 0xf1 = _____,
其中,乘法的模为0x11b。(4’)
m) Rijndael算法,其密钥长度和分组长度可以从______,______,______比特中独立的
选取,其组合可能有________种。(4’)
n) Rijndael算法中,若分组长度为192,轮数为14时,轮子密钥总长度为______比特
(2’)
o) 公钥密码体制中,使用_______(接收方/发送方)的______(公钥/私钥)加密,
使用_______(接收方/发送方)的______(公钥/私钥)解密;使用_______(接收方/发送方)的______(公钥/私钥)签名,使用_______(接收方/发送方)的______(公钥/私钥)验证。(4’)
2. 已知某有意义的英语明文,使用移位密码(加法密码)加密后,得到如下密文:J BCRCLQ
RW CRVN BJENB WRWN(其中,字母a对应与数字0,明文使用小写字母表示,密文使用大写字母表示,标点不加密,下同),请破解,得出其加密密钥及明文。(5’,2~5题选作3题)
3. 证明:假设仿射密码密钥为k=(a,b),加密函数为c=a*x + b,证明仿射密码能解密的充分
必要条件是gcd(a,26) = 1.(5’ ,2~5题选作3题)
4. 利用维吉尼亚密码,使用密钥字CRYPTOGRAPHY加密明文jin tian wan shang shi dian,
xiao shu lin pang jian mian。(5’, 2~5题选作3题)
5. 已知希尔密码,其加密密钥为((11, 8), (3, 7)),某密文是DELW,求其对应的明文。(5’,
2~5题选作3题)
6. 已知某DES算法的C语言实现,其函数声明如下,请利用已定义的函数,实现TDES
加密算法。(10’,必做) //文件des.h
typedef unsigned char byte;
void DesEnc(byte * pbPlainText, int ibPlainTextLen, byte * pbKey, int ibKeyLen,
byte * pbCipherText, int ibCipherTextLen); void DesDec(byte * pbCipherText, int ibCipherTextLen, byte * pbKey, int ibKeyLen,
byte * pbPlainText, int ibPlainTextLen);
本文来源:https://www.wddqxz.cn/1e173b73f242336c1eb95e3a.html