1、密码学练习题一、单选题1、密码学包括哪两个相互对立的分支(B)A、对称加密与非对称加密 B、密码编码学与密码分析学C、序列算法与分组算法 D、DES 和 RSA2、加密技术不能提供以下哪种安全服务?(D )A、鉴别 B、机密性 C、完整性 D、可用性3、在密码学中,需要被变换的原消息被称为什么?(D )A、密文 B、算法 C、密码 D、明文4、在凯撒密码中,每个字母被其后第几位的字母替换?(C)A、5 B、4 C、3 D、25、公元前 500 年的古希腊人曾使用了一种著名的加密方法,叫什么名字?(A)A、Scytale 密码 B、凯撒密码 C、代替密码 D、置换密码6、在密码学中,对 RSA
2、的描述是正确的是?(B)A、RSA 是秘密密钥算法和对称密钥算法B、RSA 是非对称密钥算法和公钥算法C、RSA 是秘密密钥算法和非对称密钥算法D、RSA 是公钥算法和对称密钥算法7、IDEA 的密钥长度是多少 bit?(D )A、56 B、64 C、96 D、1288、DES 的密钥长度是多少 bit?(B)A、64 B、56 C、512 D、89、RSA 使用不方便的最大问题是?(A)A、产生密钥需要强大的计算能力 B、算法中需要大数C、算法中需要素数 D、被攻击过很多次10、ECB 指的是?( D)A、密文链接模式 B、密文反馈模式C、输出反馈模式 D、电码本模式11、下列为非对称加密算
3、法的例子为(D )A、IDEA B、DES C、3DES D、ELLIPTOC CURVE12、国际标准化组织在 ISO 7498-2 标准中定义了几类可选的安全服务?( D)A、8 B、7 C、11 D、613、下面关于密码算法的阐述,哪个是不正确的?(C)A、对于一个安全的密码算法,即使是达不到理论上的不破的,也应当为实际上是不可破的。即是说,从截获的密文或某些已知明文密文对,要决定密钥或任意明文在计算机上是不可行的。B、系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。C、对于使用公钥密码体制加密的密文,知道密钥的人,就一定能够解密。D、数字签名的理论基础是公钥密码体制。14、下
4、列古典密码算法是置换密码的是?(B)A、加法密码 B、Hill 密码 C、多项式密码 D、栅栏式密码15、若 Bob 给 Alice 发送一封邮件,并想让 Alice 确信邮件是由 Bob 发出的,则 Bob 应该选用哪种密钥对邮件加密?(D)A、Alice 的公钥 B、Alice 的私钥C、Bob 的公钥 D、Bob 的私钥16、根据所依据的难解问题,除了哪个以外,公钥密码体制分为以下分类。 (D)A、大整数分解问题 B、离散对数问题C、椭圆曲线离散对数问题 D、生日悖论17、公钥密码学的思想最早是谁提出的?(B)A、欧拉(Euler) B、迪菲(Diffie)和赫尔曼(Hellman)C、
5、费马(Fermat ) D、Rivest 、Shamir 、Adleman18、在 RSA 算法中,取 p=3,q=11,e=3,则 d 等于(D)A、33 B、20 C、14 D、719、以下各种加密算法中属于古典加密算法的是(B)A、DES 加密算法 B、Caesar 替代法C、IDEA 加密算法 D、Diffie-Hellman 加密算法20、以下各种加密算法中属于对称加密算法的是(A )A、DES 加密算法 B、Caesar 替代法C、Vigenere 算法 D、Diffie-Hellman 加密算法21、以下各种加密算法中属于非对称加密算法的是(D )A、DES 加密算法 B、Cae
6、sar 替代法C、Vigenere 算法 D、Diffie-Hellman 加密算法22、RSA 算法的安全理论基础是(B)A、离散对数难题 B、整数分解难题C、背包难题 D、代替和置换23、除了(E)以外,密码体制主要由以下各部分组成。 A明文空间 B密文空间 C密钥空间 D加密算法 E保密系统 F解密算法24、下面关于密码算法的阐述, ( )是不正确的。 A对于一个安全的密码算法,即使是达不到理论上的不破的,也应当为实际上是不可破的。即是说,从截获的密文或某些已知明文密文对,要决定密钥或任意明文在计算机上是不可行的。 B系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥(这就是著名的
7、 Kerckhoff 原则) 。C对于使用公钥密码体制加密的密文,知道密钥的人,就一定能够解密。D数字签名的理论基础是公钥密码体制。25、采用密钥为 3 的“恺撒密码”对明文 America 进行加密所得的密文是( ) 。ADPHULFD B. DFLUHPD C. MERICAA D. ACIREMA26、DES 是分组乘积密码,它所取的迭代次数是( ) 。A8 B. 16C. 32 D. 6427、1976 年,提出公开密码系统的学者是( D ) 。ABauer 和 Hill iffe 和 HellC. iffe 和 Bauer D. iffe 和 Hellman二、填空题1. 网络通信中
8、存在很多安全威胁,大体可以分为两类:主动攻击和被动攻击,其中主动攻击又可以分为(假冒) 、 (重放) 、 (篡改信息) 。2. 经典密码学包括(密码编码学) 、 (密码分析学) 。3. 密码学的发展经历了三个阶段:古代密码学阶段、 ( ) 、近代密码学阶段。4. 在近代密码学发展过程中,仙农首先提出了分组密码学的设计思想,并指出分组密码设计实现的两种方法( )和( ) 。5. 密码技术的分类有很多种,如果从密码体制而言或者从收发双方使用的密钥是否相同,加密技术分为(对称密码技术)和(非对称密码技术) 。6. 美国国家标准局在 2000 年 9 月发布的“信息保障技术框架(IATF)3.0”版本
9、中将攻击形式分为:(被动攻击) 、 (主动攻击) 、 (物理临近攻击) 、内部人员攻击和软硬件配装攻击等。7. (Claude Shannon)香农在遵循(Kerckhoff)柯克霍夫原则前提下,提出了设计密码系统的两个基本方法( )和( ) 。8. 现代密码学包括密码编码学、 (密码分析学)和(密钥密码学) 。9. ( )和( )两个基本方法是设计现代分组密码的基础。10.根据密文数据段是否与明文数据段在整个明文中的位置有关,可以将密码体制分为(分组密码)体制和(序列密码)体制。11.根据所基于的数学基础的不同,非对称密码体制通常分为:基于大数分解难题的、 (基于离散对数难题的)和基于椭圆曲
10、线离散对数的密码体制。12.DES 有五种工作模式:( ) 、 ( ) 、密文链接模式、电码本模式和计数器模式。 13.美国国家标准局在 2000 年 9 月发布的“信息保障技术框架(IATF)3.0”版本中将攻击形式分为:被动攻击、主动攻击、物理临近攻击、内部人员攻击和软硬件配装攻击等,其中主动攻击常分为(假冒) 、 (重放) 、篡改信息和(拒绝服务)等四类。14.根据所基于的数学基础的不同,非对称密码体制通常分为:(基于大数分解难题的) 、基于离散对数难题的和基于椭圆曲线离散对数的密码体制。三、名词解释1. 密码学:密码编码学是研究把信息(明文)变换成没有密钥就不能解读或很难解读的密文的方
11、法,密码分析学的任务是破译密码或伪造认证密码,窃取机密信息进行诈骗破坏活动。现代密码学除了包括密码编译学和密码分析学两个学科之外,还包括近几年才形成的新分支-密钥密码学,它是以密钥(现代密码学的核心)及密钥管理作为研究对象的学科。2. 明文:3. 安全机制:所谓安全机制就是实现安全服务的技术手段,也是保护信息系统免受攻击及确保系统安全运行的重要手段。信息系统的安全是一个系统的概念,为了保障信息系统的安全可以采用多种安全机制。在 ISO7498-2 标准中,将安全机制定义为特殊安全机制和通用安全机制两大类。4. 安全服务:安全服务就是加强信息系统数据处理和信息传输安全性的一类服务,采用安全服务也
12、能在一定程度上弥补和完善现有操作系统和信息系统的安全漏洞,其目的在于采用一种或多种安全机制阻止安全攻击。5. 密码体制:一个密码体制(Cryptosystem)或密码算法通常由以下 5 个部分构成:1) 明文空间 M(全体明文的集合)2) 密文空间 C(全体密文的集合)3) 密钥空间 K(全体密钥的集合)4) 加密器或加密变换(算法)E,由加密密钥控制的加密变换的集合,即 Ek(m)=c,mM,cC,kK;5) 解密器或解密变换(算法)D ,由解密密钥控制的解密变换的集合,即 Dk(c)=m,mM,cC,kK;对mM,kK,有 Dk(E k(m) )=m,mM,cC,kK.。以上描述的五元组M
13、,C,K,E,D就称为一个密码体制。6. 公钥密码体制:加密和解密的双方拥有不同的密钥。7. 被动攻击:指未经用户同意和认可的情况下将信息或数据文件泄露给系统攻击者,但不对数据信息进行任何修改。被动攻击通常包括监听未受保护的通信信息,进行流量分析;破解弱加密的数据流,获得认证信息(如密码) 。8. 主动攻击:主要涉及某些数据流的或虚假数据流的产生。主动攻击常分为假冒(或伪造) 、重放、篡改信息和拒绝服务四类。9. 已知明文攻击:密码分析者不仅知道一些信息的密文和加密算法,而且还知道与之对应的明文,根据明文密文对推导出加密密钥或加密算法。10. 扩散:将明文的统计特性散布到密文中去,实现方式是使
14、得明文的每一位影响密文中多位的值,行人于密文中每一位均受明文中多位的影响。在分组密码中,对数据重复执行某个置换,再对这一置换作用于一函数,可获得扩散。11. 混淆:使密文和密钥之间的统计关系变得尽可能复杂,使得攻击者无法得到密文和密钥之间的统计,从而攻击者无法得到密钥。12. 离散对数问题13. Kerckhoffs 假设:若假定密码分析者能够从信道上截获密文,还假定密码分析者知道所用的密码体制,且知道明文空间和密钥空间及其统计特性。14. 分组密码:分组密码是一种广泛使用的对称密码。分组密码要将待加密的明文进行分组,每组的长度相同,然后对每组明文分别加密得到密文。四、简答题1. 古典密码体制
15、中代换密码有哪几种,各有什么特点?P182. 简述密码体制的构成。答:一个密码体制(Cryptosystem)或密码算法通常由以下 5 个部分构成:1) 明文空间 M(全体明文的集合)2) 密文空间 C(全体密文的集合)3) 密钥空间 K(全体密钥的集合)4) 加密器或加密变换(算法)E,由加密密钥控制的加密变换的集合,即 Ek(m)=c,mM,cC,kK;5) 解密器或解密变换(算法)D ,由解密密钥控制的解密变换的集合,即 Dk(c)=m,mM,cC,kK;对mM,kK,有 Dk(E k(m) )=m,mM,cC,kK.。3. 简述密码分析者分析密码算法的方法。答:(1)穷举法:密码分析者
16、试图试遍所有的明文或密钥来进行破译。(2)统计分析法:密码分析者通过分析密文、明文和密钥的统计规律来达到破译密码技术。可以设法使明文的统计特性与密文的统一特性不一样来对抗统计分析法。(3)密码体制分析法:根据所掌握的明文、密文的有关信息,通过数学求解的方法找到相应的加解密算法。4. 什么是单表代换密码,它安全吗,为什么?5. 简述恺撒密码的加密原理。答:恺撒密码是一种简单的移位密码,它把字母表中的每个字母用该字母后面的第三个字母来代替。例如“a”将变成“D” , “b”将变成“E” , “c”将变成“F”等。在字母表的最后,移位将重新折回,形成一个循环, “x”将变成“A” , “y”将变成“
17、B” , “z”将变成“C” 。6. 简述仿射密码技术。答:仿射密码技术是一种替换密码,它也是用一个字母来替换另一个字母。记 Z26=0,1,2,3,.,25分别表示 26 个字母,选择 k 使得 k 与 26 互质,那么k=3,5,7,9,11,15,17,19,21,23,25 之一和 bZ26组成密钥(k,b)。加密公式:c=e k(p)=k(p+b)(mod 26) 解密公式:d k(c)=k-1(c-b)(mod 26) 其中:k -1是 k 关于 26 的逆元,即 k-1k=1(mod 26)。7. 简述现代密码学包含的分支及含义。答:密码编码学是研究把信息(明文)变换成没有密钥就
18、不能解读或很难解读的密文的方法,密码分析学的任务是破译密码或伪造认证密码,窃取机密信息进行诈骗破坏活动。现代密码学除了包括密码编译学和密码分析学两个学科之外,还包括近几年才形成的新分支-密钥密码学,它是以密钥(现代密码学的核心)及密钥管理作为研究对象的学科。8. 简述 DES 的算法。答:DES 算法是一种采用传统的代替和置换操作加密的分组密码,明文以 64 比特为分组,密钥长度为 64 比特,有效密钥长度为 56 比特,其中加密密钥有 8 比特是奇偶校验,包括初始置换 IP,16 轮加密,?9. 三重 DES 有哪两种方案,画出对应的加解密模型。10.简述 AES 的基本变换。答:11.简述
19、 AES 算法加密过程,也可画图说明。答:AES 算法的加密过程是在一个 44 的字节矩阵上动作,这个矩阵又称为“体”或者“状态”,其初值就是一个明文区块(矩阵中一个元素单位大小就是明文区块中的一个字节(8比特)。加密时,明文块与子密钥首先进行一次轮密钥加,然后各轮 AES 加密循环(除最后一轮外)均包含 4 个步骤:(1) 字节代替:通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。(2) 行移位:将矩阵中的每个横列进行循环式移位。(3) 列混合:为了充分混合矩阵中各个起先的操作,这个步骤使用线性转换来混合每行内的四个字节。(4) 轮密钥加:矩阵中的每一个字节都与该次循环的
20、子密钥做 XOR 逻辑运算;每个子密钥由密钥生成方案产生。12.简述 RSA 算法中密钥产生的过程。答:(1)选择两个满足需要的大素数 p 和 q 计算 n=pq,(n)=(p-1)(q-1),其中 (n)是 n 的欧拉函数值。(2)选一个整数 e,满足 1e(n),且 gcd((n),e)=1。通过 de1(mod (n),明文块轮密钥加子密钥字节代替 行移位 列混合 轮密钥加子密钥是否最后一轮密文块 轮密钥加 行移位 字节代替子密钥否是计算出 d。(3)以e,n为公开密钥,d,n为秘密密钥。13.简述 RSA 算法的加、解密过程。答:加密过程:如果发送方想发送需要保密的消息 m 给 Bob
21、,就选择 Bob 的公钥e,n ,然后计算 Cme(mod n),最后把密文 C 发送给接收方 Bob。解密过程:接收方 Bob 收到密文 C,根据自己掌握的私钥计算 mCd(mod n) 。四、综合题1、设 g(x)=x4+x2+1,g(x) 为 GF(2 )上的多项式,以其为连接多项式组成线性移位寄存器。画出逻辑框图。设法遍历其所有状态,并写出其状态变迁及相应的输出序列。解答: 1) 逻辑框图 2、使用 Vigenere 方案,给出密文:ZICVTWQNGRZGVTWAVZHCQYGLMGJ,找出对应下列明文的密钥:Wearediscoveredsaveyourself 。3设 ElGam
22、al 公钥加密体制的密钥产生过程中,选取的素数 p97,生成元 g=26,私钥r=8,加密消息 m=64 时选取的随机数 k=3,求加密消息 m 所得到的密文。解:设 ElGamal公钥加密体制的密钥产生过程中,选取的素数 p97,生成元 g=26,私钥 r=8, 计算=gr mod p= 268 mod 97。公布 ElGamal 公钥(p, g, )= (97,26,81) 然后选取随机整数 k=3,计算c1=gk mod p=263mod 97=19 c2=m()k mod p=64*813 mod 97=64*45 mod 97=67加密消息 m 所得到的密文(c 1,c2) 4、已知
23、流密码的密文串 1010110110 和相应的明文串 0100010001,而且还已知密钥流是使用 3 级线性反馈移位寄存器产生的,试破译该密码系统。解:设明文为(1010110110) ,那么密文为(0100010001) 。破译者计算 mc 得到密钥系列(10101101100100010001=1110100111)已知破译者使用 3 级线性反馈移位寄存器产生那么可以得到下列矩阵方程式得到 c30, c21,c 11,从而得到特征多项式 p(x)=x2+x+1。5、英文字母 a,b,c,z 分别编码为 0,1,2,3,4,25,已知 Hill(希尔)密码中的明文分组长度为 2,密钥 K
24、是 Z26 上的一个二阶可逆方阵,假设密钥为 hell,明文 welcome,试求密文。 解: 6、考虑 RSA 密码体制:取 e=3 有何优缺点?取 d=3 安全吗?为什么? 设 n=35,已截获发给某用户的密文 C10 ,并查到该用户的公钥 e=5,求出明文 M。 1 234 4253 51 6kkc2 0 (8 分)解答:e=3 的优点是计算快,因为其二进制表示中只有 2 个 1,缺点是不安全。当 M 较小时,直接开立方可求出 M。d=3 不安全,经不起穷举攻击。分解 n=35=75,于是 p=7,q=5。(n)=64=24。因为 e=5,根据 ed=1 mod(n),求出d=5。根据 M=Cd mod n,M=105 mod 35,求出 M5。