您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页密码学复习参考

密码学复习参考

来源:爱go旅游网
《密码学》课程复习部分

1、

(1 )画出保密通信系统模型;

(2 )说明在私钥密码和公钥密码下,该保密通信系统模型的差别主要体现在什么方面?

解:(1 )保密通信系统模型如下图所示:

(2 )在私钥密码和公钥密码下,该模型的差别主要体现在加密密钥的分发或传递上(即虚线部分所体现的差别)。私钥密码下,接收方和发送方的共享密钥必须通过安全信道传递。而在公钥密码下,发送方只需要认证所使用的加密密钥是接收方的。

2、设p=23 ,E 是由y 2 ≡x 3 +x+1(mod 23)所确定的有限域Z23 上的椭圆曲线。 (1 )设P=(x 1 ,y 1 ),Q=(x 2 ,y 2 ),P ≠-Q 是椭圆曲线E p (a,b)上的点,给出计算P+Q=(x 3 ,y 3 )的规则(提示:分成P =Q 和P ≠Q 两种情况) (2 )已知该椭圆曲线上有P=(13,7),Q=(3,10)两点,计算P+Q (3 )已知该椭圆曲线上有P=(13,7),计算2P 答案:略。

3、简述密码的组成及其密码的分类。

答:密码就是完成加密和解密功能的密码方案或密码算法。

一个密码(Cryptosystem)或密码算法通常由以下5个部分构成: ① 明文空间M(全体明文的集合);② 密文空间C(全体密文的集合);③ 密钥空间K(全体密钥的集合);④ 加密器或加密变换(算法)E,由加密密钥控制的加密变换的集合,即EK(m)c,mM,cC,kK;⑤ 解密器或解密变换(算法)D,由解密密钥控制的解密变换的集合,即DK(c)m,mM,cC,kK。

密码的分类: (1)根据密文数据段是否与明文数据段在整个明文中的位置有关否,可以将密码分为分组密码和序列密码。

(2)根据加密变换是否可逆,可以将密码分为单向变换密码和双向变换密码。 (3)根据在加密过程中是否引入客观随机因素,可以将密码分为确定型密码和概率

密码。

4、评价一个密码的安全性有哪些方法?一个密码是实际可用的(或安全的)

必须满足那些条件?

答:评价一个密码安全性的有以下三种方法:

① 无条件安全:即使破译者提供了无穷的资源,依然无法破译,则该密码是无条件安全的,也称为完善保密性(Perfect Secrecy)。

② 可证明安全性:该方法是将密码算法的安全性归结为某个经过深入研究的数学难题,而这个数学难题被证明在目前求解是困难的,因而密码算法在目前可证明是安全的。

③ 计算安全性:是在目前的计算资源条件有限的情况下,或利用已有的最好的破译方法破译该密码算法所需要的努力超出了破译者的破译能力(诸如时间、空间、资金等资源),或破译该密码算法难度等价于某个数学难题,因此该密码算法的安全是暂时的,也称为实际安全性(Practical Secrecy)。

一个密码要是实际可用的(或安全的)必须满足如下条件: ① 每一个加密函数和解密函数都能有有效的解;

② 破译者取得密文后将不能在有效的时间或成本范围内破译出密钥或明文;

③ 一个密码是安全的必要条件:穷举破译将是不可行的,即密钥空间非常大。 5、(1 )以DES 为例,画出分组密码的输出反馈(CFB )模式的加密解密示

意图(反馈值可以设定为j 比特)

(2 )在(1 )的题设下,假设反馈值设定为8 比特,则加密时明文的一个 比特错误,对密文造成什么影响?

(3 )在(1 )的题设下,假设反馈值设定为8 比特,在传输过程中,密文 的一个比特发生错误,则对接收方解密会造成什么影响? 解:(1 )输出反馈(CFB )模式的加密示意图如下:

