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

合集下载

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

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

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

现代密码学_清华大学_杨波著_部分习题答案[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 )

杨波, 《现代密码学(第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

现代密码学第1讲资料

现代密码学第1讲资料

2020/5/24
14
通信窜扰
攻击者对通信数据或通信过程进行干预, 对完整性进行攻击,窜改系统中数据的内 容,修正消息次序、时间(延时和重放)、 注入伪造消息。
2020/5/24
15
中断
对可用性进行攻击,破坏系统中的硬 件、硬盘、线路、文件系统等,使系统不 能正常工作,破坏信息和网络资源。
高能量电磁脉冲发射设备可以摧毁附近建筑物中的电子 器件,正在研究中的电子生物可以吞噬电子器件。
2020/5/24
10
系统穿透
未授权人对认证性(真实性Authenticity) 进行攻击,假冒合法人接入系统.
对文件进行窜改(窜改系统中数据内容,修正消息次序、时间、
延时和重放).
窃取机密信息. 非法使用资源等。
一般采取伪装、利用系统的薄弱环节、收 集情报等方式实现。
2020/5/24
11
违反授权原则
2020/5/24
4
第一章:引言
信息社会的发展与挑战 Internet上的对抗与威胁 网络安全的防护措施 OSI的参考模型 OSI的安全全业务 OSI的安全机制
2020/5/24
5
信息社会的发展与挑战
人类进入信息化社会时代。数字化、信息化、网络化正在 冲击、影响、改变我们社会生活的各个方面。从科学研究、生 产制造、产品流通、商业运作、超市购物、医疗服务、教育培 训、出版印刷、媒体传播,到文化生活、娱乐消闲、人际交往、 法律规范、伦理道德、乃至军事作战等等,无一不将受到信息 网络的挑战,无一不在信息技术这一最新高科技生产力的作用 下迅速变化。
Internet的安全已受到普遍的重视。
2020/5/24
9
Internet上的对抗与威胁

现代密码学 (杨波 著) 清华大学出版社_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

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

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

由于要求最大公因子为正, 由于要求最大公因子为正,所以 gcd(a, b) = gcd(a, -b) = gcd(-a, b) = gcd(-a, -b).一般 . gcd(a, b)=gcd(|a|, |b|).由任一非 整数能整除 ,可 整数能整除0, .由任一非0整数能整除 得gcd(a, 0)=|a|.如果将a,b都表示为素数的乘积, .如果将 , 都表示为素数的乘积, 都表示为素数的乘积 极易确定. 则gcd(a, b)极易确定. 极易确定 例如: 例如: 300=22×31×52 18=21×32 gcd(18, 300)=21×31×50 = 6 一般由c 可得: 一般由 = gcd(a, b)可得 对每一素数 , 可得 对每一素数p, cp=min(ap, bp). .
4.1.2 模运算
是一正整数, 是整数 如果用n除 ,得商为q, 是整数, 设n是一正整数,a是整数,如果用 除a,得商为 , 是一正整数 余数为r, 余数为 ,则 a=qn+r, 0≤r<n, q = a n 的最大整数. 其中 x 为小于或等于 的最大整数. 为小于或等于x的最大整数 表示余数r, 用a mod n表示余数 ,则 a = a n n + a mod n. 表示余数
整数具有以下性质: 整数具有以下性质: ① 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). .

