《密码编码学与网络安全》复习题答案资料.doc

上传人:h**** 文档编号:1442270 上传时间:2019-02-27 格式:DOC 页数:13 大小:210.83KB
下载 相关 举报
《密码编码学与网络安全》复习题答案资料.doc_第1页
第1页 / 共13页
《密码编码学与网络安全》复习题答案资料.doc_第2页
第2页 / 共13页
《密码编码学与网络安全》复习题答案资料.doc_第3页
第3页 / 共13页
《密码编码学与网络安全》复习题答案资料.doc_第4页
第4页 / 共13页
《密码编码学与网络安全》复习题答案资料.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、密码编码学与网络安全复习题1 信息安全(计算机安全)目标是什么?机密性(confidentiality):防止未经授权的信息泄漏 完整性(integrity):防止未经授权的信息篡改可用性(avialbility):防止未经授权的信息和资源截留抗抵赖性、不可否认性、问责性、可说明性、可审查性(accountability ):真实性(authenticity):验证用户身份2 理解计算安全性(即 one-time pad 的理论安全性)使用与消息一样长且无重复的随机密钥来加密信息,即对每个明文每次采用不同的代换表不可攻破,因为任何明文和任何密文间的映射都是随机的,密钥只使用一次3 传统密码算法

2、的两种基本运算是什么?代换和置换前者是将明文中的每个元素映射成另外一个元素;后者是将明文中的元素重新排列。4 流密码和分组密码区别是什么?各有什么优缺点?分组密码每次处理一个输入分组,对应输出一个分组;流密码是连续地处理输入元素,每次输出一个元素流密码 Stream: 每次加密数据流的一位或者一个字节。连续处理输入分组,一次输出一个元素,速度较快。5 利用 playfair 密码加密明文 bookstore,密钥词是(HARPSICOD) ,所得的密文是什么?I/JD RG LR QD HGHARPS bo ok st or ex I/JD DG PU GO GV I/JCODBEFGKLMN

3、QTUVWXYZ6 用密钥词 cat 实现 vigenere 密码,加密明文 vigenere coper,所得的密文是什么?XIZGNXTEVQPXTKey: catca t ca tcatcatcatPlaintext: vigenere coperChipertext: XIZGNXTE VQPXT7 假定有一个密钥 2431 的列置换密码,则明文 can you understand 的密文是多少?YNSDCODTNURNAUEAKey: 2 4 3 1Plaintext: c a n yo u u nd e r st a n dChipertext: YNSDCODTNURNAUEA

4、8 什么是乘积密码?多步代换和置换,依次使用两个或两个以上的基本密码,所得结果的密码强度将强与所有单个密码的强度.9 混淆和扩散的区别是什么?扩散(Diffusion):明文的统计结构被扩散消失到密文的,使得明文和密文之间的统计关系尽量复杂.即让每个明文数字尽可能地影响多个密文数字混淆(confusion):使得密文的统计特性与密钥的取值之间的关系尽量复杂,阻止攻击者发现密钥10 Feistel 密码中每轮发生了什么样的变化?将输入分组分成左右两部分。以右半部数据和子密钥作为参数,对左半部数据实施代换操作。将两部分进行互换,完成置换操作。11 S-Box 的概念 S 盒用在 DES 算法中,每

5、个 s 盒都由 6 位输入产生 4 位输出,所有说,s 盒定义了一个普通的可逆代换。相当程度上,DES 的强度取决于 s 盒的设计,但是,s 盒的构造方法是不公开的12 AES 每轮变化中设计的基本操作有哪些?每轮包括 4 个阶段:字节代换、行移位、列混淆、轮密钥加13 DES、AES 和 RC4 之间的比较(建议比较分组大小、密钥长度、相对速度、安全强度、轮数、是否 Feistel 体制、基本操作等若干方面)*算法 DES AES RC4分组长度(bit) 64 128 流密码密钥长度 56 128/196/256 不少于 128相对速度 较快 慢 很快安全强度 255(穷举) 很难轮数 1