(2 )加密时明文的一个比特错误,会导致该组加密密文发生变化,然后会把这个错误反馈到移位寄存器中,再经过DES 加密变换。会导致后面的密文都受到影响。 (3 )在传输过程中,密文的一个比特错误,反馈值设定为8 比特时,会导致明文的一个单独错误。此外,错误进入移位寄存器,导致后面部分密文成为无用信息,直到该错误从移位寄存器中移出。故反馈值设定为8 比特,在传输过程中,密文的一个比特发生错误,则会产生9 个字节不能正常解密。

6、以DES为例,画出分组密码的输出反馈(OFB)模式的加密解密示意图(反馈值可以设定为j

比特) ,假设反馈值设定为8比特,则加密时明文的一个比特错误,对密文造成什么影响?假设反馈值设定为8比特,在传输过程中,密文的一个比特发生错误,对接收方解密会造成什么影响?

解:(1)输出反馈(OFB)模式的加密示意图如下:

(2)加密时明文的一个比特错误,只会导致该组加密密文发生变化,后面的密文不受到影响。

(3)在传输过程中,密文的一个比特错误,反馈值设定为8比特时,会导致明文的一个单独错误,改组密文无法正确解密。但错误不会进入移位寄存器,导致后面

部分密文可正常解密。

7、以DES为例,画出分组密码的密码分组链接(CBC)模式的加密解密示意图,假设加密时明文

一个比特错误,对密文造成什么影响,对接收方解密会造成什么影响?在传输过程中,密文的一个比特发生错误,对接收方解密会造成什么影响?

解:(1)输出反馈(CBC)模式的加密示意图如下:

(2)加密时明文的一个比特错误,会导致该组加密密文发生变化,然后这个错误反馈值会作为下一次DES加密的输入值,再经过DES加密变换。会导致后面的密文都受到影响。

(3)在传输过程中,密文的一个比特错误,会导致明文的一个单独错误。此外,错误进入作为反馈值会作为下一次DES解密过程的输入,导致后一组密文无法正常解密,导致后组明文的一个单独错,但后续密文能够正常解密,因此密文1比特出错,会导致两组密文无法解密,即128比特,16字节无法正常解密。

8、 以DES为例,画出分组密码的密码本(ECB)模式的加密解密示意图,并简述一下ECB模式的优缺点

解:ECB模式最大特点:每个分组用同一密钥加密,同样明文分组得相同密文

优点: 模式简单,主要适用于内容较短的报文的加密传递;无差错传播 缺点:文明相同,密文相同;容易受到重复和代换攻击;

9、简述密码的组成及其密码的分类。

答:密码就是完成加密和解密功能的密码方案或密码算法。

一个密码(Cryptosystem)或密码算法通常由以下5个部分构成: ① 明文空间M(全体明文的集合);② 密文空间C(全体密文的集合);③ 密钥空间K(全体密钥的集合);④ 加密器或加密变换(算法)E,由加密密钥控制的加密变换的集合,即EK(m)c,mM,cC,kK;⑤ 解密器或解密变换(算法)D,由解密密钥控制的解密变换的集合,即DK(c)m,mM,cC,kK。

密码的分类: (1)根据密文数据段是否与明文数据段在整个明文中的位置有关否,可以将密码分为分组密码和序列密码。

(2)根据加密变换是否可逆,可以将密码分为单向变换密码和双向变换密码。 (3)根据在加密过程中是否引入客观随机因素,可以将密码分为确定型密码和概率密码。

10、简述信息安全攻击的主要形式及其含义。

答:(1)被动攻击:是未经用户同意和认可的情况下将信息或数据文件泄露给系统攻击者,但不对数据信息进行任何修改。通常包括监听未受保护的通信信息、流量分析,破解弱加密的数据流、获得认证信息(如密码等)。

(2)主动攻击:主要涉及某些数据流的篡改或虚假数据流的产生。主动攻击常分为假冒(或伪造)、重放、篡改信息和拒绝服务四类。

(3)物理临近攻击:是指未授权人以更改、收集或拒绝访问为目的而物理接近网络系统或设备。这种接近可以是秘密进入或公开接近,或两种方式同时使用。

