现代密码学_清华大学_杨波着+习题答案

合集下载

杨波, 《现代密码学(第2版)》06-1

杨波, 《现代密码学(第2版)》06-1

图6.1 MAC的基本使用方式
如果仅收发双方知道K,且B计算得到的MAC 与接收到的MAC一致,则这一系统就实现了以下 功能: ① 接收方相信发送方发来的消息未被篡改,这是 因为攻击者不知道密钥,所以不能够在篡改消息后 相应地篡改MAC,而如果仅篡改消息,则接收方 计算的新MAC将与收到的MAC不同。 ② 接收方相信发送方不是冒充的,这是因为除收 发双方外再无其他人知道密钥,因此其他人不可能 对自己发送的消息计算出正确的MAC。
第1轮 已知M1、MAC1,其中MAC1=CK(M1)。对 所有2k个可能的密钥计算MACi=CKi(M1),得2k-n个 可能的密钥。 第2轮 已知M2、MAC2,其中MAC2=CK(M2)。对 上一轮得到的2k-n个可能的密钥计算MACi=CKi(M2), 得2k-2×n个可能的密钥。
如此下去,如果k=αn,则上述攻击方式平均需要α 轮。例如,密钥长为80比特,MAC长为32比特, 则第1轮将产生大约248个可能密钥,第2轮将产生 216个可能的密钥,第3轮即可找出正确的密钥。
⑤ 已知x,找出y(y≠x)使得H(y)=H(x)在计算上是不 可行的。称满足这一性质的杂凑函数为弱单向杂凑 函数。 ⑥ 找出任意两个不同的输入x、y,使得H(y)=H(x) 在计算上是不可行的。称满足这一性质的杂凑函数 为强单向杂凑函数。
第⑤和第⑥个条件给出了杂凑函数无碰撞性的概念, 如果杂凑函数对不同的输入可产生相同的输出,则 称该函数具有碰撞性。
杂凑函数的目的是为需认证的数据产生一个“指 纹”。为了能够实现对数据的认证,杂凑函数应满 足以下条件: ① 函数的输入可以是任意长。 ② 函数的输出是固定长。 ③ 已知x,求H(x)较为容易,可用硬件或软件实现。 ④ 已知h,求使得H(x)=h的x在计算上是不可行的, 即满足单向性,称H(x)为单向杂凑函数。

现代密码学杨波课后习题讲解

现代密码学杨波课后习题讲解

选择两个不同的大素数p和q, 计算n=p*q和φ(n)=(p-1)*(q-1)。 选择整数e,使得1<e<φ(n)且e 与φ(n)互质。计算d,使得 d*e≡1(mod φ(n))。公钥为 (n,e),私钥为(n,d)。
将明文信息M(M<n)加密为 密文C,加密公式为 C=M^e(mod n)。
将密文C解密为明文信息M,解 密公式为M=C^d(mod n)。
课程特点
杨波教授的现代密码学课程系统介绍了密码学的基本原 理、核心算法和最新进展。课程注重理论与实践相结合, 通过大量的案例分析和编程实践,帮助学生深入理解和 掌握密码学的精髓。
课后习题的目的与意义
01 巩固课堂知识
课后习题是对课堂知识的有效补充和延伸,通过 解题可以帮助学生加深对课堂内容的理解和记忆。
不要重复使用密码
避免在多个账户或应用中使用相同的密码, 以减少被攻击的风险。
注意网络钓鱼和诈骗邮件
数字签名与认证技术习题讲
05

数字签名基本概念和原理
数字签名的定义
数字签名的应用场景
数字签名是一种用于验证数字文档或 电子交易真实性和完整性的加密技术。
电子商务、电子政务、电子合同、软 件分发等。
数字签名的基本原理
利用公钥密码学中的私钥对消息进行签 名,公钥用于验证签名的正确性。签名 过程具有不可抵赖性和不可伪造性。
Diffie-Hellman密钥交换协议分析
Diffie-Hellman密钥交换协议的原理
该协议利用数学上的离散对数问题,使得两个通信双方可以在不安全的通信通道上协商出一个共 享的密钥。
Diffie-Hellman密钥交换协议的安全性
该协议在理论上被证明是安全的,可以抵抗被动攻击和中间人攻击。

《现代密码学(第2版)杨波 01

《现代密码学(第2版)杨波  01