6、6 10/12/14 -是否 Feistel 体制 是 不是 ? 14 AES 与 DES 相比有优点?3DES 与 DES 相比的变化有哪些?什么是 2DES 中的中间相遇攻击?(1) AES 更安全。(2) 3DES 增加了 1 到 2 个密钥,进行多轮 DES,安全性更高。(3) C = EK2(EK1(P) X = EK1(P) = DK2(C) 给定明文密文对(P,C) 对所有 256 个密钥,加密 P,对结果按 X 排序与 T 中 对所有 256 个密钥,解密 C,解密结果与 T 中的值比较 找出 K1,K2 使得 EK1(P) = DK2(C) 用 k1 和 k2 对 P 加密,

7、若结果为 C,则认定这两个密钥为正确的密钥15 分组密码的工作模式有哪些?及优缺点?A ECB,电码本模式,一次处理 64 位明文,每次使用相同的密钥加密。任何 64 位的明文组都有唯一的密文与之对应,有“结构化”的缺点。B CBC,密码分组连接模式,克服了 ECB 中“结构化”的缺点,同样的明文变成密文之后就不同了,而且加密必须从头到尾C CFB,密码反馈模式一次处理位,上一个分组的密文产生一个伪随机数输出的加密算法的输入,该输出与明文的异或,作为下一个分组的输入。 D OFB,输出反馈模式,与基本相同,只是加密算法的输入是上一次 DES 的输出。E 计数器模式,计数器被初始化为某个值,并随

8、着消息块的增加其值加 1,在于明文组异或得到密文组。也可用于流密码。16 RSA 算法中密钥的生成和加密解密过程。生成过程 RSA 的加解密为 : 给定消息 M = 88 ( 88187) 加密:C = 887 mod 187 = 11 解密:M = 1123 mod 187 = 8817 RSA 算法计算实例(给定 p,q,e,m/c,计算 n, ,d,c/m))(n1. 选择素数: p=17 选择 e=75. 确定 d: de=1 mod 160 and d 160, d=23因为 237=161= 1160+16. 公钥 KU=7,1877. 私钥 KR=23,17,1118 描述 Di

9、ffie-Hellman 密钥交换机制。算法:A 双方选择素数 p 以及 p 的一个原根 aB 用户 A 选择一个随机数 Xa p,计算 Ya=aXa mod pC 用户 B 选择一个随机数 Xb p,计算 Yb=aXb mod pD 每一方保密 X 值,而将 Y 值交换给对方E 用户 A 计算出 K=YbXa mod pF 用户 B 计算出 K=YaXb mod pG 双方获得一个共享密钥(aXaXbmod p)素数 p 以及 p 的原根 a 可由一方选择后发给对方19 描 述Diffie-Hellman 算法(DH 算法)中中间人攻击发生的过程。中间人攻击1 双方选择素数 p 以及 p 的

10、一个原根 a(假定 O 知道)2 A 选择 Xap,计算 Ya=aXa mod p, AB: Ya3 O 截获 Ya,选 Xo,计算 Yo=aXo mod p,冒充 AB:Yo4 B 选择 Xbp,计算 Yb=aXb mod p, BA: Yb5 O 截获 Yb,冒充 BA:Yo6 A 计算: (Xo)Xa(aXo)Xa aXoXa mod p7 B 计算: (Xo)Xb(aXo)XbaXoXb mod pXAqYA=aXAmodqK=(YB)XAmod q XBqYB=aXBmodqK=(YA)XBmod qYAYBA B8 O 计算: (Ya)XoaXaXo mod p, (Yb)XoaX

11、bXo mod pO 无法计算出 aXaXb mod pO 永远必须实时截获并冒充转发 ,否则会被发现20 如何使用公钥密码实现数据的保密性、完整性和数据源认证(签名)?发送方用其私钥对消息“签名” 。可以通过对整条消息加密或者对消息的一个小的数据块(消息认证码/摘要)加密来产生。E(K,M|E(PRa,H(M) 其中 K 为 PUb解密时,第一步解密使用 B 的私钥,然后使用 A 的公钥。21 对比对称算法和公钥算法?(建议从用途,速度和效率等方面)对称算法:速度快,主要用于数据加密,只有一个密钥。公钥算法:速度较慢,主要用于数字签名和密钥交换,有两个密钥22 对称密钥分配有哪些方法?(注意

12、和重放攻击相结合)对于参与者 A 和 B,密钥分配有以下几种:A 密钥由 A 选择,并亲自交给 BB 第三方选择密钥后亲自交给 A 和 BC 如果 A 和 B 以前或最近使用过某密钥,其中一方可以用它加密一个新密钥后在发送给另一方。D A 和 B 与第三方均有秘密渠道,则 C 可以将一密钥分别发送给 A 和 B别人卷子上的分配方式:传统加密方法 Needham/Schroeder Protocol 1978 1、A KDC:IDA|IDB|N1 2、KDC A:EKaKs|IDB|N1|EKbKs|IDA 3、A B : EKbKs|IDA 4、B A: EKsN2 5、A B : EKsf(

13、N2)保密密钥 Ka 和 Kb 分别是 A 和 KDC、B 和 KDC 之间共享的密钥。本协议的目的就是要安全地分发一个会话密钥 Ks 给 A 和 B。 A 在第 2 步安全地得到了一个新的会话密钥,第 3 步只能由 B 解密、并理解。第 4 步表明B 已知道 Ks 了。第 5 步表明 B 相信 A 知道 Ks 并且消息不是伪造的。第 4,5 步目的是为了防止某种类型的重放攻击。特别是,如果敌方能够在第 3 步捕获该消息,并重放之,这将在某种程度上干扰破坏 B 方的运行操作。上述方法尽管有第 4,5 步的握手,但仍然有漏洞假定攻击方 C 已经掌握 A 和 B 之间通信的一个老的会话密钥。C 可

14、以在第 3 步冒充 A 利用老的会话密钥欺骗 B。除非 B 记住所有以前使用的与 A 通信的会话密钥,否则 B 无法判断这是一个重放攻击。如果 C 可以中途截获第 4 步的握手信息,则可以冒充 A 在第 5 步响应。从这一点起,C 就可以向 B 发送伪造的消息而对 B 来说认为是用认证的会话密钥与 A进行的正常通信。Denning Protocol 1982 改进(加入时间戳): 1、A KDC:ID A|IDB2、KDC A:E KaKs|IDB|T|EKbKs|IDA|T3、A B : EKbKs|IDA|T4、B A: EKsN15、A B : EKsf(N1)| Clock - T |

15、 t1 + t2 其中: t1 是 KDC 时钟与本地时钟( A 或 B)之间差异的估计值;t2 是预期的网络延迟时间。23 公钥算法中公钥的分配和管理有哪些方法?公钥的分配A 公开发布B 公开可访问目录C 公钥授权D 公钥证书24 消息认证码的概念和基本用途?(237 页图)MAC(Message Authentication Code) ,消息认证码,也是一种认证技术,它利用密钥来产生一个固定长度的短数据块,并将数据块附加在消息之后,格式如:MAC(M)| M。消息和 MAC 一起发送到接受方。从而,接受方可以知道消息没有经过篡改,真正来自发送方(MAC 的密钥)和消息的时效性(如果 MA

16、C 中包含序列号) 。从这个层面来说,hash 是没有密钥的 MAC25 什么是散列函数的基本用途有哪些?(239 页图)保密、认证和签名26 安全散列函数有哪些特性? 什么是碰撞?找到一个碰撞意味着什么?代价是多大?生日悖论和生日攻击。Hash 算法的特点有 输入变长的分组,输出是一定长的分组; 任意 x,计算 H(x)容易,软件和硬件都可以实现 已知 H(x)= h,求 x 是不可行的,只是在计算上不可行(单向性) 任意 x,找到 y,使 H(x)=H(y)计算上不可行(抗弱碰撞性) 找到满足 H(x)=H(y)的(x,y)计算上不可行(抗强碰撞性)碰撞指的是散列值相同而原值不同。找到一个

17、碰撞意味着可以替换原来的消息。单向 2n弱无碰撞 2n强无碰撞 2n/2 生日问题:一个教室中,最少应有多少学生,才使至少有两人具有相同生日的概率不小于1/2?概率结果与人的直觉是相违背的. 实际上只需 23 人, 即任找 23 人,从中总能选出两人具有相同生日的概率至少为 1/2。根据生日攻击原理,对长度为 m 位的散列码,共有 2m 个可能的散列码,若要使任意的x,y 有 H(x)=H(y)的概率为 0.5,只需 k=2m/227 消息认证码和散列函数有哪些区别?散列函数(Hash):将任意长度的消息变换为定长的消息摘要,并加以认证。消息认证码(MAC):依赖公开的函数(密钥控制下)对消息

18、进行处理,生成定长的认证标识,并加以认证。 28 HMAC 的原理hash 是没有密钥的 MAC,所以不可以直接将 hash 算法(MD5,SHA1)直接用在 MAC 上,所以,HMAC 实现的目标就是将密钥加入到 hash 函数中,简单的说,就是“带密钥的hash”。29 安全 hash 码的基本结构( Merkle 提出的)?30 MD5 和 SHA-1 间的差异?(建议从输入、输出、轮数、强度和速度等几个方面比较)MD5 SHA-1 摘要长度 128 位 160 位基本处理单位 512 位 512 位步数 64(4 of 16) 80(4 of 20) 最大消息长度 无限 264-1 位

19、 基本逻辑函数 4 4 加法常数 64 4 Endianness Little-endian Big-endian 性能 32.4 Mbps 14.4Mbps31 什么是数字签名?如何理解 RSA 私钥运算结果做为数字签名?【提示:最简单的数字签名是:EKRa( M) 即用 a 的私钥(KRa)加密消息 M,接受方 b 用 a 的公钥解密,得到 M,b 就可以认为 M 来自 a,因为其他人不可能有 a 的私钥;而且消息没有经过修改,因为修改后的秘文不能用 a 的公钥解开,从而实现了数字签名。 】32 如何实现用签名进行身份和消息认证?【提示:上面算法的改进算法就可以实现用签名进行身份和报文鉴别

20、:EKRa( H(M) )|M 。先将消息 M 用 hash 算法(MD5 or SHA1)算出 mac(消息认证码) ,然后,用 a 的私钥加密此认证码,最后和原始的消息并在一起,发送到接受方 b。b 首先用 a 的公钥 KPa 解密前面部分,然后用同样的hash 算法对 M 进行 hash 操作,比较两个结果是否相等。从而实现身份和消息认证。33 数字签名的作用是什么当通信双方发生了下列情况时,数字签名技术必须能够解决引发的争端:(1) 否认,发送方不承认自己发送过某一报文。(2) 伪造,接收方自己伪造一份报文,并声称它来自发送方。(3) 冒充,网络上的某个用户冒充另一个用户接收或发送报文

21、。(4) 篡改,接收方对收到的信息进行篡改。34 公钥算法 RSA、DH 和 DSS 算法的用途是什么?RSA加密 /解密、数字签名、密钥交换DH密钥交换DSS数字签名35 实体认证(身份认证)和消息认证的区别是什么?身份认证是验证主体的真实身份与其所声称的身份是否符合的过程。消息认证是是一个证实收到的消息来自可信的源点且未被篡改的过程。即验证收到的消息确实是来自真正的发送方且未被修改的消息,也验证消息的顺序和及时性。是为了确认被认证的实体与一些特定数据项有着静态的联系,而身份认证主要是在连接建立或者在数据传送阶段的某些时刻使用的。36 什么是消息重放?有哪些方法可以抵御消息的重放攻击,各有什

22、么特点?消息重放:攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的。对付重放攻击的一种方法是在认证交换中使用一个序列号来给每一个消息报文编号。仅当收到的消息序数顺序合法时才接受之。但这种方法的困难是要求双方必须保持上次消息的序号。两种更为一般的方法是:时间戳:A 接受一个新消息仅当该消息包含一个时间戳,该时间戳在 A 看来,是足够接近 A 所知道的当前时间;这种方法要求不同参与者之间的时钟需要同步。挑战/应答方式。 (Challenge/Response)A 期望从 B 获得一个新消息,首先发给 B一个临时值(challenge),并要求后续从 B 收到的消息(response)包含正

23、确的这个临时值。 挑战问/应答方法不适应非连接性的应用,因为它要求在传输开始之前先有握手的额外开销,这就抵消了无连接通信的主要特点。37 对称密钥分配方式中有什么问题,如何避免?(针对消息重放攻击)当采用传统对称加密方式时,发送者不能根据内容区分是发送的消息还是接收的消息,这种攻击是可能的。 加入时间戳。 38 Kerberos 系统适合什么样环境中的认证服务?它采用了什么方法来防止攻击者窃取并使用票据?kerberos 系统的认证过程,每个步骤的作用?分布式服务器 C/S 环境AS 用安全方式向用户和 TGS 各自提供一个秘密信息,然后用户也以安全方式向 TGS出示该秘密来证明自己的身份。这

24、个秘密就是会话密钥。认证服务交换:获得票据许可票据(1 ) C AS : IDC | IDtgs | TS1 (2 ) AS C : EKCKc,tgs | IDtgs | TS2 | Lifetime2 | TickettgsTickettgs = EKtgs Kc,tgs | IDC | ADC | IDtgs | TS2 | Lifetime2客户端收到消息(2)后,输入口令,生成 kC, 解密获得 Tickettgs, 及 AS 产生的 tgs 和客户共享密钥 Kc,tgs 票据许可服务交换:获得服务许可票据(3) C TGS : IDV | Tickettgs | Authentic

25、atorc 接收方 tgs 接收 Tickettgs,验证票据,获取 Kc,tgs, 并用该密钥解密客户端发来的认证符Authenticatorc ,验证客户端身份Tickettgs = EKtgsKc,tgs| IDC| ADC| IDtgs | TS2 | Lifetime2Authenticatorc = EKc,tgsIDc|ADc|TS3为被请求的服务器生成服务授权票据 Ticketv ,并发送给客户端(4) TGS C : EKc,tgsKc,v | IDV | TS4 | TicketvTicketv = EKVKc,v|IDC|ADC| IDv|TS4|Lifetime4当客户

26、端收到 tgs 发送的该消息后,使用 Kc,tgs,解密获得 Ticketv,及 tgs 产生的客户和服务器共享的密钥 Kc,v39 什么是证书和 CA?X.509 证书包含哪些内容?证书:CA 颁发的一种数字介质(文件) ,用来对证书主体的身份进行鉴别和认证。证书的内容包含证书主体的信息,公钥,以及 CA 的签名等等。CA: CA 是 PKI 的核心执行机构,是 PKI 的主要组成部分,它是数字证书的申请注册、证书签发和管理机构.CA 的主要职责是: 验证并标识证书申请者的身份。 确保 CA 用于签名证书的公钥的质量和安全性。 管理证书信息资料。 (CRL,LDAP 等等)主要内容 版本:标

27、识不同版本的证书; 序列号:标识证书唯一性的整数; 签名算法标识符:标识签名算法及参数; 颁发者名字:创建和签名该证书的 CA 的 X.500 名字; 有效期:两个日期组成:起始时间和结束时间; 主体名:证书提及的用户名; 主体的公钥信息:主体的公钥及这个密钥使用算法的标识符,和算法的相关参数;40 PKI 公钥基础设施是基于证书的认证体系结构。它包含哪些基本元素?【提示:包含认证机构 CA、证书和证书库(X.509 标准) 、密钥备份及恢复、密钥和证书的更新(CRL ) 、交叉认证(证书链或者信任树的概念)41 安全电子邮件(1) SMTP/POP3 的安全问题?SMTP(simple ma

28、il transfer protocal)简单邮件传输协议和 POP3(post office protocal)邮局协议用于 Internet 上的邮件传输和发送,协议设计的本身没有安全性的,邮件在传输的过程中容易被偷听或者篡改。1)垃圾邮件包括广告邮件、骚扰邮件、连锁邮件、反动邮件等。垃圾邮件会增加网络负荷,影响网络传输速度,占用邮件服务器的空间。2)诈骗邮件通常指那些带有恶意的欺诈性邮件。利用电子邮件的快速、便宜,发信人能迅速让大量受害者上当。3)邮件炸弹指在短时间内向同一信箱发送大量电子邮件的行为,信箱不能承受时就会崩溃。4)通过电子邮件传播的病毒通常用 VBScript 编写,且大多