(4)内部人员攻击:可以是恶意的也可以非恶意的。恶意攻击是指内部人员有计划地窃听或损坏信息或拒绝其他授权用户的访问。

(5)软硬件配装攻击:是指在软硬件生产的工厂内或在产品分发过程中恶意修改硬件或软件。 11、请具体阐述使用Diffie-Hellman 协议产生一个会话密钥的具体过程。

12、简要描述数字签名的基本原理及过程。 13、请阐述密钥分配与密钥协商的区别。 14、简述差分密码分析与线性分析区别?

15、在

RSA公开密钥加密方案中,每个用户有一个公开密钥e和一个私有

密码d。假设泄露了他的私有密钥。他不是产生一个新的模数,而是决定产生一个新的公开和私有密钥,这样做安全吗? 【同模攻击分析】

16、Shamir的秘密共享门限方案:

设:p=17;n=5;t=3;(ID(1), h(ID(1)))=(1, 8);(ID(2), h(ID(2)))=(2, 7);

(ID(3), h(ID(3)))=(3, 10);(ID(4), h(ID(4)))=(4, 0);(ID(5), h(ID(5)))=(5, 11)。 当第1位、第3位、第5位参与者同时到场,求共享的秘密? 20、盲签名是这样一种签名方案:签名者看不见他签名的对象。我们介绍一种基于RSA的盲签名。设d为签名者的私钥,e和n是签名者的公钥。由签名请求人选定消息m和盲因子k,计算t=mke mod n,发送t 给签名者。签名者计算并发送盲签名td=(mke)d mod n给签名请求人,签名请求人去除盲因子,得到消息m的原始签名s=td/k=md mod n,试问我们能否基于离散对数构造盲签名?如能,试给出你设计的基于离散对数的盲签名方案。(如能,请把步骤写详细清楚)

17、数字签名的原理和作用分别是什么?

一个数字签名方案的一般形式是怎样的?

签名算法为s,要求A对消息m签名并秘密地将m发送给用户B,那么A是签名后加密还是先加密后签名好?请说明理由?

答:

数字签名的原理是:利用Hash函数计算数据消息摘要;利用发送方的私钥加密该摘要;

将该加密的摘要与原文一起发送,接收方对其进行验证,判断其真伪。

数字签名的作用是:防止对电文的否认与抵赖,发现攻击者对电文的非法篡改;保护数据完整性。

一个数字签名方案由两部分组成:签名算法和验证算法,签名者对消息使用签名算法,验证算法的结果表示了签名是否真实可靠。在一个签名中,签名算法或签名密钥是秘密的,只有签名人掌握;验证算法是公开的,以便于他人进行验证。

最好是先签名(对明文签名),因为:首先,这样可以将签名后的报文存储起来以便可以再次使用(向其他人提供该报文);其次,如果先加密后签名,验证过程设计中的问题可能会导致一些安全威胁(尽管可以避免)。

18、举例说明保密密码的定义,并指出密码的四种攻击类型。

答:定义: (密码)它是一个五元组(M,C,K,E,D)满足条件 (1)M是可能明文的有限集;(明文空间)

(2)C是可能密文的有限集;(密文空间)

(3)K是一切可能密钥构成的有限集;(密钥空间) (4)并有加密解密算法满足以下: 加密 E(M,K)=C 解密 D(C,K)=M 并且有:D(E(M,K1),K2)=M

密钥K的可能值 的范围称密钥空间。所有算法的安全性都基于密钥的安全性,而不是基于算法的细节的安全性。 四种攻击类型:

1)唯密文攻击:从已知的密文中恢复出明文或密钥;

2)已知明文攻击:从已知密文和一些明文-密文对中分析明文; 3)选择明文攻击:可选定任意明文-密文对进行攻击;

4)选择密文攻击:分析者能选择不同的被加密的密文,并能得到对应的解密的明文(主要用于公钥算法)。

以上攻击强度依次增大,唯密文攻击最弱。

19、Feistel网络能否直接用作分组密码算法?

