欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 《计算机网络:自顶向下方法(第8版)》Chapter 8 课后题

《计算机网络:自顶向下方法(第8版)》Chapter 8 课后题

2025/6/23 14:17:47 来源:https://blog.csdn.net/weixin_45595929/article/details/147916271  浏览:    关键词:《计算机网络:自顶向下方法(第8版)》Chapter 8 课后题

复习题

8.1节

在这里插入图片描述

R1. 机密性是攻击者截获原始明文消息的密文加密后无法确定原始明文的属性。消息完整性是接收方可以检测发送的消息(无论是否加密)在传输过程中是否又被更改的属性。
因此,这两者是不同的概念,可以独立存在。一个在传输中被篡改的加密消息仍然可能是机密的(攻击者无法确定原始明文),但如果错误未被检测到,则不会具有消息完整性。同样,一个在传输中被篡改(并被检测到)的消息可以是明文发送的,因此不会是机密的。

R2. 用户的笔记本电脑和一台网页服务器;两个路由器;两个 DNS 域名服务器

8.2节

在这里插入图片描述
在这里插入图片描述

R3. 对称密钥系统和公钥系统之间一个重要的区别是,在对称密钥系统中,发送方和接收方必须知道相同的密钥。在公钥系统中,加密密钥和解密密钥是不同的。加密密钥为整个世界(包括发送方)所知,但解密密钥仅为接收方所知。

R4. 在这种情况下,进行了一次已知明文攻击。如果以某种方式,发送者加密的消息是由攻击者选择的,那么这将是一次选择明文攻击。

R5. 有28种可能的输入块,每个映射是28个输入块的置换,因此有28!种映射,即有28!种可能的密钥

R6. 如果每个人都希望与另外N-1个人通信,那么每一对之间必须有一个共享的对称密钥。这样的配对有N*(N-1)/2对,因此需要N*(N-1)/2个密钥。
在公钥系统中,每个人都有一个所有人均知的公钥和一个只有该用户才知道的私钥。因此,在公钥系统中有2N个密钥。

R7. 运用规则:[(a mod n) * (b mod n)] mod n = (a * b) mod n
则:a mod n = 23,b mod n = 4;(a * b) mod n = 92

R8. 175

8.3~8.4节

在这里插入图片描述
在这里插入图片描述

R9. 消息摘要的一个要求是,给定一条消息M,很难找到另一条具有相同摘要的消息M‘;同样地,给定一个摘要值,也很难找到一条具有该摘要值的消息M’‘。我们有“消息完整性”,这意味着我们有合理的信心认为,给定一条消息M及其签名的摘要,这条消息自计算并签名以来未被篡改。这与互联网校验和不同,在图8-8中我们看到,很容易找到两条具有相同互联网校验和的消息。

R10. 不能。这是因为哈希函数是一个单向函数,也就是说,给定任何哈希值,原始消息无法被恢复(给定h使得h=H(m),而无法从h恢复m)

R11. 这个方案显然有缺陷。攻击者Trudy可以首先嗅探通信并通过从H(m) + s中提取最后一部分数字来获取共享密钥s。然后,Trudy可以伪装成发送者,创建她自己的消息t,并发送(t, H(t) + s)

R12. 假设Bob向Alice发送了一份加密文档。
为了能够验证,Alice必须能够说服自己,Bob确实发送了这份加密文档。
为了确保不可伪造,Alice必须能够说服自己,只有Bob能够发送这份加密文档(例如,没人能够猜出密钥并加密/发送这份文档)。
为了确保不可否认,Alice必须能够说服其他人,只有Bob能够发送这份文档。为了说明后者的区别,假设Bob和Alice共享一个秘密密钥,而且他们是世界上唯一知道这个密钥的人。如果Alice收到一份用这个密钥加密的文档,并且知道她自己没有加密这份文档,那么这份文档被视为可验证和不可伪造(假设使用了适当强度的加密系统)。然而,Alice无法说服其他人,Bob一定是发送了这份文档,因为实际上Alice自己也知道密钥,并且可以加密/发送这份文档。

R13. 公钥签名消息摘要更好,因为只需要对一个短消息摘要进行加密(使用私钥),而不是整个消息。由于使用类似RSA的公钥加密是昂贵的,签名(加密)较少的数据比签名(加密)较大量的数据更为理想。

R14. 这是错误的。为了生成证书,certifier.com 会包括数字签名,该签名是 foo.com 信息(包括其公钥)的哈希,并用 certifier.com 的私钥签名。

R15. 基于MAC的方案,Alice必须与每个潜在的接收者建立共享密钥。
使用数字签名时,她对每个接收者使用相同的数字签名;数字签名是通过用她的私钥对消息的哈希值进行签名而生成的。
在这里,数字签名显然是更好的选择。

