2014年密码学期中考试卷答案一、填空题(每题6分,共30分)1.密码学的两个分支是密码编码学和密码分析学,其中前者是对信息进行编码以保护信息的一门学问,后者是研究分析破译密码的学问。2.一个密码系统至少由明文,密文,加密算法,解密算法和密钥五部分组成。有两个同学密钥的钥字写错。3.置换密码中,若密钥序列为13542,明文是PLAIN,则密文应该是PANIL。PANILPLAIN24531543214.DES算法的分组长度是64比特,密钥长度是56比特。很多人密钥长度记错,或者分组长度和密钥长度记混。5.加密变换)10 m(mod -k ckE):(中,m、c、k分别表示明文、密文和密钥,若明文1对应密文2,则密钥k为3,明文8对应密文5。取余算法前面的数字应该比10小,有些人密钥写的是13,应取余为3。二、单项选择题(每小题4分,共20分)6、n级m序列的周期为C。A、n2B、12nC、12nD、12n7.序列密码属于A。A、单钥密码体制B、分组密码体制C、双钥密码体制D、公钥密码体制8、AES算法的密钥长度不可能是B位。A、128B、168C、192D、256
9、DES算法的轮函数使用的是Feistel结构,迭代的论述为C轮。A、4B、8C、16D、3210、DES算法第一个S盒如下,如果该S盒的输入为101100,则其输出A。A、0010B、1100C、1011D、0011假设S盒输入的比特串654321xxxxxxx,将61xx对应的十进制数作为行号l,5432xxxx对应的十进制数作为列号c,则S盒中第l行第c列的整数所对应的二进制表示就是输出。本题中61xx为10即行号为2,5432xxxx为0110即列号为6,查找S盒中第2行第6列的数为2,其对应的二进制为0010,就是输出。三、解答题(40分)11、仿射密码中,假设有加密变换26 mod 75m c,(1)写出解密变换;(10分)(2)假设a,b,…,z分别为0,1,…,25,求密文be对应的明文。(10分)解:(1)由26 mod 75m c可知:26mod)7(51cm;求5的乘法逆元1-5:由26mod15x得到21x;则26mod92126mod)7(2126mod)7(51cccm所以解密变换为26mod921cm。1、很多同学乘法逆元计算错误;2、最后结果要化为最简;(2)密文字母b对应数字1,所以有426mod3026mod912126mod921cm数字4对应字母e,则密文b对应明文e。密文字母e对应数字4,
所以有1526mod9326mod942126mod921cm数字15对应字母p,则密文e对应明文p。1、计算过程一定不能省,不能直接写结果!!!2、不要将字母对应的数字数错,有同学算出了15,但写的字母是q。3、既然计算出了解密变换,就直接用解密变换的公式得到明文,不要再代入到加密变换中计算明文;4、题目假设了a到z分别是0到25,有同学不看题目还是用1到26。虽然不构成解题错误,但是表明没有看清题目要求。12、有一个线性反馈移位寄存器如下图,初始状态)1,1,0,0,1(,,,54321),(aaaaa。(1)写出反馈函数;(5分)(2)画出状态转换表;(5分)(3)写出输出序列;(5分)(4)写出序列周期。(5分)解:(1)反馈函数41aaf(2)如下表41aaf5a4a3a2a1a(输出)初始状态110010011001101100010110001011100100010010001000000100000015a4a1a2a3a输出序列f
110000001000110100001010110101111010111101001110110111111011001101000110000011110001111000111100111110111111001111000111110011回到初始态(出现循环)11001(3)输出序列为100110100100001010111011000111(4)周期为31.根据图中箭头所指,反馈函数为4a和1a的异或所得,然后传给下一轮的5a,在每一轮的输出中,5a传给4a,4a传给3a,3a传给2a,2a传给1a,1a输出。1、少数几个同学反馈函数写错;2、很多同学转换列表中出现错误,或者没有写出一个完整的周期来,一定要算到出现初始序列的状态才算一个周期。线性移位反馈寄存器的周期最多为12n。共交114份卷60分以下:1人;60到70分:4人;70到80分:20人;80到90分:43人;90到100分:43人;100分:3人;(谈辰,张琳苹,方予懿)