密码学第五版部分课后答案 (1)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.4 已知下面的密文由单表代换算法产生:

请将它破译。提示:

1、正如你所知,英文中最常见的字母是e。因此,密文第一个或第二个(或许第三个)出现频率最高的字符应该代表e。此外,e经常成对出现(如meet,fleet,speed,seen,been,agree,等等)。找出代表e的字符,并首先将它译出来。

2、英文中最常见的单词是“the”。利用这个事实猜出什么字母t和h。

3、根据已经得到的结果破译其他部分。

解:由题意分析:“8”出现次数最多,对应明文为“e”,“;48”代表的明文为“the”,“)”、“*”、“5”出现频率都比较高,分别对应“s”、“n”、“a”,由此破译出密文对应的明文为: A good glass in the Bishop’s hostel in the Devil’s seat-twenty-one degrees and thirteen minutes-northeast and by north-main branch seventh limb east side-shoot from the left eye of the death’s head-a bee line from the tree through the shot fifty feet out.

2.20 在多罗的怪诞小说中,有一个故事是这样的:地主彼得遇到了下图所示的消息,他找到了密钥,是一段整数:

11234

a.破译这段消息。提示:最大的整数是什么?

b.如果只知道算法而不知道密钥,这种加密方案的安全性怎么样?

c.如果只知道密钥而不知道算法,这种加密方案的安全性又怎么样?

解:

A.根据提示,将密文排成每行8字母的矩阵,密钥代表矩阵中每行应取的字母,依次取相应字母即可得明文。明文为:

He sitteth between the cherubims.The isles may be glad thereof.As the rivers in the South.

B.安全性很好。若密文的字母数为8n,则共有8n种可能的密钥,不易攻破。

C.安全性较差。将字母总数与密钥总数相除,得每组8个字母,即可破译。

3.8 这个问题给出了用一轮DES加密的具体数字的例子。假设明文和密钥K有相同的位模式,即:

用十六进制表示:0 1 2 3 4 5 6 7 8 9 A B C D E F

用二进制表示: 0000 0001 0010 0011 0100 0101 0110 0111

1000 1001 1010 1011 1100 1101 1110 1111

a.推导第一轮的子密钥

解:

经过表3.4(b)PC-1置换,得:

C0:00000

D0:01

经过表3.4(d)左移,得:

C1’:10

D1’:01

经过表3.4(c)置换选择,得:

K1:0000 1011 0000 0010 0110 0111 1001 1011 0100 1001 1010 0101

用十进制表示为:0 B 0 2 6 7 9 B 4 9 A 5

b.推导L0,R0

解:经过表3.2(a)置换,得

L0:1100 1100 0000 0000 1100 1100 1111 1111

R0:1111 0000 1010 1010 1111 0000 1010 1010

c.扩展R0求E(R0)

解:根据表3.2(C)扩充置换,得:

E(R0) = 01110 100001 010101 010101 011110 100001 010101 010101

d.计算A=E(R0)⊕K1

解:根据a、c可得

A = 011100 010001 011100 110010 111000 010101 110011 110000

e.把(d)的48位结果分成6位(数据)的集合并求对应S盒代换的值

解:根据表3.3S盒代换得

(1110) = (14) =0 (10进制) =0000 (2进制)

(1000) = (8) = 12 (10进制)=1100 (2进制)

(1110) = (14) =2 (10进制)=0010(2进制)

(1001) = (9) = 1(10进制) =0001(2进制)

(1100) = (12) =6 (10进制) =0110 (2进制)

(1010) = (10) =13 (10进制)=1101(2进制)

(1001) = (9) = 5 (10进制) =0101 (2进制)

(1000) = (8) =0 (10进制) =0000 (2进制)

f.利用(e)的结论来求32位的结果B

解:B = 0000 1100 0010 0001 0110 1101 0101 0000

g.利用置换求P(B)

解:根据表3.2(d),得

P(B) = 1001 0010 0001 1100 0010 0000 1001 1100

h.计算R1=P(B)⊕L0

解:R1 = 0101 1110 0001 1100 1110 1100 0110 0011

i.写出密文

解:L1=R0,连接L1、R1可得密文为:MEYE82

3.12 16个密钥(K1、K2……K16)在DSE解密过程中是逆序使用的。因此,图3.5的右半

部分不再正确。请模仿表3.4(d)为解密过程设计一个合适的密钥移位扩展方案。

解:

选代轮数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

相关文档
最新文档