R16. 不重数数的目的是防御重放攻击。

R17. 意味着发送随机数的实体将不再使用该值来检查另一个实体是否“在线”。指的是一个协议的生存期

R18. 在中间人攻击中,攻击者将自己置于Alice和Bob之间,改变他们之间发送的数据。如果Bob和Alice共享一个秘密认证密钥,那么任何更改都将被检测到。

8.5~8.8节

在这里插入图片描述
在这里插入图片描述

R19. Alice提供了数字签名,Bob可以通过这个签名验证消息来自Alice。PGP使用数字签名,而不是MAC,来确保消息的完整性。

R20. 错误。SSL使用隐式序列号。

R21. 防止连接重放攻击。

R22. 正确。初始向量(IV)总是以明文形式发送。在SSL中,它是在SSL握手期间发送的。

R23. 在客户端生成前主密钥(PMS)后,它将使用Alice的公钥对其进行加密,然后将加密后的PMS发送给Trudy。Trudy无法解密PMS,因为她没有Alice的私钥。因此,Trudy将无法确定共享的认证密钥。相反,她可能会通过选择一个随机密钥来进行猜测。在握手的最后一步中,她向Bob发送所有握手消息的MAC,使用猜测的认证密钥。当Bob收到MAC时,MAC测试将失败,Bob将结束TCP连接。

R24. 错误。通常,首先在主机A和主机B之间建立IPsec SA,然后流中的所有数据包都使用该SA。

R25. 错误。IPsec将为其发送的每个数据包增加序列号。

R26. 错误。IKE SA用于建立一个或多个IPsec SA。

R27. 01011100

8.9节

在这里插入图片描述
在这里插入图片描述

R28. 有状态的数据包过滤器维护连接表和访问控制列表。连接表跟踪所有正在进行的TCP连接,而访问控制列表指应检查连接的规则。

R29. 正确

R30. 正确

R31.有状态的数据包过滤器维护连接表和访问控制列表。连接表跟踪所有正在进行的TCP连接,而访问控制列表指示应检查连接的规则。

R32.正确

习题

P1.

使用图8-3中的单码代替密码,加密报文“This is an easy promblem”,并解密报文“rmij’u uamu xyj”
在这里插入图片描述

加密报文“This is an easy promblem”:uasi si mj cmiw lokhngch
解密报文“rmij’u uamu xyj”:wasn’t that fun

P2.

Trudy使用了已知明文攻击,其中她知道了 7个字母的(密文,明文)转换对,减少了8.2.1节的例子中将被检査的大约109数量级的可能替换的数量。请说明之。

如果Trudy知道“bob”和“alice”出现在报文中,那么她就能知道b,o,a,l,i,c,e的密文(因为“bob”是消息中唯一的回文,而“alice”是唯一的五个字母的单词)。如果Trudy知道七个字母的密文,那么她只需要尝试19!种可能,而不是26!种明文-密文对。19!和26!之间的差值是262524…*20,即3315312000,大约109

P3.

考虑图8-4所示的多码代替密码系统。利用报文“The quick brown fox jumps over the lazy dogs”得到的明文编码,选择明文攻击足以破解所有报文吗?为什么?
在这里插入图片描述

字母表中的每个字母都出现在短语“The quick brown fox jumps over the lazy dogs”中。在选择明文攻击的情况下(即攻击者同时拥有明文和密文),凯撒密码会被破解——入侵者会知道每个明文字母对应的密文字符。然而,维吉尼亚(Vigenere)密码(由26个类似的Caesar密码的代换表组成)并不总是将给定的明文字母转换为相同的密文字符,因此这种选择明文攻击无法立即破解维吉尼亚密码。

P4.

考虑图8-5中显示的块密码。假设每个块密码Ti 只是反转了 8 个输人比特的次序(例如,使得11110000变为00001111) 进一步假设64比特置乱函数不修改任何比特(使得第m 个比特的输出值 等于第m个比特的输人值)。
a. 对于n = 3和初始64比特输入等于10100000重复了 8次,输出的值是多少?
b. 重复(a),但此时将初始64比特的最后一个比特从0变为1。
c. 重复(a)和(b),但此时假定64比特的置乱函数反转了 64比特的次序。

在这里插入图片描述

a. 输出等于00000101重复八次。
b. 输出等于00000101重复七次+ 10000101。
c. 我们有(A R B R C R)R = CBA,其中A、B、C是字符串,R表示逆运算。因此:
  1.对于(a),输出是10100000重复八次;
  2.对于(b),输出是10100001 + (10100000重复七次)。