29、数采用附件的形式夹带在电子邮件中。当收信人打开附件后,病毒会查询他的通讯簿,给其上所有或部分人发信,并将自身放入附件中,以此方式继续传播扩散。端到端的安全电子邮件技术,保证邮件从被发出到被接收的整个过程中,内容保密、无法修改、并且不可否认。目前的 Internet 上,有两套成型的端到端安全电子邮件标准:PGP和 S/MIME。它一般只对信体进行加密和签名, 而信头则由于邮件传输中寻址和路由的需要,必须保证原封不动。(2) PGP 的原理发送方首先使用 md5 实现对明文的完整性认证,然后使用私钥对散列值进行数字签名,再对签名散列值以及明文消息拼接,对该拼接结果进行压缩,利用随机产生的密钥对压

30、缩结果进行加密,增加了加密速度,实现消息的保密性。该随机密钥用接收方公钥加密,将加密后的密钥与密文拼接,实现密钥的保密性。再经过基 64 位变换,得到 ascII 文本在网络中传输。当数据到达接收方时,通过私钥解密对称密钥,然后对密文解密,进行压缩逆变换,得到明文消息和用发送方私钥签名的明文消息的散列值,通过公钥解密验证发送方签名,获得消息的散列值,并对明文消息做通用的变换,对比,验证消息的完整性。总之PGP 实现了消息的机密性和完整性,以及发送方不可否认(源认证) 、并通过压缩提高了加密的速度。42 设计一种报文安全交换方案,要求机密性、完整性和不可抵赖性。可以使用公钥算法、对称算法和 Hash 函数。 参考安全电子邮件 PGP 的设计原理即可发送方发送 Eks(M|ERa(H (M) ) )| EUb(Eks) ,发方通过私钥签名消息的认证码,实现对消息完整性和自己身份的证明,并将结果与 M 一起用会话密钥 Eks 加密,在将 Eks 用收方公钥加密。实现消息和密钥的保密性。接收方私钥机密 DRb(EUb( Eks) )获得 ks,然后使用 ks 解密,Dks(Eks(M|ERa(H(M) ) ) ) ,获得 M|ERa(H (M) ) ,然后计算 H(M) ,并与DUa(ERa(H(M) )解密后的 H(M) ,对比验证消息完整性。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。