保密通信系统的组成
明文消息空间M,密文消息空间C,密钥空间 K1和K2,在单钥体制下K1=K2=K,此时密钥K需 经安全的密钥信道由发送方传给接收方; 加密变换Ek1:M→C,其中k1∈K1,由加密器 完成; 解密变换Dk2:C→M,其中k2∈K2,由解密器 实现. 称总体(M,C,K1,K2,EK1,DK2)为保密通信系统.对 于给定明文消息m∈M,密钥k1∈K1,加密变 换将明文m变换为密文c,即 c=f(m,k )=E (m)m∈M,k ∈K
20世纪90年代,因特网爆炸性的发展把人类 带进了一个新的生存空间.因特网具有高度 分布,边界模糊,层次欠清,动态演化,而 用户又在其中扮演主角的特点,如何处理好 这一复杂而又巨大的系统的安全,成为信息 安全的主要问题.由于因特网的全球性,开 放性,无缝连通性,共享性,动态性发展, 使得任何人都可以自由地接入,其中有善者, 也有恶者.恶者会采用各种攻击手段进行破 坏活动.
如何产生满足保密要求的密钥以及如何将密 钥安全可靠地分配给通信双方是这类体制设 计和实现的主要课题. 密钥产生,分配,存储,销毁等问题,统称 为密钥管理.这是影响系统安全的关键因素. 单钥体制可用于数据加密,也可用于消息的 认证. 单钥体制有两种加密方式:
– 明文消息按字符(如二元数字)逐位地加密,称 之为流密码; – 将明文消息分组(含有多个字符),逐组地进行 加密,称之为分组密码.
在信息传输和处理系统中,除了预定的接收 者外,还有非授权者,他们通过各种办法 (如搭线窃听,电磁窃听,声音窃听等)来 窃取机密信息,称其为截收者. 截收者虽然不知道系统所用的密钥,但通过 分析可能从截获的密文推断出原来的明文或 密钥,这一过程称为密码分析,ห้องสมุดไป่ตู้事这一工 作的人称为密码分析员,研究如何从密文推 演出明文,密钥或解密算法的学问称为密码 分析学.

现代密码学 课后答案 第二版

现代密码学 课后答案 第二版
e)一般地,一个反馈移位寄存器由两部分组成:移位寄存器和反馈函数。
f)反馈移位寄存器输出序列生成过程中,对输出序列周期长度起着决定性的作用,而对输出的序列起着决定性的作用。
g)选择合适的n级线性反馈函数可使序列的周期达到最大值2的n次方-1,并具有m序列特性,但敌手知道一段长为n的明密文对时即能破译这n级线性反馈函数。
2.经典的信息安全三要素--机密性,完整性和可用性,是信息安全的核心原则。
3.根据对信息流造成的影响,可以把攻击分为5类中断、截取、篡改、伪造和重放,进一步可概括为两类主动攻击和被动攻击。
4.1949年,香农发表《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学成为了一门学科。
5.密码学的发展大致经历了两个阶段:传统密码学和现代密码学。
6.1984年,Shamir提出了一种基于身份的加密方案IBE的思想,方案中不使用任何证书,直接将用户的身份作为公钥,以此来简化公钥基础设施PKI中基于公钥证书维护的过程。
4.10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第三章
5.判断
6.选择题
7.填空题
a)在1949年香农发表《保密系统的通信理论》之前,密码学算法主要通过字符间的简单置换和代换实现,一般认为密码体制属于传统密码学范畴。
b)传统密码体制主要有两种,分别是指置换密码和代换密码。
c)置换密码又叫换位密码,最常见的置换密码有列置换和周期转置换密码。
6.1976年,W.Diffie和M.Hellman在《密码学的新方向》一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
7.密码学的发展过程中,两个质的飞跃分别指1949年香农发表的《保密系统的通信理论》和1978年,Rivest,Shamir和Adleman提出RSA公钥密码体制。

现代密码学课后题答案

现代密码学课后题答案

《现代密码学习题》答案第一章判断题×√√√√×√√选择题1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。

A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。

A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。

A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。

A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击填空题:5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。

6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。

7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。

8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。

9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。

10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。

第二章判断题:×√√√选择题:1、字母频率分析法对(B )算法最有效。

A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。

A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。

A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。

现代密码学_清华大学_杨波著_部分习题答案[1]

现代密码学_清华大学_杨波著_部分习题答案[1]
密文 C= E11,23(M)≡11*M+23 (mod 26) =[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1]
= YWPKXYHVKXONPTJCHYBXLPKTB ∵ 11*19 ≡ 1 mod 26 (说明:求模逆可采用第 4 章的“4.1.6 欧几里得算法”,或者直接穷举 1~25) ∴ 解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26) 对密文 C 进行解密:
密文用数字表示为:
c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为 m=3*c+22 (mod 26)
=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17]

Ri'
=
L' i −1

