密码学习题集答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(10分)习题1设英文字母A, B, C, … , Z分别编码伪0, 1, 2, 3, … , 25。
已知单表加密变换为
c=5m+7(mod 26)
其中m表示明文,c表示密文。
试对明文HELPME加密。
明文H E L P M E
对应的编码值分别是7 4 11 15 12 4。
用加密变换将上述6个编码值分别加密并转换为字母是
c=5×7+7 (mod 26)=16 →Q
c=5×4+7 (mod 26)=1 → B
c=5×11+7 (mod 26)=10 →K
c=5×15+7 (mod 26)=4 → E
c=5×12+7 (mod 26)=15 →P
c=5×4+7 (mod 26)=1 → B
从而得到密文QBKEPB。
(10分)习题2设英文字母A, B, C, … , Z分别编码伪0, 1, 2, 3, … , 25。
已知单表加密变换为
c=11m+2(mod 26)
其中m表示明文,c表示密文。
试对密文VMWZ解密。
首先从加密变换求出解密变换
m=11-1(c-2)(mod 26)
=19(c-2)(mod 26)
其中19=11-1(mod 26)。
其次将密文字母转换为编码值
V M W Z →21 12 22 25。
最后用解密变换将上述4个编码值分别解密并转换为字母是
m =19×(21-2) (mod 26)=23 → X
m =19×(12-2) (mod 26)=8 → I
m =19×(22-2)(mod 26)=16 → Q
m =19×(25-2)(mod 26)=21 → V
从而得到明文XIQV 。
(10分)习题3 设英文字母A, B, C, … , Z 分别编码伪0, 1, 2, 3, … , 25。
已知Hill 密码中的明文分组长度为2,密钥K 是Z 26上的一个2阶可逆方阵。
假设明文Friday 所对应的密文为pqcfku ,试求密钥K 。
解. 明文 f r i d a y
对应的编码值分别是 5 17 8 3 0 24。
密文 p q c f k u
对应的编码值分别是 15 16 2 5 10 20。
设加密变换为C =MK ,则可取⎪⎪⎭
⎫ ⎝⎛=38175M ,从而得到 K ⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛38175521615。
如果矩阵M 可逆,就可求得
⎪⎪⎭
⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛=-521615381751
K 。
事实上,|M |=5×3-8×17=-136 ≡ 9 (mod 26),且9-1=3(mod
26), 从而 ⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎭⎫ ⎝⎛--==--1521938
1753381759||11*1M M M 。
从而可求得密钥
⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛=-3819752161515219521615381751
K 。
注:(1)矩阵M 的逆矩阵也可通过初等置换可求得:
⎪⎪⎭
⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛−−−−→−⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛−−→−⎪⎪⎭⎫ ⎝
⎛⎪⎪⎭⎫ ⎝⎛−−−−→−⎪⎪⎭⎫ ⎝
⎛⎪⎪⎭⎫ ⎝⎛−−→−⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛+⨯-⨯+⨯-⨯152191001152
02110191114021701911002138191100138175)1()2(1915)2()2()1(821)1( (2)矩阵K 也可通过待定系数法可求得:
设 ⎪⎪⎭⎫ ⎝⎛=4321k k k k K ,则
⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛201052240384321k k k k ,即 26mod 20
241024538238434231⎪⎪⎩⎪⎪⎨⎧===+=+k k k k k k 从26mod 10243=k ⇒ 13mod 5123=k ⇒ 13mod 851251213=⋅=⋅=-k , 所以解得)),()
,((即或24260,242626821138833<≤+=+==i i k k 从26mod 20244=k ⇒13mod 10124=k ⇒13mod 31012101214=⋅=⋅=-k , 所以解得)),()
,((即或24260,242626316133344<≤+=+==i i k k 取)3,8(),(43=k k ,则有26mod 22481=+k 和26mod 5982=+k ,类似以上解法可得
72011==k k 或和19622==k k 或
于是可得
⎪⎪⎭⎫ ⎝⎛=38197K 或⎪⎪⎭
⎫ ⎝⎛=38620K 或⎪⎪⎭⎫ ⎝⎛=381920K 或⎪⎪⎭⎫ ⎝⎛=3867K 经检验)16,15()17,5(=K 得到一个解⎪⎪⎭
⎫ ⎝⎛=38197K 。
再类似讨论)16,8(),(43=k k ,)3,21(),(43=k k ,)16,21(),(43=k k 的情形。
(10分)习题4 设仿射变换的加解密分别是:
C=E(m)=(7m+21)mod 26
对”security ”加密,对“vlxijh ”解密。
”security ”加密为:RXJFKZYH
对“vlxijh ”解密:agency
(10分)习题5 已知密码体制为Vigenere 体制,明文为Nankai University,密文为N R G K R B U E B V V K S Z M Y, 试求密钥。
(ART)
(10分)习题6 使用穷尽密钥搜索法,破译如下利用移位密码加密的密文:
BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD Look up in the air it is a bird it is a plane it is superman (或者给出密钥K=10)
(10分)习题7 利用扩展Euclidean 算法计算如下乘法逆:
(1) 17-1 mod 101,(6)
(2) 357-1 mod 1234。
(1075)
(10分)习题8 计算有限域GF(28)上字节的乘法:
(1){57}·{83};{c1}
(2){F2}·{14};{5c}
(10分)习题9 画出DES 解密算法的流程图(注意:输入是密文,输出是明文)。
(画出一部分也可以,只要标出输入是密文,输出是明文,并且密钥从K16递减到K1即可)
(10分)习题10 求出用DES的8个S盒将48比特串70a990f5fc36压缩置换输出的32比特串(用16进制写出每个S盒的输出)。
解:比特串70a990f5fc36用二进制表示为011100 001010 100110 010000 111101 011111 110000 110110,每6比特一组共8组,分别用8个S盒变换如下:
S1(011100)=S1(00,1110)=S1(0,14)=0=0000=0;
S2(001010)=S2(00,0101)=S2(0,5)=11=1011=b;
S3(100110)=S3(10,0011)=S3(2,3)=9=1001=9;
S4(010000)=S4(00,1000)=S4(0,8)=1=0001=1;
S5(111101)=S5(11,1110)=S5(3,14)=5=0101=5;
S6(011111)=S6(01,1111)=S6(1,15)=8=1000=8;
S7(110000)=S7(10, 1000)=S7(2,8)=10=1010=a;
S8(110110)=S8(10,1011)=S8(2,11)=13=1101=d,
故8个S盒的输出为
00001011 10010001 01011000 10101101(二进制也算对)即0b9158ad。