1、1第七章 简答题及计算题公钥密码体制与对称密码体制相比有哪些优点和不足?答:对称密码一般要求: 1、加密解密用相同的密钥 2、收发双方必须共享密钥 安全性要求: 1、密钥必须保密 2、没有密钥,解密不可行 3、知道算法和若干密文不足以确定密钥公钥密码一般要求:1、加密解密算法相同,但使用不同的密钥 2、发送方拥有加密或解密密钥,而接收方拥有另一个密钥 安全性要求: 1、两个密钥之一必须保密 2、无解密密钥,解密不可行 3、知道算法和其中一个密钥以及若干密文不能确定另一个密钥RSA 算法中 n 11413,e7467,密文是 5859,利用分解 11413101113,求明文。解: 1034pq
2、()()01)(3108显然,公钥 e=7467,满足 1e ,且满足 ,通过公式ngcd(,)1en求出 ,1mod08emod()由解密算法 得dcn3589mod145cn在 RSA 算法中,对素数 p 和 q 的选取的规定一些限制,例如:p 和 q 的长度相差不能太大,相差比较大;P-1 和 q-1 都应有大的素因子;请说明原因。答:对于 p,q 参数的选取是为了起到防范的作用,防止密码体制被攻击p,q 长度不能相差太大是为了避免椭圆曲线因子分解法。因为需要 p,q 为强素数,所以需要大的素因子在 ElGamal 密码系统中,Alice 发送密文(7,6) ,请确定明文 m。 上的椭圆
3、曲线 E: ,且 m=3。1Z23yx请确定该椭圆曲线上所有的点;生成元 G=(2,7) ,私钥 ,明文消息编码到 上,加密是选取随(5,2)BBnP(9,1)mP机数 k=3,求加解密过程。解:取 x=0,1, ,10 并计算 ,现以 x=0 为例子。236(od1)yx因为 x=0, ,没有模 11 的平方根,所以椭圆上不存在横坐标为2306(mod1)y0 的点;同理依次可以得到椭圆上的点有(2 , 4) (2,7) (3 , 5) (3,6) (5,9) (5 , 2) (7 , 9) (7 ,2) (8 , 8) (8 , 3) (10 , 9) (10 , 2)密钥生成:由题得 B
4、 的公钥为E: , , ,私钥为236(mod1)yx(2,7)G(,)BP与 RSA 密码体制和 ElGamal 密码体制相比,简述 ECC 密码体制的特点。答:椭圆曲线密码体制的安全性不同于 RSA 的大整数因子分解问题及 ElGamal 素域乘法群离散对数问题。自公钥密码产生以来,人们基于各种数学难题提出了大量的密码方案,但能经受住时间的考验又广泛为人2们所接受的只有基于大整数分解及离散对数问题的方案,且不说这两种问题受到亚指数的严重威胁,就如此狭窄的数学背景来说,也不能不引起人们的担忧,寻找新的数学难题作为密码资源早就是人们努力的一个方向,而椭圆曲线为公钥密码体制提供一类新型的机制。椭
5、圆曲线资源丰富。同在一个有限域上存在着大量不同的椭圆曲线,这位安全性增加了额外的保障。效率方面。在同等安全水平上,椭圆曲线密码体制的密钥长度与 RSA,ElGamal 的密钥小得多,所以,计算量小,处理速度快,存储空间占用小,传输带宽要求低,特别在移动信号,无线设备上的应用前景非常好。安全性。而显然是任何密码体制的必备条件,椭圆曲线密码体制的安全性分析因而也引起了各国密码学家及有关部门的关注和重视,但成果并不丰硕。也许这可视为椭圆曲线密码体制具有高安全性的一种证据,因此,大多是密码学家对其前景持乐观态第六章 4.简答题(1)简要说明散列(哈希)函数的特点。答:哈希函数有如下特点:输入数字串与输
6、出数字串具有唯一的对应关系;输入数字串中 任何变化会导致输出数字串也发生变化;从输出数字串不能够反求出输入数字串。哈希函数算法有多种,它受到广泛的应用,在信息安全领域,它是实现数字签名和认证的重要工具。(3)简述 MD5 算法。答:Md5 的全称是 Message-Digest Algorithm 5(信息- 摘要算法) ,在 90 年代初由 Mit Laboratory For Computer Science 和 Rsa Data Security Inc 的 Ronaldl.rivest 开发出来,经 md2、md3 和 md4 发展而来。它的作用是让大容量信息在用数字签名软件签署私人密
7、钥前被“压缩”成 一种保密的格式。MD5 是一个安全的散列算法,输入两个不同的明文不会得到相同的输出值,根据输出值,不能得到原始的明文,即其过程不可逆;所以要解密 MD5 没有现成的算 法,只能用穷举法,把可能出现的明文,用 MD5 算法散列之后,把得到的散列值和原始的数据形成一个一对一的映射表,通过比在表中比破解密码的 MD5 算法散 列值,通过匹配从映射表中找出破解密码所对应的原始明文。(4)MD5 在 MD4 基础上做了哪些改进,其改进的目的是什么?答:MD5 在 MD4 基础上增加了 Safety-Belts,所以 MD5 又被称为是“系有安全带的 MD4”,它虽然比MD4 慢一点,但
8、更为安全。(5)简述 SHA1 算法。答:SHA1 也叫安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标 准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA) 。对于长度小于 264 位的消息,SHA1 会产生一个 160 位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的 过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1 有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。(6)简
9、述 SHA256 算法。答:SHA256 算法是 SHA 家族算法里面的一种,它的输入时最大长度小于 264 的消息,输出是 256bit 消息摘要,输入以 512bit 的分组为单位处理。该过程包括:附加填充位和长度,初始化散列缓冲区,以512bit 分组为单位处理消息,经过 64 轮操作。(7)简述 HMAC 算法。答:HMAC 是密钥相关的哈希运算消息认证码(keyed-Hash Message Authentication Code),HMAC 运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。 HMAC 引擎提供 HMAC 运算功能,发挥两方面的作用: a)验证
10、 TPM 接受的授权数据和认证数据; b)确认 TPM 接受到的命令请求是已授权的请求,并且,命令在传送的过程中没有被改动过。 3(9)如图 6-17 所示的认证码是基于分组密码的 CBC 模式,其他模式是否也可以用来认证消息?请简要说明原因。答:可以的,依据数据认证算法的思想,可选用其他分组密码算法来生产数据认证码,同时考虑安全性分组长度应选择更长。(10)数字签名算法中,对消息的 Hash 值签名,而不对消息本身签名有哪些好处?答:由于安全的 Hash 函数具有抗碰撞性,所以利用消息散列值实现数字签名,能够满足消息的完整性,防伪造性以及不可否认性等特点,而且签名短,更容易管理,有利于签名的
11、扩展。第五章 (1)简述序列密码算法和分组密码算法的不同。序列密码 分组密码明文长度可以小于 1 字节,有记忆;加密不仅与密钥和明文有关,还与当前状态有关,也叫状态密码;设计关键在于密钥序列产生器,使生成的密钥序列尽可能高的不可预测性。明文分成比较大的块,无记忆;每块使用相同的加密函数进行处理;增加记忆模块,形成一种序列密码;设计关键在于加解密算法,是明文密文之间的关联在密钥控制下尽可能复杂;(2)密钥序列生成器是序列密码算法的核心,请说出至少 5 点关于密钥序列生成器的基本要求。种子密钥 K 的长度足够大,一般应在 128 位以上;KG 生成的密钥序列ki具极大周期;ki具有均匀的 n 元分
12、布;利用统计分析方法由ki提取关于 KG 结构或 K 的信息在计算上不可行;混乱性,即ki的每一比特位均与 K 的大多数比特有关;扩散性,即 K 的任一比特的改变要引起ki在全貌上的变化;序列密钥ki不可预测,密文和相应明文的部分信息,不能确定整个ki 。(4)简述 RC4 算法的实现过程。 详见 166 页。(5)简述 A5 算法的实现过程。详见 169 页。(6)简述 SEAL 算法的实现过程。 详见 171 页。(7)简述 WAKE 算法的实现过程。详见 176 页。(8)简述 PKZIP 算法的实现过程。详见 177 页。(9)简述 FCSR 算法的实现过程。详见 161 页。第四章
13、、简答题(1)分组密码的设计应满足的要求是什么?答:分组要足够长。假设 n 为分组长度,则要使分组代换字母表中的元素个数 2n 足够大,以防止明文穷举攻击。密钥长度要足够长,以防止密钥穷举攻击。但密钥又不能过长,这不利于密钥的管理且影响加解密的速度。由密钥确定的置换算法要足够复杂,足以抵抗各种已知的攻击,如查分攻击和线性攻击等,使攻击者除了利用穷举攻击外,无其他更好的攻击方法。加密解密运算简单,易于软件和硬件的快速实现。为了便于软件编程和通过逻辑电路实现,算法中的运算应尽量简单,如二进制加法或移位运算,参与运算的参数长度也应选择在 8 的整数倍,可以充分发挥计算机中字节运算的优势。4一般无数据
14、扩展,即明文和密文长度相同。在采用同态置换和随机话加密技术时可引入数据扩展。差错传播尽可能的小。设计密码时,的安全性为必要条件,同时还需考虑。归纳起来,一个分组密码在实际应用中需要在安全性和实用性之间寻求一种平衡,使算法在足够安全的同时,又具有尽可能短的密钥,尽可能小的存储空间以及尽可能快的运行速度。(2)简述分组密码设计的准则。答:分组长度分组长度越长意味着安全性越高,但是会影响加密解密的速度。1977 年之后,由于计算速度和分析技术的提高,建议使用分组长度 128 位。密钥长度密钥越长同样意味着安全性越高,但会影响加密和解密的速度。现在一般认为 64 位的密钥是不安全的,通常使用的密钥长度
15、为 128 位。轮函数 F轮函数 F 通常之迭代分组密码中单轮加密解密算法的实现部分,是分组密码结构的核心,由其实现数据的混乱和扩散。在设计中,轮函数要遵循雪崩效应准则和位独立准则。评价轮函数实际质量的指标有安全性,速度和灵活性。迭代的轮数迭代分组密码的本质是单轮不能提供足够的安全性而多伦迭代增强其安全性。一般而言,迭代轮数越多,密码分析越困难,但过多的迭代会使输入和输出的关系复杂化,影响加解密速度,而安全性增强不明显,一般而言,决定迭代轮数的准则是:是密码分析的难度大于简单穷举攻击的难度。子密钥的生成方法理论设计目标是子密钥的统计独立性和密钥更换的有效性。包括:实现简单,便于硬件实现,子密钥
16、的生成不影响迭代轮函数的执行;不存在简单关系;种子密钥的所有比特对每个子密钥比特影响大致相同;没有弱密钥或弱密钥容易避开;保证密钥和密文符合位独立准则和雪崩效应。(3)简述 DES 算法中 S 盒的特点?答: S 盒是 DES 中唯一的非线性部分,DES 的安全强度主要取决于 S 盒的安全强度。DES 中 8 个 S 盒,输入均为 6 位,输出为 4 位。有以下特点:具有良好的非线性,即输出地每一个比特与全部输入比特有关;每一行包括所有 16 种 4 位二进制。两个输入相差 1bit 比特时,输出相差 2bit。如果两个输入刚好在中间 2 个比特上不同,则输出至少有 2 个比特不同。如果两个输
17、入前 2 位不同而最后 2 位相同,则输出一定不同。相差 6bit 的输入共 32 对,在这 32 对中有不超过 8 对的输出相同。(4)DES 算法具有互补性,而这个特性会使 DES 在选择明文攻击下所需的工作量减半。简要说明原因。答:在选择明文攻击下,C1=Ek(m), (1)C2= Ek( ) (2) 根据互补性, =E (m) (3)c5根据(1)式穷举搜索密钥 k 时,入输出密文是 C1,则加密密钥就是多应用的密钥;若输出密文是,根据(3)可知加密密钥是多应用的密钥的补,这样,利用一个密钥的加密尝试,能够检测两个密2c钥是否为真正的加密密钥。因此,DES 的互补性会使 DES 在选择
18、明文攻击下所需的工作量减半。(6)简述利用差分分析攻击 DES 算法的基本过程。答:过程如下:首先攻击者选择具有固定差分(在 DES 分析中, “差分”定义为异或运算)的一对明文,这两个明文可以随机选取,攻击者甚至不必知道他们的值,但要求它们符合特定的差分条件;然后,使用输出密文中的差分,分析可能的密钥;随着分析的密文对越来越多有一个的概率明显增大,它就是正确的密钥。(7)简述线性攻击的基本原理。答:基本原理是寻求明文、密文和密钥间有效的线性逼近,当该逼近的线性偏差足够大时,就可以由一定量的明密文对推测出部分密钥信息。线性分析的关键是确定有效线性方程的线性偏差和线性组合系数。(8)简述 AES
19、 算法的正变换矩阵比逆变换矩阵简单的原因。答:逆 S 盒比 S 盒复杂,需要将逆 S 盒中的每个字节映射到它在有限域 GF( )中的逆。输出值不能通过一个简单的函数变换输入值所得到。S 盒必须是可逆的,即 SSa=a,而 Sa=S-1a不成立,在这个意义上 S 盒不是自逆的。(9)简述 AES 的子密钥生成过程答:AES 首先将初始密钥输入到一个 4*4 矩阵中。这个 4*4 矩阵的每一列的 4 个字节组成一个字,矩阵4 列的 4 个字依次命名为 w0w1w2和 w3。它们构成了一个以字为单位的数组 w。接着,对 w 数组扩充 40 个新列,构成总共 44 列的扩展密码数组。新列以如下的递归方
20、式产生:(1) 如果 i 不是 4 的倍数,那么第 i 列由如下等式确定:wi=wi-4 wi-1(2) 如果 i 是 4 的倍数,那么第 i 列由如下等式确定:wi=wi-4 T(wi-1)其中,T 是一个复杂的函数。函数 T 由三个部分组成:自循环、字节代换和轮常量异或,这三部分的作用分别如下:(1) 字循环:将 1 个字中的 4 个字节循环左移 1 个字节。(2) 字节代换:对字循环的结果使用 S 盒进行字节代换。(3) 轮常量抑或:将前两步的结果同轮常量 Rconj进行异或,其中 J 表示轮数。(10)简述 DES 与 AES 的相同之处答:二者的轮函数都是由 3 层构成,非线性层、线
21、性混合层、子密钥异或,只是顺序不同。AES 的子密钥异或对应于 DES 中 S 盒之间的子密钥异或。AES 的列混合运算的目的是让不同的字节相互影响,和 DES 中 F 函数的输出与左边一半数据相加也有类似的效果。AES 的非线性运算是字节代换,对应于 DES 中唯一的非线性运算 S 盒。行移位运算保证了每一行的字节不仅仅影响其他行对应的字节,而且影响其他行所有的字节,这与DES 中置换 P 相似。(11)简述实际分组密码的工作模式应遵循的基本原则。答:工作模式的运行应当简单;6工作模式应当不会损害算法的安全性;工作模式应当不会明显的降低基本密码的效率;工作模式应易于实现。第三章(1)用 C
22、语言编写欧几里德算法的程序。#include unsigned int Gcd( unsigned int M, unsigned int N ) unsigned int Rem; while( N 0 ) Rem = M % N; M = N; N = Rem; return M; void main() int temp; int a,b; scanf(“%d“, scanf(“%d“, printf(“the greatest common factor of %d and %d is “,a,b); printf(“%dn“,Gcd(a,b); (2)用欧几里德算法计算 gcd(10
23、24,888) 。1024=888*1+136 gcd(888,136)888=136*6+72 gcd(136,72)136=72*1+64 gcd(72,64)72=64*1+8 gcd(64,8)64=8*8+0 gcd(8,0)gcd(1024,888)=8(3)利用欧拉定理可简化大指数的幂运算,计算 21000 000 mod99gcd(2,99)=1(99)=(9*11)=(32*11)=9*(1-1/3)*11=661000000=16666*60+4021000 000 mod99216666*60+40 mod99240 mod9910244 mod99344mod99672
24、mod9934(4)设 Z2x的两个元 a(x)=2x4+2,b(x)=x5+2,求 gcda(x),b(x)=g(x),并找出 s(x),t(x)使 g(x)=s(x)a(x)+t(x)b(x)。7x5+22x(2x4+2)+(2x+2)2x4+2(x3+2x2+x+2)(2x+2)+112x4+2-(x3+2x2+x+2)(2x+2)2x4+2-(x3+2x2+x+2)(x5+2)-2x(2x4+2)(2x4+4x3+2x2+4x+1)(2x4+2)+(2x3+x2+2x+1)(x5+2)(2x4+x3+2x2+x+1)(2x4+2)+(2x3+x2+2x+1)(x5+2)所以,g(x)=
25、1,s(x)=2x 4+x3+2x2+x+1,t(x)=2x 3+x2+2x+1。(5) (韩信点兵问题)有兵一队,若列成五行纵队,则末行一人;成六行纵队,则末行五人;成七行纵队,则末行四人;成十一行纵队,则末行十人,求兵数。x1mod5x5mod6x4mod7x10mod11m1 =5, m2 =6, m3 =7, m4 =11a1 =1, a2 =5, a3 =4, a4 =10M=5*6*7*11=2310M1 =6*7*11=462, M2 =5*7*11=385, M3 =5*6*11=330,M4 =5*6*7=210Mb1modm462b11mod5 b13mod5385b21m
26、od6 b21mod6330b31mod7 b31mod7210b41mod11 b41mod111*3*462+5*1*385+4*1*330+1*10*2102111mod2310兵数 2111mod2310。(6)设在 Z+中, 。 为 a。 b=a+b+a.b,a,bZ+ ,这里 + , .分别为数的加法和乘法,证明( Z+, 。 )是半群。证明:封闭性a,bZ+a+b+a.bZ+a。 bZ+( Z+, 。 )满足封闭性结合律(a 。 b) 。 c=(a+b+a.b)。 c=(a+b+a.b)+c+(a+b+a.b)*c=a+b+c+ac+bc+ab+abca。 (b。 c)= a。
27、(b+c+b.c)=a+b+c+b.c+a*(b+c+b.c)=a+b+c+ac+bc+ab+abc(a 。 b) 。 c=a。 (b。 c)(7)设密文空间共含有 5 个信息 mi,(1i5),并且 p(m1)=p(m2)=1/4,p(m3)=1/8,p(m4)=p(m5)=3/16,求H(m) 。H(x)=-p(xi)log(p(xi) (i=1,2,3,4)=-(2* (1/4log1/4)+1/8log1/8+2*(3/16log3/16) )=23/8-3/8log38(8)请给出一个 NP 完全类问题的例子。旅行商问题 (TSP Travelling Salesman Proble
28、m)该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。可以用回溯法和贪心算法解决。还有子集和问题 ,Hamilton 回路,最大团问题等。第二章4、简答题及计算题(1)求置换的逆置换。6= =(1 5 6 8 3 7 4 2)6 的逆= =(1 2 4 7 3 8 6 5)(2) 用维吉尼亚密码加密明文“please keep this message in secret”其中使用的密钥为“computer”试求其密文。K=computer 所以 k=(2,14,12,15,20,19,4,17)p l e a s e k e15 11 4 0 18
29、4 10 42 14 12 15 20 19 4 1717 25 16 15 12 23 14 21R Z Q P M X O Ve p y h i s m e4 15 19 7 8 18 12 42 14 12 15 20 19 4 176 3 5 22 2 11 16 21G D F W C L Q Vs s a g e i n s18 18 0 6 4 8 13 182 14 12 15 20 19 4 1720 6 12 21 24 1 17 9U G M V Y B R Je c r e t4 2 17 21 92 14 12 15 2096 16 3 19 13G Q D T N得
30、到的密文是:RZQPMXOVGFWCLQVUGMVYBRJGQDTN(3)用 Playfair 密码加密明文“ hide the gold in the tree stump”密钥是“cryptography”试求其密文。由密钥得出的矩阵如下:P=hide the gold in the tree stump所以密文为:IQEFPBMEDUEKYSGIPCIMKMCZRQ(ee 中间加 q)(4)用 Hill 密码加密明文“hill ”,使用的密钥是: K=C=(7,8,11,11) =(269,268,268,258)mod26=(mod26)=(9,8,8,24) 密文为:JIIY(5)题
31、目:已知一下密文是由仿射密码得到的试求其明文。“FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH”解答:统计得出:A:2 I:0 Q:0 Y:1B:1 J:0 R:8 Z:0C:0 K:5 S:3D:7 L:2 T:0E:5 M:2 U:2F:4 N:1 V:4G:0 O:1 W:0H:5 P:2 X:2根据统计规律我们猜想 R 是 e 加密得到的,D 是 t 加密得到的,因为 t,e 出现频率较高,得到同余方程组(4a+b)mod26=1710(19a+b)mod26=13得到 a=6b=19 仿射密码要求 gcd(a,26)
32、=1,所以此解错误。再次猜想 R 是 e 加密的得到的,k 是 t 加密得到的,从而得到 a=3,b=5,将此解带入密文测试发现k=(3,5)正确,推出解密函数 d(y)=9y-19得到解密结果:algorith msarequitegeneraldefinitionsofarithmeticprocesses(8)简述单表代换密码和多表代换密码的基本思想及其优缺点单表代换 多表代换基本思想 明文消息中相同的字母,在加密时都是用同一固定的字母代换。明文消息中出现的同一个字母,在加密时不是完全被同一个固定的字母代换而是根据其出现的位置次序用不同的字母代换。优点 破译难度稍高,密钥更改便捷,增加了
33、单表代换密码体制的灵活性。多表代换密码的破译则相对复杂,因为明文的统计特性通过多个表的平均作用而而被隐藏起来了,能更好的抵抗明文分析。缺点 通过统计分析地方法很容易破解。Hill 密码体制,可能抵抗不了已知明文攻击。第一章(1)信息安全中常用的攻击分别指什么?分别使用什么密码技术能抵御这些攻击?答:常用的攻击形式有:中断、截取、篡改、伪造和重放五类。其中截取属被动攻击,其余属主动攻击。对于被动攻击,可用数据加密技术进行数据保护,其重点是防止而不是检测;对于主动攻击,可采取适当措施加以检测,并从攻击引起的破坏或时延中予以回复。(2)简述密码学和信息安全的关系。答:密码学是保障信息安全的核心,信息
34、安全是密码学研究与发展的目的。而密码技术又是保护信息安全的手段之一。使用密码技术不仅可以保证信息的机密性,而且具有数字签名、身份验证、秘密共享、信息认证等功能,可以保证信息的完整性、认证性和不可否认性,防止信息被篡改、伪造、假冒、否认。密码学在信息安全中起着举足轻重的作用,但密码学也绝不是确保信息安全的唯一技术,也不可能解决信息安全中出现的所有问题。(3)简述密码学发展史。答:密码学发展史大致经历了两个阶段:传统密码阶段 1949 年香农发表保密系统的通信理论 现代密码学阶段手工或机械操作方式实现 计算机工具实现采用代换和换位技术 有坚实的数学理论基础人工和电报为通信手段 无线、有线通信,计算机网络