F
(
R' i −1
,
Ki' )
( ) ( ) ⇔
Li−1 ⊕ F (Ri−1, Ki )
'=
Li−1

F
(
R' i −1
,
Ki'
)
'
根据(i)(ii) 根据(iii)

F (Ri−1, Ki )
=
F
(
R' i −1
,
Ki' )

P(S
( E ( Ri −1 )

现代密码学课后题答案

现代密码学课后题答案

《现代密码学习题》答案第一章判断题×√√√√×√√选择题1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。

A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。

A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。

A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。

A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击填空题:5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。

6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。

7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。

8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。

9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。

10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。

第二章判断题:×√√√选择题:1、字母频率分析法对(B )算法最有效。

A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。

A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。

A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。

杨波, 《现代密码学(第2版)》02

杨波, 《现代密码学(第2版)》02

• 初始状态由用户确定。 • 当第i个移位时钟脉冲到来时,每一级存储器ai都将 其内容向下一级ai-1传递,并计算f(a1,a2,…,an)作为 下一时刻的an。 • 反馈函数f(a1,a2,…,an)是n元布尔函数,即n个变元 a1,a2,…,an可以独立地取0和1这两个可能的值,函数 中的运算有逻辑与、逻辑或、逻辑补等运算,最后 的函数值也为0或1。
例2.3 图2.11是一个5级线性反馈移位寄存器,其 初始状态为(a1,a2,a3,a4,a5)=(1,0,0,1,1),可求出输 出序列为: 1001101001000010101110110001111100110… 周期为31。
图2.11 一个5级线性反馈移位寄存器
n级线性反馈移位寄存器的状态周期小于等于2n-1。 输出序列的周期与状态周期相等,也小于等于2n-1。
又由p(x)A(x)=φ(x)可得p(x)q(x)A(x)=φ(x)q(x)。
所以(xp-1)A(x)=φ(x)q(x)。 由于q(x)的次数为 p-n,φ(x)的次数不超过n-1,
所以(xp-1)A(x)的次数不超过(p-n)+(n-1)=p-1。
将(xp-1)A(x)写成 xp A(x)- A(x),可看出对于任意正整 数i都有ai+p=ai。 设p=kr+t, 0≤t<r,则ai+p=ai+kr+t=ai+t=ai,所以t=0,即 r | p。(证毕)
分组密码与流密码的区别就在于有无记忆性。 流密码的滚动密钥z0=f(k,σ0)由函数f、密钥k和指定 的初态σ0完全确定。 由于输入加密器的明文可能影响加密器中内部记忆 元件的存储状态,σi(i>0)可能依赖于k,σ0,x0, x1,…,xi-1等参数。

杨波, 《现代密码学(第2版)》04-2

杨波, 《现代密码学(第2版)》04-2
• 如果密钥太短,公钥密码体制也易受到穷搜索攻击。 因此密钥必须足够长才能抗击穷搜索攻击。 • 由于公钥密码体制所使用的可逆函数的计算复杂性 与密钥长度常常不是呈线性关系,而是增大得更快。 所以密钥长度太大又会使得加解密运算太慢而不实 用。因此公钥密码体制目前主要用于密钥管理和数 字签字。 • 第2种攻击法:寻找从公开钥计算秘密钥的方法。 目前为止,对常用公钥算法还都未能够证明这种攻 击是不可行的。
⑥ 加、解密次序可换,即 EPKB[DSKB(m)]=DSKB[EPKB(m)]
其中最后一条虽然非常有用,但不是对所有的算法 都作要求。
单向函数是两个集合X、Y之间的一个映射,使 得Y中每一元素y都有惟一的一个原像x∈X,且由x 易于计算它的像y,由y计算它的原像x是不可行的。
这里所说的易于计算是指函数值能在其输入长 度的多项式时间内求出,即如果输入长n比特,则求 函数值的计算时间是na的某个倍数,其中a是一固定 的常数。这时称求函数值的算法属于多项式类P,否 则就是不可行的。 例如,函数的输入是n比特,如果求函数值所用 的时间是2n的某个倍数,则认为求函数值是不可行 的。
以上认证过程中,由于消息是由用户自己的秘密钥 加密的,所以消息不能被他人篡改,但却能被他人 窃听。这是因为任何人都能用用户的公开钥对消息 解密。为了同时提供认证功能和保密性,可使用双 重加、解密。如图4.3所示。
图4.3 公钥密码体制的认证、保密框图
发方首先用自己的秘密钥SKA对消息m加密,用于 提供数字签字。再用收方的公开钥PKB第2次加密, 表示为 c=EPKB[ESKA[m]] 解密过程为
由gcd(m, q)=1及Euler定理得mφ(q)≡1 mod q,所以 mkφ(q)≡1 mod q [mkφ(q)]φ(p)≡1 mod q mkφ(n)≡1 mod q 因此存在一整数r,使得mkφ(n) = 1+rq,两边同乘以 m=tp得 mkφ(n)+1 = m + rtpq = m + rtn

现代密码学 (杨波 著) 清华大学出版社_khdaw

现代密码学 (杨波 著) 清华大学出版社_khdaw

.c
根据(i)(ii) 根据(iii)
om
da
课后答案网
NCUT 密码学 – 习题与答案 2010
da
fi ( Li −1 , Ri −1 ) = ( Li −1 ⊕ F ( Ri −1 , Ki ), Ri −1 )
则有,
kh
fi 2 ( Li −1 , Ri −1 ) = ( Li −1 ⊕ F ( Ri −1 , K i ), Ri −1 ) = fi ( Li −1 ⊕ F ( Ri −1 , Ki ), Ri −1 ) = ( Li −1 , Ri −1 ) = ( ( Li −1 ⊕ F ( Ri −1 , Ki )) ⊕ F ( Ri −1 , Ki ), Ri −1 )
w
⎡a b ⎤ ⎥, ⎣c d ⎦
.c
om
A 是 2×2 矩阵, B 是 0 矩阵, 又知明文 “dont” 4. 设多表代换密码 Ci ≡ AMi + B (mod 26) 中, 被加密设解密变换为 m=D(c)≡a*c+b (mod 26) 由题目可知 密文 ed 解密后为 if,即有: D(e)=i : 8≡4a+b (mod 26) D(d)=f : 5≡3a+b (mod 26) 由上述两式,可求得 a=3,b=22。 因此,解密变换为 m=D(c)≡3c+22 (mod 26) 密文用数字表示为: c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为 m=3*c+22 (mod 26) =[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17] = ifyoucanreadthisthankateahcer

现代密码学_清华大学_杨波着+习题答案

现代密码学_清华大学_杨波着+习题答案

现代密码学_清华⼤学_杨波着+习题答案设 A = ' ∞ ,= =≤ ? ≤ ∞ ' ? ≤ ? ≤ ∞ ' ? 可求得 A = '⼀、古典密码(1,2,4)11,23AGENCY ”加密,并使⽤解密变换 D 11,23(c)≡11-1(c-23) (mod 26) 验证你的加密结果。

解:明⽂⽤数字表⽰:M=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24]密⽂ C= E 11,23(M)≡11*M+23 (mod 26)=[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1] = YWPKXYHVKXONPTJCHYBXLPKTB∵ 11*19 ≡ 1 mod 26 (说明:求模逆可采⽤第4章的“4.1.6欧⼏⾥得算法”,或者直接穷举1~25)∴解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26)对密⽂ C 进⾏解密:M ’=D(C)≡19C+5 (mod 26)=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] = THE NATIONAL SECURITY AGENCY2. 设由仿射变换对⼀个明⽂加密得到的密⽂为 edsgickxhuklzveqzvkxwkzukvcuh ,⼜已知明⽂的前两个字符是“if ”。

对该密⽂解密。

解:设解密变换为 m=D(c)≡a*c+b (mod 26)由题⽬可知密⽂ ed 解密后为 if ,即有:D(e)=i : 8≡4a+b (mod 26) D(d)=f : 5≡3a+b (mod 26)由上述两式,可求得 a=3,b=22。

因此,解密变换为 m=D(c)≡3c+22 (mod 26)密⽂⽤数字表⽰为:c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7]则明⽂为 m=3*c+22 (mod 26)=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17] = ifyoucanreadthisthankateahcer4. 设多表代换密码 C i ≡ AM i + B (mod 26) 中,A 是 2×2 矩阵,B 是 0 矩阵,⼜知明⽂“dont ” 被加密为“elni ”,求矩阵 A 。