杨波,_《现代密码学(第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的身份 间的连接并用于向 证 的身份.

杨波,_《现代密码学(第2版)》第三章 3.1-3.4节

杨波,_《现代密码学(第2版)》第三章 3.1-3.4节

图3.1 分组密码框图
通常取m=n。 。 通常取 若m>n,则为有数据扩展的分组密码; ,则为有数据扩展的分组密码; 若m<n,则为有数据压缩的分组密码。 ,则为有数据压缩的分组密码。
设计的算法应满足下述要求: 设计的算法应满足下述要求: 分组长度n要足够大 要足够大, ① 分组长度 要足够大,使分组代换字母表中的元素 个数2 足够大,防止明文穷举攻击法奏效。 个数 n足够大,防止明文穷举攻击法奏效。 DES、IDEA、FEAL和LOKI等分组密码都采用 、 等分组密码都采用n=64, 、 和 等分组密码都采用 , 在生日攻击下用232组密文成功概率为1/2,同时要求 在生日攻击下用 组密文成功概率为 , 存贮, 232×64b=215MB存贮,故采用穷举攻击是不现实的。 存贮 故采用穷举攻击是不现实的。
• 如将分组 化分为子段,每段长为 、16或者 。 如将分组n化分为子段 每段长为8、 或者 化分为子段, 或者32。 • 软件实现时,应选用简单的运算,使作用于子段上 软件实现时,应选用简单的运算, 的密码运算易于以标准处理器的基本运算,如加、 的密码运算易于以标准处理器的基本运算,如加、 移位等实现, 乘、移位等实现,避免用以软件难于实现的逐比特 置换。 置换。 • 为了便于硬件实现,加密和解密过程之间的差别应 为了便于硬件实现, 仅在于由秘密密钥所生成的密钥表不同而已。这样, 由秘密密钥所生成的密钥表不同而已 仅在于由秘密密钥所生成的密钥表不同而已。这样, 加密和解密就可用同一器件实现。 加密和解密就可用同一器件实现。 • 设计的算法采用规则的模块结构,如多轮迭代等, 设计的算法采用规则的模块结构,如多轮迭代等, 以便于软件和VLSI快速实现。 快速实现。 以便于软件和 快速实现
数据扩展尽可能地小。一般无数据扩展, ⑤ 数据扩展尽可能地小。一般无数据扩展,在采用同 态置换和随机化加密技术时可引入数据扩展。 态置换和随机化加密技术时可引入数据扩展。 差错传播尽可能地小。 ⑥ 差错传播尽可能地小。

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

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

41、学问是异常珍贵的东西,从任何源泉吸 收都不可耻。——阿卜·日自 己。——德国
43、重复别人所说的话,只需要教育; 而要挑战别人所说的话,则需要头脑。—— 玛丽·佩蒂博恩·普尔
44、卓越的人一大优点是:在不利与艰 难的遭遇里百折不饶。——贝多芬
45、自己的饭量自己知道。——苏联
现代密码学杨波课后习 题讲解
6、纪律是自由的第一条件。——黑格 尔 7、纪律是集体的面貌,集体的声音, 集体的 动作, 集体的 表情, 集体的 信念。 ——马 卡连柯
8、我们现在必须完全保持党的纪律, 否则一 切都会 陷入污 泥中。 ——马 克思 9、学校没有纪律便如磨坊没有水。— —夸美 纽斯
10、一个人应该:活泼而守纪律,天 真而不 幼稚, 勇敢而 鲁莽, 倔强而 有原则 ,热情 而不冲 动,乐 观而不 盲目。 ——马 克思

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

杨波, 《现代密码学(第2版)》03-2
第3章 分组密码体制
• • • • • • 分组密码概述 数据加密标准 差分密码分析与线性密码分析 分组密码的运行模式 IDEA AES算法——Rijndael
3.5 IDEA
• 来学嘉(X. J. Lai)和J. L. Massey提出的第1版 IDEA(International Data Encryption Algorithm, 国际数据加密算法)于1990年公布,当时称为PES (proposed encryption standard,建议加密标准)。 • 1991年,在Biham和Shamir提出差分密码分析之后, 设计者推出了改进算法IPES,即改进型建议加密标 准。1992年,设计者又将IPES改名为IDEA。这是 近年来提出的各种分组密码中一个很成功的方案, 已在PGP中采用。
解密过程中第1轮的第1步产生以下关系: J11=Y1⊙U1 J12=Y2 + U2 J13=Y3 + U3 J14=Y4⊙U4
将解密子密钥由加密子密钥表达并将Y1,Y2,Y3,, Y4代入以下关系,有 J11=Y1⊙Z-149= W81⊙Z49⊙Z-149= W81 J12=Y2 + -Z50=W83 + Z50 + -Z50=W83 J13=Y3 + -Z51=W82 + Z51 + -Z51=W82 J14=Y4⊙Z-152= W84⊙Z52⊙Z-152= W84
3.5.2 加密过程
如图3.15所示,加密过程由连续的8轮迭代和一个输 出变换组成; 算法将64比特的明文分组分成4个16比特的子段,每 轮迭代以4个16比特的子段作为输入,输出也为4个 16比特的子段;
最后的输出变换也产生4个16比特的子段,链接起来 后形成64比特的密文分组。 每轮迭代还需使用6个16比特的子密钥,最后的输出 变换需使用4个16比特的子密钥,所以子密钥总数为 52。

杨波, 《现代密码学(第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。

杨波现代密码学复习

杨波现代密码学复习

信息的载体有媒介和信道.对信息载体的两种攻击为主动攻击和被动攻击.密码学的两个分支为密码编码学和密码分析学.密码体制有单钥密码体制和双钥密码体制.现代流密码的设计思想来源于古典密码中的维吉尼亚密码.现代分组密码的设计思想来源于古典密码中的多字母代换密码.在信息保密系统中,攻击者EVE拥有的基本资源是密文C,加密算法E和解密算法D;EVE可能拥有的更多资源为:可能知道密文C对应的明文M;可能拥有强大的计算能力;可能缴获了一台加密机.EVE不可能拥有的资源是:加密密钥Z和解密密钥K.已知明文攻击:EVE截获了密文C,并且知道了密文C对应的明文M,于是:在解密方程中EVE知道M,C 仅仅不知道K在加密方程中EVE知道M,C 仅仅不知道Z如果EVE从方程中解出K和Z,以后就可以像BOB一样对任何密文进行解密,像ALICE一样对任何明文进行加密.还可以给出更宽松的条件,EVE如果获得以往废弃的N组明文/密文对,就可以得到关于K的方程组.以上就是已知明文攻击.无条件安全性:对密码体制的任何攻击,都不优于对明文完全盲目的猜测,这样的密码体制就称为无条件安全的(完善保密的).一次一密的加密方式容易实现无条件安全.计算安全性:1.对密码体制的任何攻击,虽然可能优于完全盲目的猜测,但超出了攻击者的计算能力,这是最高级别的计算安全;2.对密码体制的任何攻击,虽然可能没有超过攻击者的计算能力,但所付出的代价远大于破译成功所得到的利益,这是第二级别的计算安全; 3.对密码体制的任何攻击,虽然可能没有超出攻击者的计算能力,但破译成功所需要的时间远远大于明文本身的有效期限,这也是第二级别的计算安全.Golomb随机性假设:1.N充分大时,比特流中的01个数各占约一半;2.N充分大时,在比特流中,长度为L的0游程个数约有N/2L个;N充分大时,在比特流中,长度为L的1游程个数约有N/2L个;3.若K>0,当N充分大时,以下的值(异自相关函数值)约为O:(1/N)*[(-1的KL+K(L+K)次方)L从1到N求和].一个周期的布尔序列一定是一个线性反馈移位寄存器序列.设比特流K周期为N,则L>N后,KL=KL-N.因此比特流K为N阶线性反馈移位寄存器序列,抽头系数为{C1,C2,}={0,0,......1}极小多项式为F(X)=1'+'XN次方.初始状态为K1K2......KN.N阶线性反馈移位寄存器序列的最小周期的上确界是2N次方-1,最小周期达到此上确界时称K为N阶M序列.完全满足GOLOMB随机性假设.不能直接作为密钥流的原因为:EVE如果得到任何一段连续2N个比特,就获得了一个关于抽头系数的方程组,由于加法和乘法都是在域GF(2)上进行(MOD2运算),容易计算出抽头系数,从而被攻破.使用的算法为B-M算法和GAMES-CHAN算法.非线性前馈序列做密钥流时,初始状态,极小多项式和非线性布尔函数可以作为通信伙伴的原始密钥.分组密码与流密码相比,优点:加解密算法简洁快速,占用的计算资源小,易于软件和硬件的实现;加解密算法参数固定,比流密码容易实现标准化;由于明文流被分段加密,因此容易实现同步,而且传输错误不会向后扩散;缺点:不容易使用硬件实现,安全性很难被证明,至多证明局部安全性.五个设计准则:安全性,简洁性,有效性,透明性和灵活性,加解密的相似性.Feistel网络的算法步骤:1.将明文M分为等长的两部分M=(L(0),R(0));2.使用由密钥K控制的高度非线性函数F,(1)计算(L',R')=(L(0)'+'F(R(0),K) , R(0));(2)计算密文C=(L(1),R(1))=(R',L').杂凑函数应满足的三条性质:1.等长性,2.单向性.3.无碰撞性.数字签名应满足的三条性质:1.完整性,2.身份唯一性(不可伪造性),3.不可否认性(公开可验证性).互联网五种基本服务:电子邮件,信息浏览,文件传输,远程登录,电子公告牌.IPSec属于网络层,两个协议是认证报头协议AH和封装安全负载协议ESP,两个数据库是安全策略数据库SPD和安全关联数据库SAD.S/MIME处理非文本课文时,采用MIME增加非文本的对象到邮件主体中去,按照S/MIME,发送者将普通的MIME格式的消息封装成为S/MIME安全对象,并将其按照普通消息的发送方式发送出去,接收者把S/MIME安全对象解封装为普通的MIME格式消息.PGP利用电子邮件兼容性服务将被加密或被签名的邮件每三个字节为一组,扩充为四个字节,扩充后的每个字节都是一个ASCII字符.这种转换称为基数64变换,为消息扩展了33%.消息认证码不同于对称加密函数,对称加密函数的逆函数就是解密函数,而消息认证码函数是不存在逆函数的,这就是说,消息认证码函数具有单向性,只能"加密",不能"解密".即使知道密钥Z,也只能由消息M的值计算消息认证码C的值,而不能由C的值计算M的值.消息认证码不同于杂凑函数,杂凑函数没有密钥的作用,因而是完全公开的,而消息认证码有密钥Z的参与.比没有密钥的杂凑函数具有更强的安全性,使敌方更难篡改和伪造.在相同的安全性要求下,消息认证码更容易设计.但是消息认证码需要收发双方协调一次密钥.SET协议的双重签名的功能.使得消费者的支付信息和订单信息分别被阅读,即商家只能看到消费者的订单信息,看不到消费者的支付信息,金融机构只能阅读支付和帐户信息而看不到消费者的交易内容.SET协议的双重签名的具体步骤.略零知识证明协议.P使用一种证明方法,使V相信他知道该秘密,而又能保证不泄露该秘密.。

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

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

每轮迭代的结构和Feistel结构一样:
Li Ri 1 Ri Li 1 f ( Ri 1 , K i )
习题
习题
3. 在 DES 的 ECB 模式中,如果在密文分组中有一个错误,解密后 仅相应的明文分组受到影响。然而在 CBC 模式中,将有错误传播。 例如在图 3-11 中 C1 中的一个错误明显地将影响到 P1和 P2 的结 果。 (1) P2 后的分组是否受到影响? (2) 设加密前的明文分组 P1 中有 1 比特的错误,问这一错误将在 多少个密文分组中传播? 对接收者产生什么影响? ECB模式:每个明文组独立地以同一密钥加密 CBC模式:加密算法的输入是当前明文组与前一密文组的异或
习题
x 2 mod 3 6.求下列同余方程组 x 1mod 5 (中国剩余定理) x 1mod 7
习题
因此,解密变换为 m=D(c)≡9-1(c-10) (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]
则明文为 c=9-1(c-10) (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
习题
3. 用 Fermat 定理求 3201 mod 11 Fermat定理:若p是素数,a是正整数且gcd(a, p)=1,则 ap-1≡1 mod p。
解: p=11,a=3,gcd(3,11)=1
由 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。

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

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

图7.1 消息加密产生数字签字的基本方式
(2) 公钥加密 如图7.1(b)所示,发送方A使用自己的秘密钥SKA对 消息M加密后的密文作为对M的数字签字,B使用A 的公开钥PKA对消息解密,由于只有A才拥有加密 密钥SKA,因此可使B相信自己收到的消息的确来自 A。然而由于任何人都可使用A的公开钥解密密文, 所以这种方案不提供保密性。为提供保密性,A可 用B的公开钥再一次加密,如图7.1(c)所示。
True S Sig x M Verx S , M False S Sig x M
算法的安全性在于从M和S难以推出密钥x或伪造一 个消息M′使M′和S可被验证为真。
7.1.3 数字签字的执行方式
数字签字的执行方式有两类: 直接方式和具有仲 裁的方式。 1. 直接方式 指数字签字的执行过程只有通信双方参与,并假定 双方有共享的秘密钥或接收一方知道发方的公开钥。
DSS签字也利用一杂凑函数产生消息的一个杂凑值, 杂凑值连同一随机数k一起作为签字函数的输入, 签字函数还需使用发送方的秘密钥SKA和供所有用 户使用的一族参数,称这一族参数为全局公开钥 PKG。签字函数的两个输出s和r就构成了消息的签 字(s,r)。接收方收到消息后再产生出消息的杂凑 值,将杂凑值与收到的签字一起输入验证函数,验 证函数还需输入全局公开钥PKG和发送方的公开 钥PKA。验证函数的输出如果与收到的签字成分r 相等,则验证了签字是有效的。
7.1 数字签字的基本概念
7.1.1 数字签字应满足的要求 消息认证的作用是保护通信双方以防第三方 的攻击,然而却不能保护通信双方中的一方防止另 一方的欺骗或伪造。通信双方之间也可能有多种形 式的欺骗,例如通信双方A和B(设A为发方,B为 收方)使用图6.1所示的消息认证码的基本方式通 信,则可能发生以下欺骗:

杨波现代密码学第2版第三章3.6节

杨波现代密码学第2版第三章3.6节

将以上关系写成矩阵形式即得
a0 a3 a2 a1 h0 h3 h2 h1 1 0 0 0
a1
a0
a3
a2
h1
h0
h3
h2
0
1
0
0
a2 a3
a1 a2
a0 a1
a3 a0
h2 h3
h1 h2
h0 h1
h3 h0
0 0
0 0
1 0
0 1
(证毕)
c(x)=x b(x)定义为x与b(x)的模x4+1乘法,即c(x)= xb(x)= b2x3+b1x2+b0x+b3。其矩阵表示中,除
1. 状态、种子密钥和轮数
类似于明文分组和密文分组,算法的中间结果也须 分组,称算法中间结果的分组为状态,所有的操作 都在状态上进行。状态可以用以字节为元素的矩阵 阵列表示,该阵列有4行,列数记为Nb,Nb等于分 组长度除以32。
种子密钥类似地用一个以字节为元素的矩阵阵列表 示,该阵列有4行,列数记为Nk,Nk等于分组长度 除以32。
2. 系数在GF(28)上的多项式
• 4个字节构成的向量可以表示为系数在GF(28)上的 次数小于4的多项式。
• 多项式的加法就是对应系数相加; • 换句话说,多项式的加法就是4字节向量的逐比特
异或。
多项式的乘法运算必须要取模M(x)=x4+1,这
样使得次数小于4的多项式的乘积仍然是一个次数
小于4
• “宽轨迹策略”就是提供抗线性密码分析和差分密 码分析能力的一种设计。
为实现宽轨迹策略,轮函数3个层中的每一层都 有它自己的功能:
• 线性混合层:确保多轮之上的高度扩散; • 非线性层:将具有最优的“最坏情况非线性特性”

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

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

现代密码学_清华⼤学_杨波着+习题答案设 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 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 线性反馈移位寄存器:产生密钥流
图2.1 GF(2)上的n级ppt反课件馈移位寄存器
11
习题
1. 3 级 线 性 反 馈 移 位 寄 存 器 在 c3=1 时 可 有 4 种线性反馈函数,设其初始状态为 (a1,a2,a3)=(1,0,1),求各线性反馈函数的输出序列及周期。
解:设反馈函数为 f(a1,a2,a3) = a1⊕c2a2⊕c1a3
定义2.2 设p(x)是GF(2)上的多项式,使p(x)|(xp-1)的 最小p称为p(x)的周期或阶。 定理2.3 若序列{ai}的特征多项式p(x)定义在GF(2)上, p是p(x)的周期,则{ai}的周期r | p。
ppt课件
13
习题
ppt课件
14
习题
3.设 n=4,n=f(a1,a2,a3,a4)=a1⊕a4⊕1⊕a2a3,初始状态为 (a1,a2,a3,a4)=(1,1,0,1),求此非线性反馈移位寄存器的输出 序列及周期。
3 14
(mod
26)
elni=(4,11,13,8)
解得:
A
10

9
13 23
13

8


a

c
b d

13 19
(mod
26)
ppt课件
9
第二章 流密码
ppt课件
10
知识点
1 流密码:利用密钥k产生密钥流,明文与密钥流 顺次对应加密
ppt课件
6
习题
3.设多表代换密码中
3 13 21 9 1
A 15 10 6 25 , B 21 10 17 4 8 8

1
23
7
2

17
加密为:Ci AMi B(mod 26) 明文为:PLEASE SEND…… 解密变换:Mi A1(Ci B)(mod 26)
习题
ppt课件
1
第一章
ppt课件
2
习题
1. 设仿射变换的加密是 E11,23(m)≡11m+23 (mod 26),对明文 “THE NATIONAL SECURITY AGENCY ”加密 , 并使用解 密变换 D11,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= 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
ppt课件
3
习题
∵ 11*19 ≡ 1 mod 26 (说明:求模逆元可采用第 4 章的“4.1.7 欧几里得算法”
,或者直接穷举 1~25)
对密文 C 进行解密: m’=D(C)≡ 19*(c-23) (mod 26) =[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0
10100111010011…,周期为 7。
当 c1=1,c2=1 时,f(a1,a2,a3) = a1⊕a2⊕a3,输出序
列为 10101010…,周期为 2p。pt课件
12
习题
2.设n级线性反馈移位寄存器的特征多项式为 p(x) ,初始状态
为 (a1, a2 ,…,an ) (00…01) ,证明输出序列的周期等于 p(x) 的阶。
解:列出该非线性反馈移位寄存器 的状态列表和输出列(如右图):
a5 111 0 1 a6 111 0 1
……
(1,1,0,1) (1,0,1,1) (0,1,1,1) (1,1,1,1)
ppt课件
8
习题
4. 设多表代换密码 Ci AMi B(mod 26) 中,A是 2×2 矩阵, B 是 0 矩阵,又知明文“dont”被加密为“elni”,求矩阵A。
解:设矩阵
A

a c
b
d


dont=(3,14,13,19)
4 11

a c
b d

当 c1=0,c2=0 时,f(a1,a2,a3) = a1,输出序列为
101101…,周期为 3。
当 c1=0,c2=1 时,f(a1,a2,a3) = a1⊕a2,输出序列如
下 10111001011100…,周期为 7。
当 c1=1,c2=0 时,f(a1,a2,a3) = a1⊕a3,输出序列为
6 4 13 2 24] = THE NATIONAL SECURITY AGENCY
ppt课件
4
习题
2. 设由仿射变换对一个明文加密得到的密文为 edsgickxhuklzveqzvkxwkzukvcuh,又已知明文的前两个字 符是“if”。对该密文解密。
解: 设加密变换为 c=Ea,b(m)≡a*m+b (mod 26) 由题目可知 明文前两个字为 if,相应的密文为ed,即有: E(i)=e : 4≡8a+b (mod 26) E(f)=d : 3≡5a+b (mod 26) 由上述两式,可求得 a=9,b=10。
ppt课件
7
习题
解:将明文分组: 15
18
M1

11 4
,
M2


4

18
……

0


4

将明文分组带入加密变换:Ci AMi B(mod 26) 可得密文:NQXBBTWBDCJJ……

解密时,先将密文分组,再将密文分组带入解密变换:
可证得明文 Mi A1(Ci B)(mod 26)
ppt课件
5
习题
因此,解密变换为
m=D(c)≡9-1(c-10) (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]
则明文为 c=9-1(c-10) (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
相关文档
最新文档