答:不能。

 首先,明文(L(0), R(0))和密文(L(1), R(1))之间有一个明显的关系R(0)= L(1),即密钥只覆盖了明文的一半 。

 其次,设攻击者Eve获得了明文(L(0), R(0))和密文(L(1), R(1))。Eve知道R(1)=L(0)‘+’F(R(0), k),即 F(R(0), k)=R(1)‘+’L(0)。

在方程中, Eve仅仅不知道密钥k。如果函数F设计得不好,就可能在方程中解出密钥k,或猜测出密钥k。这就是说,算法的安全性完全依赖于函数F,安全性依靠过于单薄。

20、如何理解王小云教授对MD5的破解?

要点:所谓对哈希函数的破解,是指找到了两个不同的消息,产生了相同的消息摘要值,而不是说给出一个消息摘要值,能够倒推出消息是什么。由于哈希函数是多到一的映射,因而也不能推出原来的消息是什么。 另外,找到两个不同而又有意义的消息产生了相同的消息摘要值,比单纯的只是两个不同的消息,难度要大些。

21、ECC:推导椭圆曲线的加法公式。

解:素域

Fp2323上椭圆曲线方程E:yxaxb,设F(x,y)yxaxb,

1) 设P1(x1,y1)E计算点P1,设L是过P1和无穷远点O的直线,则直线为L:xx10代入F(x,y)中,F(x,y)yx1ax1b(yy1)(yy2)比较一次项y的系数有

23P1(x1,y1)。…………………………………………[3分]

2) 设P1(x1,y1),P2(x2,y2)E,若P1P2O,则过P1,P2的直线方程 L:yx

当x1x2时,过P1,P2两点的斜率y2y1;

x2x13x12a 当x1x2时,直线过点P1的切线其斜率 ;

2y1 将yx代入方程F(x,y)0中得:

F(x,x)(x)xaxb0,而原方程有三个解x1,x2,x3,即: F(x,x)C(xx1)(xx2)(xx3)0

22比较以上对应系数,得到C1,x1x2x3x3x1x2,

23所以y1x1,所以y3x3y1x1(x3x1)y1,

在过该点作垂线,得相交的第4个点为P1,P2的和,其横坐标不变,纵坐标变为

y3(x1x3)y1。

22、对于椭圆曲线:yx17,已知其上的点P1(2,3),P2(2,5),求 1)P1P2; 2)2P1; 3)P1. 解:y=x+17,已知其上的点P1=(-2,3),P2=(2,5)

(a)设 P1+P2=(x3, y3),则=

x3=22323y2y1=1/2

x2x1-x1-x2=1/4

y3=(x1-x3)-y1.=-33/8

3xa(b)设2P1=(x3, y3)则=1=2

2y1x3=22-x1-x2=4

y3=(x1-x3)-y1=-11

(c)-P1=(-2,-3)

23、请详细叙述Diffie-Hellman密钥预分配协议;并给出一种有效的中间人攻击方法,即攻击者截获通信双方通信的内容后可分别冒充通信双方,以获得通信双方协商的密钥。

答案:中间人攻击要点:

Diffie-Hellman密钥交换容易遭受中间人攻击:

(1) Alice发送公开值(a和p)给Bob,攻击者Carol截获这些值并把自己产生的公开值发送给Bob。

(2) Bob发送公开值给Alice,Carol截获它然后把自己的公开值发送给Alice。 (3) Alice和Carol计算出二人之间的共享密钥k1。 (4) Bob和Carol计算出另外一对共享密钥k2。

造成中间人攻击的原因是Diffie-Hellman密钥交换不认证对方,利用数字签名可以挫败中间人攻击。

24、通过密码学课程的学习,分别从对称密码算法、公钥密码算法、序列密码算法、数字签名算法、组播安全五个方面,叙述目前存在哪些算法,其安全性在什么地方,然后给出近几年的发展和未来的研究趋势。

25、试从基于大整数的难分解性、基于解离散对数的困难性、基于解椭圆曲线离散对数的困难性、