杨波,_《现代密码学(第2版)》第五章 5.4-5.5节

杨波,_《现代密码学(第2版)》第五章 5.4-5.5节

5.4.1 随机数的使用
很多密码算法都需使用随机数,例如: 很多密码算法都需使用随机数,例如: • 相互认证。在密钥分配中需使用一次性随机数来 相互认证。 防止重放攻击。 防止重放攻击。 • 会话密钥的产生。 会话密钥的产生。 • 公钥密码算法中密钥的产生,用随机数作为公钥 公钥密码算法中密钥的产生, 密码算法中的密钥, 密码算法中的密钥,或以随机数来产生公钥密码算 法中的密钥。 法中的密钥。 在随机数的上述应用中, 在随机数的上述应用中,都要求随机数序列满 随机性和不可预测性。 足随机性和不可预测性。
一种方法是将高质量的随机数作为随机数库编 一种方法是将高质量的随机数作为随机数库编 辑成书,供用户使用。 辑成书,供用户使用。然而与网络安全对随机数巨 大的需求相比,这种方式提供的随机数数目非常有 大的需求相比,这种方式提供的随机数数目非常有 再者, 限。再者,虽然这时的随机数的确可被证明具有随 机性,但由于敌手也能得到这个随机数源, 机性,但由于敌手也能得到这个随机数源,而难以 保证随机数的不可预测性。 保证随机数的不可预测性。 网络安全中所需的随机数都借助于安全的密码 网络安全中所需的随机数都借助于安全的密码 算法来产生。但由于算法是确定性的, 算法来产生。但由于算法是确定性的,因此产生的 数列不是随机的。然而如果算法设计得好, 数列不是随机的。然而如果算法设计得好,产生的 数列就能通过各种随机性检验,这种数就是伪随机 数列就能通过各种随机性检验,这种数就是伪随机 数。
如果取a=7,其他值不变,则产生的数列为 5, 25, ,其他值不变,则产生的数列为{1, 如果取 29, 17, 21, 9, 13, 1,…},周期增加到 。 ,周期增加到8。 周期尽可能大, 应尽可能大 应尽可能大。 为使随机数数列的周期尽可能大 为使随机数数列的周期尽可能大,m应尽可能大。 普遍原则是选 接近等于计算机能表示的最大整数 接近等于计算机能表示的最大整数, 普遍原则是选m接近等于计算机能表示的最大整数, 如接近或等于2 如接近或等于231。

