密码学第五版部分课后答案.docx

上传人:b****1 文档编号:23061763 上传时间:2023-04-30 格式:DOCX 页数:6 大小:16.78KB
下载 相关 举报
密码学第五版部分课后答案.docx_第1页
第1页 / 共6页
密码学第五版部分课后答案.docx_第2页
第2页 / 共6页
密码学第五版部分课后答案.docx_第3页
第3页 / 共6页
密码学第五版部分课后答案.docx_第4页
第4页 / 共6页
密码学第五版部分课后答案.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

密码学第五版部分课后答案.docx

《密码学第五版部分课后答案.docx》由会员分享,可在线阅读,更多相关《密码学第五版部分课后答案.docx(6页珍藏版)》请在冰豆网上搜索。

密码学第五版部分课后答案.docx

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

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

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

请将它破译。

提示:

1、正如你所知,英文中最常见的字母是e。

因此,密文第一个或第二个出现频率最高的字符应该代表e。

此外,e经常成对出现。

找出代表e的字符,并首先将它译出来。

2、英文中最常见的单词是“the”。

利用这个事实猜出什么字母t和h。

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

解:

题意分析:

“8”出现次数最多,对应明文为“e”,“;48”代表的明文为“the”,“)”、“*”、“5”出现频率都比较高,分别对应“s”、“n”、“a”,此破译出密文对应的明文为:

AgoodglassintheBishop’shostelintheDevil’sseat-twenty-onedegreesandthirteenminutes-northeastandbynorth-mainbranchseventhlimbeastside-shootfromthelefteyeofthedeath’shead-abeelinefromthetreethroughtheshotfiftyfeetout.

在多罗的怪诞小说中,有一个故事是这样的:

地主彼得遇到了下图所示的消息,他找到了密钥,是一段整数:

7876565434321123434565678788787656543432112343456567878878765654343211234a.破译这段消息。

提示:

最大的整数是什么?

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

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

解:

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

明文为:

HesittethbetweentheislesmaybegladtheriversintheSouth.

B.安全性很好。

若密文的字母数为8n,则共有8种可能的密钥,不易攻破。

C.安全性较差。

将字母总数与密钥总数相除,得每组8个字母,即可破译。

这个问题给出了用一轮DES加密的具体数字的例子。

假设明文和密钥K有相同的位模式,即:

用十六进制表示:

0123456789ABCDEF

用二进制表示:

00000001001000110100010101100111   10001001101010111100110111101111a.推导第一轮的子密钥解:

经过表置换,得:

C0:

1111000011001100101010100000D0:

1010101011001100111100000000经过表左移,得:

C1’:

1010000110011001010101000001D1’:

0101010110011001111000000001经过表置换选择,得:

K1:

000010110000001001100111100110110100100110100101用十进制表示为:

0B02679B49A5

b.推导L0,R0

解:

经过表置换,得

L0:

11001100000000001100110011111111R0:

11110000101010101111000010101010c.扩展R0求E

解:

根据表扩充置换,得:

E(R0)=01110100001010101010101011110100001010101010101d.计算A=E(R0)?

K1解:

根据a、c可得

A=011100010001011100110010111000010101110011110000

n

e.把的48位结果分成6位的集合并求对应S盒代换的值解:

根据表盒代换得

(1110)=(1000)=(1110)=(1001)=(1100)=(1010)=(1001)=(1000)=

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

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

(14)=2(10进制)=0010(2进制)(9)=1(10进制)=0001(2进制)(12)=6(10进制)=0110(2进制)(10)=13(10进制)=1101(2进制)(9)=

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

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

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

解:

B=00001100001000010110110101010000

g.利用置换求P(B)解:

根据表,得

P(B)=10010010000111000010000010011100

h.计算R1=P(B)?

L0

解:

R1=01011110000111001110110001100011

i.写出密文

解:

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

MEYE82

16个密钥在DSE解密过程中是逆序使用的。

因此,图的右半部分不再正确。

请模仿表为解密过程设计一个合适的密钥移位扩展方案。

解:

选代轮数移位次数

解:

T16(L15||R15)=L16||R16

102132425262728291101112131415162222221

T17(L16||R16)=R16||L16IP[IP–1(R16||L16)]=R16||L16

TD1(R16||L16)=L16||R16?

f(L16,K16)=R15||L15?

f(R15,K16)

?

f(R15,K16)=R15||L15

解:

T16(L15||R15)=L16||R16

–1

IP[IP(L16||R16)]=L16||R16

||L16)=R16||L16?

f(R16,K16)=L15?

f(R15,K16)||R15?

TD1(R16

f(R16,K16)≠L15||R15

For1≤i≤128,takeci?

{0,1}128tobethestringcontaininga1inpositioniandthenzeroselsewhere.Obtainthedecryptionofthese128ciphertexts.Letm1,m2,...,m128bethecorrespondingplaintexts.Now,givenanyciphertextcwhichdoesnotconsistofallzeros,thereisauniquenonemptysubsetoftheci’swhichwecanXORtogethertoobtainc.LetI(c)?

{1,2,...,128}denotethissubset.Observe

?

?

c=?

ci=?

E(mi)=E?

?

mi÷i?

I(c)i?

I(c)i?

I(c)è?

Thus,weobtaintheplaintextofcbycomputing

i?

I(c)?

mi.Let0betheall-zero

string.Notethat0=0?

0.FromthisweobtainE(0)=E(0?

0)=E(0)

?

E(0)=0.Thus,theplaintextofc=0ism=0.Hencewecandecrypteveryc?

{0,1}128.

a.gcd(24140,16762)=gcd(16762,7378)=gcd(7378,2006)=gcd(2006,1360)=gcd(1360,646)=gcd(646,68)=gcd(68,34)=gcd(34,0)=34

b.gcd(4655,12075)=gcd(12075,4655)=gcd(4655,2765)=gcd(2765,1890)=gcd(1890,875)=gcd(875,140)=gcd(140,35)=gcd(35,0)=35

a.Euclid:

gcd(2152,764)=gcd(764,624)=gcd(624,140)=gcd(140,64)

=gcd(64,12)=gcd(12,4)=gcd(4,0)=4

Stein:

A1=2152,B1=764,C1=1;

A2=1076,B2=382,C2=2;A3=538,B3=191,C3=4;A4=269,B4=191,C4=4;A5=78,B5=191,C5=4;A6=39,B6=191,C6=4;A7=152,B7=39,C7=4;A8=76,B8=39,C8=4;A9=38,B9=39,C9=4;A10=19,B10=39,C10=4;A11=20,B11=19,C11=4;A12=10,B12=19,C12=4;A13=5,B13=19,C13=4;A14=14,B14=5,C14=4;A15=7,B15=5,C15=4;  A16=2,B16=5,C16=4;A17=1,B17=5,C17=4;A18=4,B18=1,C18=4;

A19=2,B19=1,C19=4;A20=1,B20=1,C20=4;

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

请将它破译。

提示:

1、正如你所知,英文中最常见的字母是e。

因此,密文第一个或第二个出现频率最高的字符应该代表e。

此外,e经常成对出现。

找出代表e的字符,并首先将它译出来。

2、英文中最常见的单词是“the”。

利用这个事实猜出什么字母t和h。

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

解:

题意分析:

“8”出现次数最多,对应明文为“e”,“;48”代表的明文为“the”,“)”、“*”、“5”出现频率都比较高,分别对应“s”、“n”、“a”,此破译出密文对应的明文为:

AgoodglassintheBishop’shostelintheDevil’sseat-twenty-onedegreesandthirteenminutes-northeastandbynorth-mainbranchseventhlimbeastside-shootfromthelefteyeofthedeath’shead-abeelinefromthetreethroughtheshotfiftyfeetout.

在多罗的怪诞小说中,有一个故事是这样的:

地主彼得遇到了下图所示的消息,他找到了密钥,是一段整数:

7876565434321123434565678788787656543432112343456567878878765654343211234a.破译这段消息。

提示:

最大的整数是什么?

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

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

解:

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

明文为:

HesittethbetweentheislesmaybegladtheriversintheSouth.

B.安全性很好。

若密文的字母数为8n,则共有8种可能的密钥,不易攻破。

C.安全性较差。

将字母总数与密钥总数相除,得每组8个字母,即可破译。

这个问题给出了用一轮DES加密的具体数字的例子。

假设明文和密钥K有相同的位模式,即:

用十六进制表示:

0123456789ABCDEF

用二进制表示:

00000001001000110100010101100111   10001001101010111100110111101111a.推导第一轮的子密钥解:

经过表置换,得:

C0:

1111000011001100101010100000D0:

1010101011001100111100000000经过表左移,得:

C1’:

1010000110011001010101000001D1’:

0101010110011001111000000001经过表置换选择,得:

K1:

000010110000001001100111100110110100100110100101用十进制表示为:

0B02679B49A5

b.推导L0,R0

解:

经过表置换,得

L0:

11001100000000001100110011111111R0:

11110000101010101111000010101010c.扩展R0求E

解:

根据表扩充置换,得:

E(R0)=01110100001010101010101011110100001010101010101d.计算A=E(R0)?

K1解:

根据a、c可得

A=011100010001011100110010111000010101110011110000

n

e.把的48位结果分成6位的集合并求对应S盒代换的值解:

根据表盒代换得

(1110)=(1000)=(1110)=(1001)=(1100)=(1010)=(1001)=(1000)=

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

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

(14)=2(10进制)=0010(2进制)(9)=1(10进制)=0001(2进制)(12)=6(10进制)=0110(2进制)(10)=13(10进制)=1101(2进制)(9)=

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

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

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

解:

B=00001100001000010110110101010000

g.利用置换求P(B)解:

根据表,得

P(B)=10010010000111000010000010011100

h.计算R1=P(B)?

L0

解:

R1=01011110000111001110110001100011

i.写出密文

解:

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

MEYE82

16个密钥在DSE解密过程中是逆序使用的。

因此,图的右半部分不再正确。

请模仿表为解密过程设计一个合适的密钥移位扩展方案。

解:

选代轮数移位次数

解:

T16(L15||R15)=L16||R16

102132425262728291101112131415162222221

T17(L16||R16)=R16||L16IP[IP–1(R16||L16)]=R16||L16

TD1(R16||L16)=L16||R16?

f(L16,K16)=R15||L15?

f(R15,K16)

?

f(R15,K16)=R15||L15

解:

T16(L15||R15)=L16||R16

–1

IP[IP(L16||R16)]=L16||R16

||L16)=R16||L16?

f(R16,K16)=L15?

f(R15,K16)||R15?

TD1(R16

f(R16,K16)≠L15||R15

For1≤i≤128,takeci?

{0,1}128tobethestringcontaininga1inpositioniandthenzeroselsewhere.Obtainthedecryptionofthese128ciphertexts.Letm1,m2,...,m128bethecorrespondingplaintexts.Now,givenanyciphertextcwhichdoesnotconsistofallzeros,thereisauniquenonemptysubsetoftheci’swhichwecanXORtogethertoobtainc.LetI(c)?

{1,2,...,128}denotethissubset.Observe

?

?

c=?

ci=?

E(mi)=E?

?

mi÷i?

I(c)i?

I(c)i?

I(c)è?

Thus,weobtaintheplaintextofcbycomputing

i?

I(c)?

mi.Let0betheall-zero

string.Notethat0=0?

0.FromthisweobtainE(0)=E(0?

0)=E(0)

?

E(0)=0.Thus,theplaintextofc=0ism=0.Hencewecandecrypteveryc?

{0,1}128.

a.gcd(24140,16762)=gcd(16762,7378)=gcd(7378,2006)=gcd(2006,1360)=gcd(1360,646)=gcd(646,68)=gcd(68,34)=gcd(34,0)=34

b.gcd(4655,12075)=gcd(12075,4655)=gcd(4655,2765)=gcd(2765,1890)=gcd(1890,875)=gcd(875,140)=gcd(140,35)=gcd(35,0)=35

a.Euclid:

gcd(2152,764)=gcd(764,624)=gcd(624,140)=gcd(140,64)

=gcd(64,12)=gcd(12,4)=gcd(4,0)=4

Stein:

A1=2152,B1=764,C1=1;

A2=1076,B2=382,C2=2;A3=538,B3=191,C3=4;A4=269,B4=191,C4=4;A5=78,B5=191,C5=4;A6=39,B6=191,C6=4;A7=152,B7=39,C7=4;A8=76,B8=39,C8=4;A9=38,B9=39,C9=4;A10=19,B10=39,C10=4;A11=20,B11=19,C11=4;A12=10,B12=19,C12=4;A13=5,B13=19,C13=4;A14=14,B14=5,C14=4;A15=7,B15=5,C15=4;  A16=2,B16=5,C16=4;A17=1,B17=5,C17=4;A18=4,B18=1,C18=4;

A19=2,B19=1,C19=4;A20=1,B20=1,C20=4;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1