P5.

考虑图8-5 中的块密码。对于给定的“密钥",Alice和Bob将需要8个表,毎张表 8比特乘以8比特。对于Alice(或Bob)来说,要存储所有8张表,将需要多少比特的存储器?这个数如何与一个全表64比特的块密码所需的比特数进行比较?

共有8个表,每个表有28个条目,每个条目有8 bits,表数 * 每个表的大小 * 每个条目的大小= 8 * 28* 8= 214 bits
共有264个条目。每个条目有64bits。271bits

P6.

考虑在表8-1中的3比特块密码。假定明文是100100100.
a. 初始假设未使用CBC。生成的密文是什么?
b. 假设Trudy嗅探该密文。假设她知道正在应用无CBC的一个3比特块密码(但不知道特定的密码),她能够推测到什么?
c. 现在假设使用CBC,其中IV=111。产生的密文是什么?

在这里插入图片描述

a. 生成的密文为011011011

b. Trudy能推断出这三个明文块是相同的

c.
c(i) = KS(m(i) XOR c(i-1))
c(1) = KS(100 XOR 111) = KS (011) = 100
c(2) = KS(100 XOR 100) = KS (000) = 110
c(3) = KS(100 XOR 110) = KS (010) = 101

P7.

a. 使用RSA,选择p = 3和q =11,采用对每个字母独立加密的方法加密短语“dog”。对已加密报文应用解密算法恢复出原报文。
b. 重复(a),而此时加密“dog”作为一个报文w。

a.
p =3 ;q = 11;
n = p * q = 33;z = (p-1) *(q-1) = 20;
选取e = 9,为使得 ed mod z= 1,=> d = 9;
则:

明文字母m:数字表示me密文c=memod n
d426214425
o15384433593753
g74035360719

b.
将d o g 分别转化为5位二进制00100,01111,00111,拼起来得到001000111100111,转为十进制数m=4583,由于需要m<n。
因此取p = 43,q = 107,则n= p*q= 4601,z = (p-1) *(q-1) = 4452
选取e = 61 ,为使得 ed mod z= 1,=> d = 73;
公钥(4601,61),私钥(4601,73)
加密 c = memod n = 458361 mod 4601 = 402
解密 m = cd mod n = 40273 mod 4601 = 4583

P8.

考虑具有p = 5和q = 11的RSA,
a. n和z是什么?
b. 令e为3。为什么这是一个对e的可接受的选择?
c. 求 d 使得 de - 1 (mod z)且 d<160。
d. 使用密钥(n, e)加密报文m = 8。令c表示对应的密文。显示所有工作。提示:为了简化计算, 使用如下事实。
[(a mod n) * (b mod n) ] mod n = (a * b) mod n

n = p * q = 55;z = (p-1) *(q-1) = 40
e = 3 小于n,且e和z没有公因数
ed mod z = 1 ==> d = 27
密文c = me mod n = 17

P9.

在这个习题中,我们探讨Diffie-Hellman(DH)公钥加密算法,该算法允许两个实体协商一个共享的密钥。该DH算法利用一个大素数p和另一个小于p的大数g 。p和g 都是公开的(因此攻击者将知道它们)。在DH中,Alice 和Bob 每人分别独立地选择秘密密钥SA 和SB。Alice 则通过将g 提高到SA并以p 为模来计算她的公钥TA。类似地,Bob则通过将g 提高到SB 并以p 为模来计算他的公钥TB。此后Alice 和Bob 经过因特网交换他们的公钥。Alice 则通过将TB提高到SA 并以p为模来计算出共享密钥S。类似地,Bob则通过将TA提高到SB并以p为模来计算出共享密钥S’。
a. 证明在一般情况下,Alice和Bob得到相同的对称密钥,即证明S = S’。
b. 对于p=11和g = 2,假定Alice和Bob分别选择私钥SA = 5和SB=12,计算Alice和Bob的公钥TA和TB。显示所有计算过程。
c. 接着(b),现在计算共享对称密钥S。显示所有计算过程:
d. 提供一个时序图,显示Diffie-Hellman是如何能够受到中间人攻击的。该时序图应当具有3条垂直线,分别对应Alice、Bob和攻击者Trudy。

a.

AliceBob
私钥SASB
公钥TA= (g^SA) mod pTB= (g^SB) mod p
共享密钥S = (TB^SA) mod pS’ = (TA^SB) mod p

S
= (TB^TA) mod p
= ((g^SB mod p)^SA) mod p
= (g^(SBSA))mod p
= ((g^SA mod p)^SB) mod p = (TA ^SB)mod p = S’

b.和c.
p = 11;g = 2;SA = 5;SB=12