杨波, 《现代密码学(第2版)》05-1

杨波, 《现代密码学(第2版)》05-1

5.1.5 无中心的密钥控制
用密钥分配中心为用户分配密钥时, 用密钥分配中心为用户分配密钥时,要求所有 用户都信任KDC,同时还要求对 加以保护. 用户都信任 ,同时还要求对KDC加以保护. 加以保护 如果密钥的分配是无中心的, 如果密钥的分配是无中心的,则不必有以上两 个要求. 个要求.然而如果每个用户都能和自己想与之建立 联系的另一用户安全地通信,则对有n个用户的网 联系的另一用户安全地通信,则对有 个用户的网 络来说,主密钥应多达n(n-1)/2个.当n很大时,这 很大时, 络来说,主密钥应多达 个 很大时 种方案无实用价值, 种方案无实用价值,但在整个网络的局部范围却非 常有用. 常有用.
用会话密钥K ④ B用会话密钥 S加密另一个一次性随机数 2,并 用会话密钥 加密另一个一次性随机数N 将加密结果发送给A. 将加密结果发送给 . 作为对B的应答 是对N ⑤ A以f(N2)作为对 的应答,其中 是对 2进行某种 以 作为对 的应答,其中f是对 变换(例如加1)的函数, 变换(例如加 )的函数,并将应答用会话密钥加 密后发送给B. 密后发送给 . 这两步可使B相信第③ 这两步可使 相信第③步收到的消息不是一个 相信第 重放. 重放. 注意: 步就已完成密钥分配, 注意: 第③步就已完成密钥分配,第④,⑤ 两步结合第③步执行的是认证功能. 两步结合第③步执行的是认证功能.
此外,消息中还有 希望得到的两项内容 希望得到的两项内容: 此外,消息中还有B希望得到的两项内容: 一次性会话密钥 S; 一次性会话密钥K A的身份(例如 的网络地址)IDA. 的身份( 的网络地址) 的身份 例如A的网络地址 这两项由K 加密,将由A转发给 转发给B,以建立A, 之 这两项由 B加密,将由 转发给 ,以建立 ,B之 间的连接并用于向B证明 的身份. 证明A的身份 间的连接并用于向 证 的身份.

《现代密码学》练习题(含答案)

《现代密码学》练习题(含答案)

《现代密码学》练习题(含答案)一、填空题(每空1分,共7分)1. 加密算法的功能是实现信息的保密性。

2. 数据认证算法的功能是实现数据的完整性即消息的真实性。

3. 密码编码学或代数中的有限域又称为伽罗华(Galois)域。

记为GF(pn)4. 数字签名算法可实现不可否认性即抗依赖性。

信息安全基本要求:可用性、保密性、完整性、不可否认性、可控性、真实性。

5. Two-Track-MAC算法基于带密钥的RIPEMD-160。

密钥和输出MAC值都是20B6. AES和Whirlpool算法是根据宽轨迹策略设计的。

7. 序列密码的加密的基本原理是:用一个密钥序列与明文序列进行叠加来产生密文。

8. Rabin密码体制是利用合数模下求解平方根的困难性构造了一种非对称/公钥/双钥密码体制。

1. 现代对称密码的设计基础是:扩散和混淆。

2. 加密和解密都是在密钥控制下进行的。

3. 在一个密码系统模型中,只截取信道上传送信息的攻击方式被称为被动攻击。

4. Caesar密码体制属于单表代换密码体制。

(字母平移)5. 尽管双重DES不等价于使用一个56位密钥的单重DES,但有一种被称为中途相遇攻击的破译方法会对它构成威胁。

(成倍减少要解密的加密文本)6. 设计序列密码体制的关键就是要设计一种产生密钥流的方法。

2. 椭圆曲线密码是利用有限域GF(2n)上的椭圆曲线上点集所构成的群上定义的离散对数系统,构造出的公钥/非对称密码体制。

3. 在公钥密码体制中,加密密钥和解密密钥是不一样的,加密密钥可以公开传播而不会危及密码体制的安全性。

2. 密码学上的Hash函数是一种将任意长度的消息压缩为某一固定长度的消息摘要的函数。

3. 数字签名主要是用于对数字消息进行签名,以防止消息的伪造或篡改,也可以用于通信双方的身份认证。

2. CTR/计数器加密模式与CBC认证模式组合构成CCM模式;GMAX算法与CTR加密模式组合构成GCM模式。

杨波,_《现代密码学(第2版)》第四章 4.1节

杨波,_《现代密码学(第2版)》第四章 4.1节

