大家好,又见面了,我是你们的朋友全栈君。
原始博客地址:密码学与网络安全第七版部分课后习题答案
第0章 序言
1.课后题汇总(仅部分)
- 第一章 思考题:1、2、4、5
- 第二章 习题:10、12、16
- 第三章 习题:9
- 第四章 思考题:4、5、6
- 第五章 习题:11
- 第六章 习题:2、6
- 第七章 思考题:2、3、4 习题:4、7、8
- 第八章 习题:2
- 第九章 思考题:5、6 习题:2、3
- 第十章 习题:1、2
- 第十一章 思考题:1、2、3
- 第十二章 思考题:1、3、4、7
- 第十三章 思考题:5
- 第十四章 思考题:2、7、10、11
- 第十五章 思考题:2、5
- 第十七章 思考题:3、8、9
- 第二十章 思考题:2、3、4、5、8
第1章 计算机与网络安全的概念
1.什么是OSI安全架构?(p6)
- OSI 安全框架是提供安全的一种组织方法,而且因为这个框架是作为国际标准而开发的, 所有计算机和通信商已经在他们的产品和服务上开发了这些安全特性,这些产品和服务与安 全服务是和安全机制的结构化定义相关联的。OSI安全框架主要关注安全攻击、机制和服务。
- 安全攻击:任何危及信息系统安全的行为
- 安全机制:用来检测、阻止攻击或从攻击状态恢复到正常状态的过程(或实现该过程的设备)。
- 安全服务:加强数据处理系统和信息传输的安全性的一种处理过程或通信服务,目的在于利用一种或多种安全机制进行反攻击。
2.被动安全威胁与主动安全威胁有何区别?(书上没找着,参考p6-p7的主动攻击和被动攻击)
- 被动威胁的本质是窃听或监视数据传输,主动威胁包含数据流的改写和错误数据流的添加。
3.列出并简要定义安全服务的种类。(p8)
- ①认证:保证通信的实体是它所声明的实体
- ②访问控制:阻止对资源的非授权使用(即这项服务控制谁能访问资源,在什么条件下可以访问,这些访问的资源可用于做什么)
- ③数据保密性:保护数据免于非授权泄露
- ④数据完整性:保证收到的数据的确是授权实体发出的数据(即未修改、插入、删除或重播)
- ⑤不可否认性:防止整个或部分通信过程中,任一通信实体进行否认的行为。
4.列出并简要定义安全机制的种类。(p10)
- ①特定安全机制:可以并入适当的安全协议层提供一些OSI安全服务
- ②普遍的安全机制:不局限与任何特定的OSI安全服务或协议层的机制
第2章 数论基础
1.求Z5中各非0元素的乘法逆元。(p25)
参考答案:
涉及知识:
- ①什么是Z5?
- 比n小的非负整数的集合为 Z n , Z n = 0 , 1 , … , ( n − 1 ) Z_n,Z_n={0,1,…,(n-1)} Zn,Zn=0,1,…,(n−1),这个集合称为类集,或者模n的剩余类。
- ②什么是乘法逆元?
- 简单来说就是这样:在 ( m o d p ) (mod p) (modp)意义下( p p p是素数),如果 a ∗ a ′ = 1 a*a’=1 a∗a′=1,那么我们就说 a ′ a’ a′是 a a a的逆元。当然啦,反过来, a a a也是 a ′ a’ a′的逆元。
- 也就是说,如果 ( a ∗ a ′ ) m o d p = 1 (a*a’)mod p=1 (a∗a′)modp=1,那么我们就说 a ′ a’ a′是 a a a的逆元。
- 求法:列表就行
- Eg:求Z8中各元素的乘法逆元
- STEP1:模8乘法 ( x ∗ y m o d 8 ) (x*y mod 8) (x∗ymod8)
- STEP2:模8乘法的逆
- STEP1:模8乘法 ( x ∗ y m o d 8 ) (x*y mod 8) (x∗ymod8)
- Eg:求Z8中各元素的乘法逆元
2.求gcd(24140,16762)和gcd(4655,12075)(p22-p23)
参考答案:
3.用扩展欧几里得算法求下列乘法逆元(p29)
核心公式:
q i = r i − 2 / r i − 1 q_i=r_i-2/r_i-1 qi=ri−2/ri−1
r i = r i − 2 − r i − 1 ∗ q i r_i=r_i-2-r_i-1*q_i ri=ri−2−ri−1∗qi
x i = x i − 2 − q i ∗ x i − 1 x_i=x_i-2-q_i*x_i-1 xi=xi−2−qi∗xi−1
y i = y i − 2 − q i ∗ y i − 1 y_i=y_i-2-q_i*y_i-1 yi=yi−2−qi∗yi−1
解题模板参考下题(a)
(a)1234mod4321
(b)24140mod40902
©550mod1769
第3章 传统加密技术
1. Playfair密码解密
当海军上尉John F.Kennedy 管理的美国巡逻船PT-109被日本毁灭者击沉时,位于澳大利亚的一个无线站截获了一条用Playfair密码加密的消息:
KXJEY UREBE ZWEHE WRYTU HEYFS
KREHE GOYFI WTTTU OLKSY CAJPO
BOTEI ZONTX BY_BWT GONEY CUZWR
GDSON SXBOU YWRHE BAAHY USEDQ
密钥为roy_al new Zealand navy
.请解密这条消息,将TT
换为tt
.
-
STEP1:构造密匙字母矩阵
方法:构造5X5
的字母矩阵,先将密匙中包含的字母挨个填入字母矩阵(不重复),入上图的下划线部分,再把剩下的继续按A-Z
的顺序填入字母矩阵,I/J
算同一个 -
STEP2:分解字母对
-
STEP3:解密
方法:每个密文字母都取其对应的明文字母- ①若两个字母处于字母矩阵的同一行,则每个字母都取其左边的一个字母,最左边字母取最右边的。
- ②若两个字母处于字母矩阵的同一列,则每个字母都取其上面的一个字母,最上边字母取最下边的。
- ③若两个字母不同行业不同列,那就各反取对角,明文字母和密文字母在同一行
-
STEP4:提取信息
PT BOAT ONE OWE NINE LOST IN ACTION IN BLACKETT ATART TWO MILES SW MERESU COVE X CREW OF TWELVE X REQUEST ANY INFORMATION X
第4章 分组密码和数据加密标准
1.什么是乘积密码(p74)
- 乘积密码是指依次使用两个或两个以上的基本密码,所得结果的密码强度将强与所有单个密码的强度.
2.混淆和扩散的区别(p75)
- 扩散(Diffusion):明文的统计结构被扩散消失到密文的,使得明文和密文之间的统计关系尽量复杂.即让每个明文数字尽可能地影响多个密文数字
- 混淆(confusion):使得密文的统计特性与密钥的取值之间的关系尽量复杂,阻止攻击者发现密钥
3.哪些参数与设计决定了实际的Feistel密码算法?(p75-p77)
- ①分组长度:分组越长意味着安全性越高,但是会降低加/解密的速度。
- ②密钥长度:密钥越长意味着安全性越高,但是会降低加/解密的速度。
- ③迭代轮数:Feistel密码的本质在于单轮不能提供足够的安全性,而多轮加密可- 取的很高的安全性。
- ④子密钥产生算法:子密钥产生越复杂,密码分析就越困难。
- ⑤轮函数:轮函数越复杂,抗攻击能力就越强
- ⑥快速软件加/解密:加密算法被嵌入到应用程序中,以避免硬件实现的麻烦,因此,算法执行的速度很重要。
- ⑦简化分析难度:如果算法描述起来简洁清楚,那么分析其脆弱性也就容易一些,因而可以开发出更强的算法。
第5章 有限域
1.求x3+x+1在GF(24)里的乘法逆元,模m(x)=x4+x+1
- 参考答案+解题模板:
- 计算优化
- 核心公式:
q i ( x ) = r i − 2 ( x ) / r i − 1 ( x ) q_i(x)=r_{i-2}(x)/r_{i-1}(x) qi(x)=ri−2(x)/ri−1(x)
r i ( x ) = r i − 2 ( x ) − r i − 1 ( x ) ∗ q i ( x ) r_i(x)=r_{i-2}(x)-r_{i-1}(x)*q_i(x) ri(x)=ri−2(x)−ri−1(x)∗qi(x)
v i = v i − 2 − q i ∗ v i − 1 v_i=v_i-2-q_i*v_i-1 vi=vi−2−qi∗vi−1
w i = w i − 2 − q i ∗ w i − 1 w_i=w_i-2-q_i*w_i-1 wi=wi−2−qi∗wi−1
注意: G F ( 2 n ) GF(2^n) GF(2n)上所有的运算皆为模2运算
第6章 高级加密标准
1.在GF ( 2 8 ) (2^8) (28)上{01}的逆是什么?
注意: G F ( 2 8 ) GF(2^8) GF(28)上的运算都是模2运算
参考答案:
注意:01为16进制
使用拓展欧几里得算法
28=256
∴在GF(28)上{01}的逆是{01}
拓展
求 G F ( 2 8 ) GF(2^8) GF(28)上{95}的逆(注意:95为16进制)
使用拓展欧几里得算法
拓 展 题 − 典 型 错 误 解 法 : \color{red}{拓展题-典型错误解法}: 拓展题−典型错误解法:
28=256 95H=149
拓展题-正确解法– G F ( 2 N ) GF(2^N) GF(2N)上的运算都是模2运算
特别注意–GF(28)的既约多项式为x8+x4+x3+x+1
∴ G F ( 2 8 ) GF(2^8) GF(28)上{95}的逆是{8A}
2.验证{01}在S盒中的项(p115,p117)
涉及知识
①怎么验证看课表p117
②S盒和逆S盒在p115
3. 对如下所述的DES中的元素,指出AES中与之相对应的元素,或解释AES中为什么不需要该元素:
- ①f函数的输入与子密钥相异或;
- 轮密匙加
- ②f函数的输出与分组最左的部分相异或;
- 不需要,∵每轮都使用代替和混淆将整个数据细分为一个单一的矩阵处理
- ③f函数
- 字节代替、行移位、列混淆、轮密匙加
- ④置换P;
- 行移位
- ⑤交换分组长度相等的两部分
- 不需要,∵每轮都使用代替和混淆将整个数据细分为一个单一的矩阵处理
第7章 分组加密的工作方式
1.什么是中间相遇攻击?(p137)
是密码学上以空间换取时间的一种攻击。中途相遇攻击(meet-in-the-middle attack)可成倍减少解密已被多个密钥加密的文本所进行的蛮力排列操作。这种攻击可以使入侵者更容易获取数据。
2.在三重加密中一个用到了几个密匙(p138)
2个
3.为什么3DES的中间部分采用了解密而不是加密?(p138)
第二步采用解密运算并没有什么密码学上的含义,这仅仅是为了使用三重DES的用户可以利用该算法解密单DES加密的数据。
4. DES的ECB模式和CBC模式
在DES的ECB模式中,若在密文的传输过程中,某一块发生错误则只有相应的明文分组会有影响。然而,在CBC模式中,这种错误具有扩散性。比如,图7.4中传输C1时发生的错误将会影响明文分组P1,P2
a.P2以后的所有块是否会受到影响
b.假设P1本来就有一位发生了错误。则这个错误要扩散至多少个密文分组?对接收者解密后的结果有什么影响
参考答案
a.不会受到影响
b.会在加密过程中传递到每一个密文分组。对接收者解密后,P1与加密前一样有一位的错误,而对其他Ci能够解密得到无错误的密文。
5. DES的CBC模式和CFB模式
参考答案
安全性,密文分组是否会泄露关于明文分组的信息等
6. 在8位的cfb模式中,若传输中一个密文字符发生了一位错,这个错误将传播多远
参考答案
9个明文字符受到影响,因为除了与密文字符和对应的一个明文字符受影响外,受影响的该明文字符进入移位寄存器,直到接下来的8个字符处理完毕后才移出。
第8章 伪随机数的产生和流密码
1.伪随机数发生器
- a.下述的伪随机数发生器可获得的最大周期是多少?
- X n + 1 = ( a ∗ X n ) m o d 24 X_n+1=(a*X_n) mod 24 Xn+1=(a∗Xn)mod24
- 参考答案:最大周期为4
- b.这时a为多少?
- 参考答案:3、5、11、13
- c.对种子有什么要求?
- 参考答案:种子必须为奇数,即 X 0 X_0 X0=1,3,5,7,9,11,13,15
第9章 公钥密码学与RSA
1.什么是单向函数?(p198-p199)
课本上自己画
2.什么是单向陷门函数?(p199)
课本上自己画
3.RSA秘钥生成及加密解密的计算
涉及知识(打印版看不清可以看课本p201)
题目-用RSA实现加密和解密:
a.p=3;q=11;e=7;M=5
密钥产生:
① n = p ∗ q = 3 ∗ 11 = 33 n=p*q=3*11=33 n=p∗q=3∗11=33
② φ ( n ) = ( p − 1 ) ∗ ( q − 1 ) = 2 ∗ 10 = 20 φ(n)=(p-1)*(q-1)=2*10=20 φ(n)=(p−1)∗(q−1)=2∗10=20
③ d ≡ 1 m o d φ ( n ) 即 7 d = 1 m o d 20 d≡1modφ(n)即7d=1mod20 d≡1modφ(n)即7d=1mod20
=>d=3
所以,公钥PU={7,33}
,私钥PR={3,33}
加密:
C = M e m o d n = 57 m o d 33 = 14 C=Me mod n=57 mod 33=14 C=Memodn=57mod33=14—注意怎么算的
解密:
M = C d m o d n = 143 m o d 33 = 5 M=Cd mod n=143 mod 33=5 M=Cdmodn=143mod33=5—注意怎么算的
4.在使用RSA的公钥体制中,已截获发给用户的密文C=10,该用户的公钥e=5,n=35,那么明文M是多少
参考答案
欧拉函数 φ ( n ) = 24 φ(n)=24 φ(n)=24
d m o d 24 = 1 dmod24=1 dmod24=1
可得 d = 5 d=5 d=5
M = C d m o d n = 105 m o d 35 = 5 M=Cd mod n=105 mod 35=5 M=Cdmodn=105mod35=5—注意怎么算的
第10章 密钥管理和其他公钥密码体制
1.用户A和B在使用Diffie-Hellman密匙交换技术来交换密匙,设公钥的素数q=71,本原根α=7
a.若用户A的私钥XA=5,则A个公钥 Y A Y_A YA为多少?
参考答案: Y A = 75 m o d 71 = 51 Y_A=75mod71=51 YA=75mod71=51
b.若用户B的私钥XB=12,则B个公钥 Y B Y_B YB为多少?
参考答案: Y B = 712 m o d 71 = 4 Y_B=712mod71=4 YB=712mod71=4
c.共享密钥为多少?
参考答案: K = ( Y A X B ) m o d 71 = 5112 m o d 71 = 30 K= (Y_A^XB)mod71=5112mod71=30 K=(YAXB)mod71=5112mod71=30
或者: K = ( Y B X A ) m o d 71 = 45 m o d 71 = 30 K= (Y_B^XA)mod71=45mod71=30 K=(YBXA)mod71=45mod71=30
2.设Diffie-Hellman方法中,公钥素数q=11,本原根α=2。
a.证明2是11的本原根
参考答案:
2 1 m o d 11 = 2 2^1 mod 11=2 21mod11=2
2 2 m o d 11 = 4 2^2 mod 11=4 22mod11=4
2 3 m o d 11 = 8 2^3 mod 11=8 23mod11=8
2 4 m o d 11 = 5 2^4 mod 11=5 24mod11=5
2 5 m o d 11 = 10 2^5 mod 11=10 25mod11=10
2 6 m o d 11 = 9 2^6 mod 11=9 26mod11=9
2 7 m o d 11 = 7 2^7 mod 11=7 27mod11=7
2 8 m o d 11 = 3 2^8 mod 11=3 28mod11=3
2 9 m o d 11 = 6 2^9 mod 11=6 29mod11=6
2 10 m o d 11 = 1 2^{10} mod 11=1 210mod11=1
∴2是11的本原根
b.若用户A的公钥Y_A=9,则A个私钥XA为多少?
参考答案:(2^XA) mod 11=9 ∴XA=6
c.若用户B的公钥Y_B=3,则共享密钥K为多少?
参考答案:K= (Y_B^XA)mod11=36 mod 11=3
第11章 密码学Hash函数
1.安全Hash函数需要具有哪些特征?(p240)
- ①输入长度可变
- ②输出长度固定
- ③效率
- ④抗原像攻击(单向性)
- ⑤抗第二原像攻击(抗弱碰撞性)
- ⑥抗碰撞攻击(抗强碰撞性)
- ⑦伪随机性
2.抗弱碰撞性和抗强碰撞之间的区别是什么?(p240)
见课本
3.Hash函数的压缩函数的作用是什么?
压缩函数将一个较长的、固定长度的输入处理后返回一个较短的、固定长度的输出。
第12章 消息认证码
1.消息认证是为了对付哪些类型的攻击?(p264-p265)
- ①伪装
- ②内容修改
- ③顺序修改
- ④计时修改
2.产生消息认证有哪些方法?(p265)
- ①Hash函数
- ②消息加密
- ③消息认证码(MAC)
3.对称加密和错误控制码一起用于消息认证时,这两个函数必须以何种顺序执行?
先错误控制码,后对称加密
4.为提供消息认证,应以何种方式保证Hash值的安全?
- a.用对称密码对消息及附加在其后的Hash码加密。
- b.用对称密码仅对Hash加密。
- c.用公钥密码和发送方的密钥仅对Hash加密。
- d.若寄希望保证保密性有希望有数字签名,则先用发送方的密钥对Hash码加密
- e.该方法使用Hash函数但不使用加密函数来进行消息认证。
- f.如果对整个消息和Hash码加密,则(e)中的方法可提供保密性。
第13章 数字签名
1.签名函数和保密函数应以何种顺序作用与消息?为什么?
先执行签名函数,再执行加密函数。这样在发生争执时,第三方可以查看消息及其签名。这种先后次序非常重要,如果先对消息加密,然后再对消息的密文签名,那么第三方必须知道解密密钥才能读取原始消息。
第14章 密钥管理和分发
1.会话密钥和主密钥之间有什么不同?
主密钥是被客户机和服务器用于产生会话密钥的一个密钥。这个主密钥被用于产生客户端读密钥,客户端写密钥,服务器读密钥,服务器写密钥。主密钥能够被作为一个简单密钥块输出。
会话密钥是指:当两个端系统希望通信,他们建立一条逻辑连接。在逻辑连接持续过程中,所以用户数据都使用一个一次性的会话密钥加密。在会话和连接结束时,会话密钥被销。
2.公钥目录的必要要素是什么?
一是目录管理员的私钥安全,二是目录管理员保存的记录安全。
3.X.509标准的用途是什么?(p319)
X.509标准是一个广为接受的方案,用来规范公钥证书的格式。证书在大部分网络安全应用中都有使用,包括IP安全、传输层安全(TLS)和S/MIME。
4.什么是证书链?
数字证书由颁发该证书的签名。多个证书可以绑定到一个信息或交易上形成证书链,证书链中每一个证书都由其前面的数字证书进行鉴别。最高级的必须是受接受者信任的、独立的机构。
第15章 用户认证
1.列出三个常用的防止重放攻击的方法(p332)
- ①对每一个用于认证交互的消息附上一个序列号。
- ②时间戳:只有当消息中包含一个时间戳时,A才接收该消息。
- ③挑战/应答:A想要一个来自B的新消息,首先发给B一个临时交互号,并要求后面从B收到的消息(回复)中包含正确的临时交互号。
2.在网络或者Internet上,和用户认证相关联的三个威胁是什么?
- ①用户可能通过某种途径进入工作站并假装成其他用户操作工作站。
- ②用户可以通过变更工作站的网络地址,从该机上发送伪造的请求。
- ③用户可以静听信息或使用重放攻击,以获得服务或破坏正常操作。
第17章 传输层安全
1.TLS连接和TLS会话的区别是什么?(p381)
书上自己画
2.HTTPS的目的是什么?
在 http 的基础上结合 ssl 来实现网络浏览器和服务器的安全通信。
3.哪些应用程序可以使用SSH?
远程登录工具,文件传输工具等
第20章 IP安全性
1.IPSec提供哪些服务?
- ①访问控制
- ②连接完整性
- ③数据源认证
- ④拒绝重放包(部分顺序完整性格式)
- ⑤保密性(加密)
- ⑥限制流量保密性
2.哪些参数标识SA,哪些参数刻画一个特定SA的本质?
由安全参数索引、IP目的地址、安全协议标识三个参数确定一个SA。由“序列号计数器,序列计数器溢出,反重放窗口,AH信息,ESP信息,此安全关联的生存期,IPSec 协议模式,最大传输单元路径”等参数表示一个特定的SA。
3.指出传输模式和隧道模式的区别
传输模式是对IP数据包的载荷(上层协议)、IPV6报头的扩展部分进行保护和认证;隧道模式是对整个内部IP包、IPV6报头的扩展部分进行保护和认证。
4.什么是重放攻击?
重放攻击就是一个攻击者得到了一个经过认证的包的副本,稍后又将其传送到其希望被传送到的目的的站点的攻击。
5.IPSec中的Oakley密钥确定协议和ISAKMP的作用是什么?
IPSec的密钥管理部分包括密钥的确定和分发。分手动密钥管理和自动密钥管理两种类型。Oakley和ISAKMP就是IPSec的自动密钥管理协议。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143432.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...