AliceBob
私钥SA = 5SB= 12
公钥TA= (g^SA) mod p = 10TB= (g^SB) mod p = 4
共享密钥S = (TB^SA) mod p = 1S’ = (TA^SB) mod p = 1

d.
在这里插入图片描述

  1. Trudy 收到Alice的公钥TA,并发送她自己的公钥TT给Bob
  2. 当Bob发送他的公钥TB,Trudy发送她的的公钥TT给Alice
  3. 此时,Trudy和Alice就共享密钥SAT达成一致,Trudy和Bob就共享密钥SBT达成一致
  4. 在此次交换后,Trudy只需使用公钥SAT和SBT就能解密Alice和Bob发送的任意消息

P10.

在这里插入图片描述
在这里插入图片描述

P11.

在这里插入图片描述
在这里插入图片描述

下列报文有相同校验和
在这里插入图片描述

P12.

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

P13.

在这里插入图片描述

文件被分割成大小相等的块。
对于每个块,计算其哈希值(例如使用MD5或SHA-1)。
所有块的哈希值都保存在.torrent文件中。
每当一个节点下载一个块时,它会计算该块的哈希值,并将其与.torrent文件中的哈希值进行比较。
如果两个哈希值相等,则该块是有效的。否则,该块是无效的,应被丢弃。

P14.

在这里插入图片描述

数字签名需要一个底层的公钥基础设施(PKI)和认证机构。对于OSPF,所有路由器都在同一个域中,因此管理员可以轻松地在每个路由器上部署对称密钥,而无需使用PKI

P15.

在这里插入图片描述在这里插入图片描述

Bob最初不知道自己是在和Trudy还是Alice通信。Bob和Alice共享一个私钥KA-B,而Trudy并不知道这个密钥。Trudy希望Bob能验证她(Trudy)的身份为Alice。Trudy将让Bob验证自己的身份,并等待Bob开始:

  1. Bob对Trudy说:“我是Bob” ,此时Bob开始验证自己的身份。随后,Bob对自己身份的验证会暂停几步。
  2. Trudy对Bob说:“我是Alice”,Trudy开始验证自己的身份为Alice。
  3. Bob对Trudy说:“R”,Bob回应第二步,发送一个随机数作为回复。Trudy还不知道KA-B®,因此她还无法回复。
  4. Trudy对Bob:“R”,Trudy回应第一步,继续Bob的身份验证,选择与Bob在第三步发送给她的加密值完全相同的值作为Bob加密的随机数。
  5. Bob对Trudy:“KA-B®”Bob通过加密他在第四步收到的随机数来完成自己的身份验证。Trudy现在有了KA-B®。(注:她没有,也不需要KA-B
  6. Trudy对Bob:“KA-B®”Trudy完成她的身份验证,用KA-B®回应Bob在第三步发送的R。由于Trudy返回了Bob在第三步正确加密的随机数,Bob以为Trudy是Alice!

P16.

在这里插入图片描述

这并不能真正解决问题。正如Bob之前的前半部分错误地认为自己正在验证Alice一样,Trudy也可以欺骗Alice,让她误以为自己正在验证Bob。问题的核心在于,Bob和Alice都无法确定他们所获得的公钥确实是对方的公钥。

P17.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

P18.

在这里插入图片描述

a. 不能,没有公钥和私钥对或预先共享的密钥,Bob无法验证Alice创建了该消息

b. Alice只需用Bob的公钥加密消息,并将加密的消息发送给Bob。
在这里插入图片描述

P19.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

a. 客户端

b. IP: 216.75.194.220;port: 443

c. 283

d. 3个

e. 包含一个加密的主密钥

f. 第一个字节为bc;最后一个字节为29

g. 6

P20.

在这里插入图片描述

假设SSL不提供序列号。假设Trudy,一个中间人,删除了一个TCP段。为了不让Bob察觉,Trudy还需要调整Alice发送给Bob的后续数据包中的序列号,以及Bob发送给Alice的确认号。结果将是,Bob会在不知情的情况下,在字节流中丢失相当于一个数据包的字节数。

P21.

在这里插入图片描述

不会接收,伪造的数据包将无法通过完整性检查(该检查使用共享的MAC密钥)。

P22.

在这里插入图片描述
在这里插入图片描述

a. ×;b.√;c.√;d.×

P23.

在这里插入图片描述

不会。
如果Trudy不改变序列号,R2在检查ESP头中的序列号时将检测到重复。如果Trudy增加序列号,数据包将在R2的完整性检查中失败。

P24.

在这里插入图片描述
在这里插入图片描述

P25.

在这里插入图片描述
a.
在这里插入图片描述
b.
在这里插入图片描述
c.
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词