交换律: ① 交换律: (w+x) mod n=(x+w) mod n (w×x) mod n=(x×w) mod n × × 结合律: ② 结合律: [(w+x)+y] mod n=[w+(x+y)] mod n [(w×x)×y] mod n=[w×(x×y)] mod n × × × × 分配律: × × × ③ 分配律: [w×(x+y)] mod n=[w×x+w×y] mod n 单位元: ④ 单位元: (0+w) mod n=w mod n (1×w) mod n=w mod n × 加法逆元: 存在z∈ 使得w+z≡0 ∈ ⑤ 加法逆元: 对w∈Zn,存在 ∈Zn,使得 mod n,记z = -w。 , 。
整数具有以下性质: 整数具有以下性质: ① a|1,那么a=1。 ,那么 。 ② a|b且b|a,则a=b。 且 , 。 对任一b ③ 对任一 (b≠0),b|0。 , 。 ④ b|g,b|h,则对任意整数 、n有 b|(mg+nh)。 , ,则对任意整数m 有 。 性质④的证明: 性质④的证明: 由b|g,b|h知,存在整数 1、h1, , 知 存在整数g 使得g=bg1, h=bh1所以 使得 mg+nh=mbg1+nbh1=b(mg1+nh1), 因此 因此b|(mg+nh)。 。
例4.1 设Z8={0, 1,…, 7},考虑 8上的模加法和模乘 ,考虑Z 法。
从加法结果可见,对每一 ,都有一y, 从加法结果可见,对每一x,都有一 ,使得 x+y≡0 mod 8。如对 ,有6,使得 。如对2, ,使得2+6≡0 mod 8,称 , 加法逆元。 y为x的负数,也称为加法逆元。 的负数, 为 的负数 也称为加法逆元 对x,若有 ,使得 ×y≡1 mod 8,如3×3≡1 ,若有y,使得x× , × mod 8,则称 为x的倒数,也称为乘法逆元。本例 的倒数, ,则称y为 的倒数 也称为乘法逆元。 可见并非每一 都有乘法逆元。 并非每一x都有乘法逆元 可见并非每一 都有乘法逆元。 一般地,定义 为小于n的所有非负整数集合 的所有非负整数集合, 一般地,定义Zn为小于 的所有非负整数集合, 为模n的同余类集合 的同余类集合。 即Zn={0, 1, …, n-1},称Zn为模 的同余类集合。其 , 上的模运算有以下性质 性质: 上的模运算有以下性质:

杨波, 《现代密码学(第2版)》05-2

杨波, 《现代密码学(第2版)》05-2

在设计密码算法时,经常使用似乎是随机的数 列,称为伪随机数列,例如RSA算法中素数的产生。 一般来说,决定一个大数N是否为素数是很困难的。 最原始的方法是用小于 的每个数去除N,如果N N 很大,比如10150,这一方法则超出了人类的分析能 力和计算能力。很多有效的算法是通过使用随机选 择的整数序列作为相对简单计算的输入,可检测一 个数的素性。如果随机选择的序列足够长(当然, 远小于 ),就可比较肯定地得出这个数的素 10150 性。这种方法称为随机化,在设计密码算法时经常 使用。
2. 不可预测性 在诸如相互认证和会话密钥的产生等应用中, 不仅要求数列具有随机性而且要求对数列中以后的 数是不可预测的。
对于真随机数列来说,数列中每个数都独立于 其他数,因此是不可预测的。 对于伪随机数来说,就需要特别注意防止敌手 从数列前边的数预测出后边的数。
5.4.2 随机数源
• 真随机数很难获得,物理噪声产生器,如离子辐射 脉冲检测器、气体放电管、漏电容等都可作为随机 数源,但在网络安全系统中很少采用,一方面是因 为数的随机性和精度不够,另一方面这些设备又很 难连接到网络系统中。
a n mod m 1 n 1, 2, , m 2 m1 a mod m 1
时,产生的数列是整周期的。例如, a=75=16807即 为m=231-1的一个本原根,由此得到的随机数产生 器Xn+1=(aXn)mod (231-1)已被广泛应用,而且与其 他产生器相比,经历过更多的检验,这种产生器常 用于统计和模拟工作。
EDE表示两个密钥的三重DES。
本方案具有非常高的密码强度,因为:
•采用了112比特长的密钥和9个DES加密;
•算法由两个伪随机数输入驱动,一个是当前的日 期和时间,另一个是算法上次产生的新种子; •即使某次产生的随机数Ri泄露了,但由于Ri又经一 次EDE加密才产生新种子Vi+1,所以别人即使得到 Ri也得不到Vi+1,从而得不到新随机数Ri+1。

现代密码学课后题答案

现代密码学课后题答案

《现代密码学习题》答案第一章判断题×√√√√×√√选择题1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。

A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。

A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。

A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。

A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击填空题:5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。

6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。

7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。

8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。

9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。

10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。

第二章判断题:×√√√选择题:1、字母频率分析法对(B )算法最有效。

A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。

A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。

A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、古典密码(1,2,4)解:设解密变换为m=D(c)≡a*c+b (mod 26)由题目可知密文ed 解密后为if,即有:D(e)=i :8≡4a+b (mod 26) D(d)=f :5≡3a+b (mod 26) 由上述两式,可求得a=3,b=22。