基于辫群的困难性(共轭CSP问题、求根RP问题)、基于双线性对的困难性等任意选取两种构造盲签名方案。 答案要点:

a)基于离散对数的盲签名问题如下:

rRgmodp,k为盲因子。 gr设为私钥,为生成元,

ktmRmodp,发送t给签名者。 1)请求人计算:

12)签名人计算:先计算r,rr111mod(p1);

1rkrt(mR)modp给签名请求人。 然后计算

3)请求人去除盲因子,得原始签名:

rkrSt/gmmodn

11b)基于RSA的盲签名如下:

设d为签名者的私钥,e和n是签名者的公钥。

由签名请求人选定消息m和盲因子k,计算t=mke mod n,发送t 给签名者。

签名者计算并发送盲签名td=(mke)d mod n给签名请求人,签名请求人去除盲因子,得到消息m的原始签名s=td/k=md mod n。

26、试基于某种难解问题构造一类不可否认的签名方案。

27、证明在任何密码中,H(K|C)H(P|C),并解释其意义。

28、什么是主动攻击和被动攻击,各有何特点?

答题要点:

主动攻击是指攻击者对连接中通过的PDU进行各种处理,这些攻击涉及某些数据流的篡改或一个虚假流的产生。主动攻击包括四类:中断、篡改、伪造和重放。主动攻击表现出与被动攻击相反的特点。完全防止主动攻击是相当困难的,可采取适当措施(如加密技术和鉴别技术相结合)加以检测。

被动攻击的攻击者只是观察通过一个连接的协议数据单元PDU,以便了解所交换的数据,并不干扰信息流。如搭线窃听、对文件或程序的非法复制等,以获取他人的信息。被动攻击本质上是在传输中的偷听或监视,其目的是从传输中获得信息。典型的被动攻击形式就是截获,包括析出消息内容和通信量分析。对于被动攻击,通常是难以检测的,因为它们并不会导致数据有任何变化,对付被动攻击的重点是防止而不是检测,可以采用各种数据加密技术进行数据保护。

29、试基于数学难题构造一类盲签名方案。

基于RSA的盲签名如下:

设d为签名者的私钥,e和n是签名者的公钥。

e

由签名请求人选定消息m和盲因子k,计算t=mk mod n,发送t 给签名者。

签名者计算并发送盲签名td=(mk)d mod n给签名请求人,签名请求人去除盲因子,得到消息m的原始签名s=t/k=md mod n。

30、(1)假定一个周期是4的换位密码,其密钥是i=1,2,3,4的一个置换f(i)=4,3,2,1.若明文是:can you understand,请计算其密文,要求必须有计算过程。

(2)用Vigenère密码加密,设m=6,且密钥字是CIPHER,这相应于密钥。假定明文串是 this cryptosystem is not secure,试计算密文串。

答:(1)每4个字母一组,按照1->4, 2->3, 3->2,4->1的顺序进行换位; cany ouun ders tand ynac nuuo sred dnat

(2) 首先将明文串转化为数字串,按6个一组分段,然后模26“加”上密钥字得: thiscr yptosy stemis not sec ure

197818217 28157417 2115232568d

e

24152019141824815741723821221518194128181314191842281574172111919129201742815741715228258192815222519

相应的密文串将是:

VPXZGIAXIVWPUBTTMJPWIZITWZT

解密过程与加密过程类似,不同的只是进行模26减,而不是模26加。

31、Hash函数在密码学中有什么作用?带密钥的Hash函数(即MAC)和不带密钥的

Hash函数在保护数据完整性方面有什么不同? 答:

(1)Hash函数是密码学认证理论重要内容之一,利用Hash函数可以保证数据完整性,可用于数字签名、消息的完整性检测等方面。

(2)带密钥的单向散列函数也称为消息鉴别码MAC,MAC具有与不带密钥的散列函数相同的特性,但消息鉴别码使用了一个密码,只有具有该密钥的人才能生成消息鉴别码,即满足某种安全性质,两者安全性质截然不同。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务