因此,解密变换为m=D(c)≡3c+22 (mod 26)密文用数字表示为:c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为m=3*c+22 (mod 26)=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17]= ifyoucanreadthisthankateahcer4. 设多表代换密码C i≡ AM i + B (mod 26) 中,A是2×2 矩阵,B是0 矩阵,又知明文“dont”被加密为“elni”,求矩阵A。

解:dont = (3,14,13,19) => elni = (4,11,13,8)二、流密码 (1,3,4)1. 3 级 线 性 反 馈 移 位 寄 存 器 在 c 3=1 时 可 有 4 种 线 性 反 馈 函 数 , 设 其 初 始 状 态 为 (a 1,a 2,a 3)=(1,0,1),求各线性反馈函数的输出序列及周期。

解:设反馈函数为 f(a 1,a 2,a 3) = a 1⊕c 2a 2⊕c 1a 3当 c1=0,c2=0 时,f(a 1,a 2,a 3) = a 1,输出序列为 101101…,周期为 3。

当 c1=0,c2=1 时,f(a 1,a 2,a 3) = a 1⊕a 2,输出序列如下 10111001011100…,周期为 7。

当 c1=1,c2=0 时,f(a 1,a 2,a 3) = a 1⊕a 3,输出序列为 10100111010011…,周期为 7。

当 c1=1,c2=1 时,f(a 1,a 2,a 3) = a 1⊕a 2⊕a 3,输出序列为 10101010…,周期为 2。

3. 设 n=4,f(a 1,a 2,a 3,a 4)=a 1⊕a 4⊕1⊕a 2a 3,初始状态为(a 1,a 2,a 3,a 4)=(1,1,0,1),求此非线性 反馈移位寄存器的输出序列及周期。

解:列出该非线性反馈移位寄存器的状态列表和输出列表:而第 m+3a m +3 = c 1a m +2 + c 2a m +1 + c 3a m = c 1 ⊕1 + c 2 ⊕ 0 + c 3c m ⊕ 0即第 m+3 比特为 0三、分组密码(1,2,3,4)1. (1)设M’是M的逐比特取补,证明在DES中,如果对明文分组和密文分组都逐比特取补,那么得到的密文也是原密文的逐比特取补,即如果Y = DES K(X),那么Y’=DES K’(X’)提示:对任意两个长度相等的比特串A和B,证明(A⊕B)’=A’⊕B。

证:(i)容易验证,在DES中所有的置换操作,包括初始置换IP、逆初始置换IP-1、选择扩展算法E、置换运算P以及置换选择PC1、置换选择PC2,都满足如下性质:如果N=PO(M),则N’=PO(M’),其中PO是某种置换操作即有(PO(M))’= PO(M’)(ii)容易验证,密钥生成过程中的左循环移位LS满足如下性质:如果N=LS (M),那么N’=LS(M’),即有(LS (M))’=LS(M’)结合(1)可知,如果记子密钥为(K1,…,K16),K为初始密钥,KG为密钥生成算法,则有如下性质:如果(K1,…,K16)=KG(K),那么(K1',…,K16')=KG(K’)(iii) 对于任意两个比特a和b,有(a⊕b)’= a⊕b⊕1=(a⊕1)⊕b=a’⊕b(= a⊕(b⊕1)=a⊕b’),因此对任意两个长度相等的比特串A和B,有(A⊕B)’=A’⊕B=A⊕B’成立。

穷举搜索密钥空间K1/2,对于某个k∈K1/2,假设(i) E k(x)=y1,如果y1=y,则说明k0=k而且k0∈K1/2。

(ii) E k(x’)=y2,如果y2=y’,则说明k= k0’,即k0= k’而且k0∈K’1/2。

综上可知:对于选定的明文密文对(x,y),只需遍历K1/2中的所有密钥即可,此时密钥空间大小少为255。

2.证明DES的解密变换是加密变换的逆。

证明:定义T是把64位数据左右两半交换位置的操作,即T(L,R)=(R,L),则T2(L,R)=(L,R),即T2=I,其中I为恒等变换。

定义DES中第i轮的主要运算为f i,即f i (L i 1, R i 1 ) = ( L i 1  F (R i 1, K i ), R i 1 )么解密后的P1跟加密前一样,同样有一个比特的错误,而对于C i≥2能够解密得到无错误的明文。

4.在8比特CFB模式中,如果在密文字符中出现1比特的错误,问该错误能传播多远。

解:该错误将传播到后面的 '≤(64+8-1)/8∞ƒ = 8个单元,共9个单元解密得到错误的明文。

四、公钥密码1. 3.用Fermat定理求3201 mod 11。

解:对于模运算,有结论(a×b) mod n = [ (a mod n)×(b mod n)] mod n 由Fermat 定理,可知310≡1 mod 11,因此有(310)k≡1 mod 11所以3201 mod 11= [(310)20×3] mod 11 = [( (310)20 mod 11)×(3 mod 11)] mod 11 = 3。

解:n=35 -> p=5, q=7∏(n)=(p-1)(q-1)=24d≡e-1 mod ∏(n)≡5-1 mod 24≡5 mod 24 .... (因为5×5≡1 mod 24)所以,明文M ≡ C d mod n ≡ 105 mod 35 ≡ 512.设RSA 加密体制的公开钥是(e,n)=(77, 221)。

(1) 用重复平方法加密明文160,得中间结果为:(1)如果接收方B 的公开钥是y B=3,发送方A 选择的随机整数k=2,求明文M=30 所对应的密文。

(2)如果A 选择另一个随机整数k,使得明文M=30 加密后的密文是C=(59, C2),求C2。

解:(1) C1≡g k mod p = 72 mod 71 = 49,C2≡y Bk M mod p = (32×30) mod 71= 57 所以密文为C=(C1, C2)=(49, 57)。

(2)由7k mod 71 = 59 ,穷举k 可得k=3 。

所以C2 = (3k×30) mod 71 = (33×30) mod 71 = 29。

解:C2 - n A C1= (P m + kP A)– n A (kG) = (10, 2)– 7(8,3) = (10, 9) = P m五、消息认证与杂凑函数1. 6.1.3 节的数据认证算法是由CBC 模式的DES 定义的,其中初始向量取为0,试说明使用CFB 模式也可获得相同结果。

(图1)解:CFB 模式中的加密部分的框图如下:(图2)如果要使CFB 模式输出结果和CBC 模式的相同,那就要选择适当参数和输入。

假设消息为M=D1D2…D N,则按如下思路考虑:(1) CBC 中DES 加密算法输入输出都为64 位,所以CFB 中的参数j 应取64。

此时的CFB 模式变为:(图3)(2)比较图1 和图2 中开始几个分组的处理,考虑DES 加密的输入和输出,可知,IV → D1, P1 → D2, ...(3)CBC 中最后一个DES 加密的输出为消息认证符,即O N=E K(D N⊕O N-1),因此在CFB 中,应取P M为Z64(64 比特都为0 的分组),这样有C M=E K(C M-1)⊕Z64=E K(C M-1)。

此时,应取P M-1 = D N。

综上可知:对于消息M=D1D2...D N, 如果采用DES/CFB 的数据认证算法,那么,当其参数取如下值时,参数j=64, 参数IV=D1,输入消息M'=D2D3...D N Z64其输出与采用DES/CBC 的数据认证算法的输出相同。

NCUT 密码学–习题与答案2010 2.有很多散列函数是由CBC模式的分组加密技术构造的,其中的密钥取为消息分组。

例如将消息M分成分组M1,M2,…,M N,H0=初值,迭代关系为H i=E Mi(H i-1)⊕H i-1 (i=1,2,…,N),杂凑值取为HN,其中E是分组加密算法。

(1)设E为DES,我们知道如果对明文分组和加密密钥都逐比特取补,那么得到的密文也是原密文的逐比特取补,即如果Y=DES K(X),那么Y’=DES K’(X’)。

利用这一结论证明在上述散列函数中可对消息进行修改但却保持杂凑值不变。

(2) 若迭代关系改为H i=E Hi-1(M i)⊕M i,证明仍可对其进行上述攻击。

解:(1) H i=E Mi(H i-1)⊕H i-1 E Mi(H i-1)= H i⊕H i-1E Mi’(H’i-1)= (H i⊕H i-1)' = H i⊕H’i-1即H i =E Mi’(H’i-1)⊕H’i-1则有H1 =E M1’(H’0)⊕H’0,因此,构造消息M’1M2…M n,同时初始向量取为原先的初始向量的补,则可得到相同的杂凑值。

(2) H i=E Hi-1(M i)⊕M i E Hi-1(M i)= H i⊕M i E H’i-1(M’i)= H i⊕M’i则有H1 =E H0’(M’1)⊕M’1因此,构造消息M’1M2…M n,同时初始向量取为原先的初始向量的补,则可得到相同的杂凑值。

3.考虑用公钥加密算法构造散列函数,设算法是RSA,将消息分组后用公开钥加密第一个分组,加密结果与第二个分组异或后,再对其加密,一直进行下去。

设一消息被分成两个分组B1和B2,其杂凑值为H(B1,B2)=RSA(RSA(B1)⊕B2)。

证明对任一分组C1可选C2,使得H(C1,C2)=H(B1,B2)。

证明用这种攻击法,可攻击上述用公钥加密算法构造的散列函数。

证明:(1)对任一分组C1,设RSA算法中加密公钥为e。

若取C2为C2 = (C1e mod n)⊕(B1e mod n)⊕B2则有RSA(C1)⊕C2 = (C1e mod n)⊕[(C1e mod n)⊕(B1e mod n)⊕B2]= (B1e mod n)⊕B2= RSA(B1)⊕B2从而有H(C1,C2) = H(B1,B2)成立。

相关文档
最新文档