现代密码学-第3章分组密码习题与解答-20091206
现代密码学_清华大学_杨波着+习题答案
一、古典密码(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。
现代密码学_清华大学_杨波著_部分习题答案[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 )。
现代密码学-第3章分组密码习题与解答-20091206
第3章 分组密码习题及参考答案1. 设DES 算法中,明文M 和密钥K 分别为:M =0011 1000 1100 0100 1011 1000 0100 0011 1101 0101 0010 0011 1001 1110 0101 1110K =1010 1001 0011 0101 1010 1100 1001 1011 1001 1101 0011 1110 1101 0101 1100 0011求L 1和R 2。
解:初始变换IP :1001 1010 1101 0101 1101 0010 0011 1000 0101 0110 0010 0101 1100 0101 1110 1000则,0L =1001 1010 1101 0101 1101 0010 0011 10000R =0101 0110 0010 0101 1100 0101 1110 1000K 去校验位得:0C =1101 0111 1100 0000 0010 0111 01110D =1010 1000 0111 0110 0011 0101 0010循环左移一位:1C =1010 1111 1000 0000 0100 1110 11111D =0101 0000 1110 1100 0110 1010 0101经过置换选择得到:1K =0000 1111 0110 1000 1101 1000 1001 1010 1000 0111 0011 0001同样可以得到:2K =0101 0101 0110 0001 1101 1101 1011 0101 0101 0000 0110 11101L =0R =0101 0110 0010 0101 1100 0101 1110 1000经过轮函数F 后,0R 经过扩展置换E 后为:0010 1111 1100 0001 0000 1011 1110 0000 1011 1111 0000 0000和1K 异或后经S 盒替换:0100 1100 0011 1000 0100 1100 0000 1010经过P 盒置换后输出:0001 1100 0000 1110 1000 0000 0101 1100和0L 异或得1R :1000 0110 1101 1011 0101 0010 0110 01001R 经过扩展置换E 得48位输出:1000 1010 0100 0010 0000 1000 0010 0101 1101 0100 10101010同上过程可得2R :1101 0100 1100 0111 0000 1101 0001 0110即:1L =0101 0110 0010 0101 1100 0101 1110 10002R =1101 0100 1100 0111 0000 1101 0001 01102. 设DES 算法中S 4盒的输入为010101,求其输出。
现代密码学 课后答案 第二版
5.Rabin公钥密码体制是1979你M.O.Rabin在论文《Digital Signature Public-Key as Factorization》中提出的一种新的公钥密码体制,它是基于合数模下求解平方根的困难性(等价于分解大整数)构造的一种公钥密码体制。
4.1949年,香农发表《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学成为了一门学科。
5.密码学的发展大致经历了两个阶段:传统密码学和现代密码学。
6.1976年,W.Diffie和M.Hellman在《密码学的新方向》一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
7.密码学的发展过程中,两个质的飞跃分别指1949年香农发表的《保密系统的通信理论》和1978年,Rivest,Shamir和Adleman提出RSA公钥密码体制。
现代密码学教程 第二版
谷利泽 郑世慧 杨义先
欢迎私信指正,共同奉献
第一章
1.判断题
2.选择题
3.填空题
1.信息安全的主要目标是指机密性、完整性、可用性、认证性和不可否认性。
2.经典的信息安全三要素--机密性,完整性和可用性,是信息安全的核心原则。
3.根据对信息流造成的影响,可以把攻击分为5类中断、截取、篡改、伪造和重放,进一步可概括为两类主动攻击和被动攻击。
h)门限发生器要求:LFSR的数目是奇数,确信所有的LFSR的长度互素,且所有的反馈多项式都是本原的,这样可达到最大周期。
第六章
1.判断题
答案:√√X√√ √√X*√ √X√√*
现代密码学 (杨波 著) 清华大学出版社_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
现代密码学(第三章)讲述
一、分组密码的基本概念
分组密码的优缺点
分组密码的加解密算法(E,D)简洁快速,所占用的 计算资源小,易于软件和硬件实现。一般来说,用 硬件实现时,流密码比分组密码更简单快速;用软 件实现时,分组密码比流密码更简单快速。 加解密算法(E,D)参数固定,比流密码更容易实现 标准化。 由于明文流被分段加密,因此容易实现同步,而且传 输错误不会向后扩散。 分组密码的安全性很难被证明,至多证明局部安全性。
2018/12/21 17
一、分组密码的基本概念
透明性和灵活性
透明性即要求算法是可证明安全的(虽然 这是很困难的)。这就要求算法尽可能 使用通用部件,避免黑盒。 灵活性即要求算法的实现可以适应多种计 算环境;明文分组长度可以伸缩;算法 可以移植和变形。
2018/12/21 18
一、分组密码的基本概念
要求:加解密算法(E,D)不存在弱明文和弱密钥。
2018/12/21 6
一、分组密码的基本概念
为了抵抗已知明文攻击(甚至选择明文攻 击),分组密码应该满足的性质
混淆性:所设计的密码应使得明文、密文、密钥之 间的依赖关系相当复杂,以至于这种依赖关系对 密码分析者来说是无法利用的。密码分析者利用 这种依赖关系的方法非常多,因此混淆性也是一 个极为繁杂的概念。
2018/12/21 3
一、分组密码的基本概念
分组密码所面对的主要威胁: 已知明文攻击
分组密码的密钥z被重复使用,即多次一密。 因此最主要的威胁就是已知明文攻击。 设攻击者Eve获得了一组明文/密文对(m,c)。 他试图在加密方程c=E(m, z) 或解密方程 m=D(c, z)中求出密钥z 。
2018/12/21 4
2018/12/21 26
应用密码学第三章分组密码体制习题参考答案道
第三章习题1简述分组密码算法的基本工作原理。
答分组密码在加密过程中不是将明文按字符逐位加密而是首先要将待加密的明文进行分组每组的长度相同然后对每组明文分别加密得到密文。
分组密码系统采用相同的加密密钥和解密密钥这是对称密码系统的显著特点。
例如将明文分为m块0121mPPPP每个块在密钥作用下执行相同的变换生成m个密文块0121mCCCC每块的大小可以任意长度但通常是每块的大小大于等于64位块大小为1比特位时分组密码就变为序列密码如图是通信双方最常用的分组密码基本通信模型。
加密算法解码算法明文x密文y明文x密钥k密钥kkExykDyxAliceBob不安全信道安全信道密钥k攻击者图分组密码基本通信模型图在图中参与通信的实体有发送方Alice、接收方Bob。
而攻击者是在双方通信中试图攻击发方或者收方信息服务的实体攻击者经常也称为敌人、对手、搭线者、窃听者、入侵者等并且攻击者通常企图扮演合法的发送方或者接收方。
2为了保证分组密码算法的安全对分组密码算法的要求有哪些答为了保证分组密码的安全强度设计分组密码时应遵循如下的基本原则1分组长度足够长防止明文穷举攻击例如DESData Encryption Standard、IDEAInternational Data Encryption Algorithm等分组密码算法分组块大小为64比特在生日攻击下用322组密文破解成功概率为0.5同时要求32152642bitsMB大小的存储空间故在目前环境下采用穷举攻击DES、IDEA等密码算法是不可能而AES明文分组为128比特同样在生日攻击下用642组密文破解成功概率为0.5同时要求存储空间大小为644821282bitsMB采用穷举攻击AES算法在计算上就更不可行。
2 密钥量足够大同时需要尽可能消除弱密钥的使用防止密钥穷举攻击但是由于对称密码体制存在密钥管理问题密钥也不能过大。
3密钥变换足够复杂能抵抗各种已知攻击如差分攻击、线性攻击、边信道攻击等即使得攻击者除了穷举攻击外找不到其它有效攻击方法。
现代密码学第3章:密码学的信息论基础
估计一个系统的实际保密性
理论上,当截获的密报量大于唯一解距 离时,原则上就可破译。 由于自然语言的复杂性,没有任何一种 分析方法能够假定分析者能利用明文语言的 全部统计知识,所以,一般破译所需的密文 量都远大于理论值。 没有涉及为了得到唯一解需完成多少 计算量。从实际破译来看,有时虽然截获的 密文量远大于唯一解距离,但由于所需的工 作量还太大而难以实现破译。
25
估计一个系统的实际保密性
理论保密性是假定密码分析者有无限的时间、 设备和资金的条件下,研究唯密文攻击时密码系 统的安全性。比如一次一密体制。 实际安全性又称为计算上的安全性,这个方法 关心的是破译一个具体的密码系统所需的计算量。 在实际中,人们说一个密码系统是“计算上 安全的”,意指利用已有的最好的方法破译该系 统所需要的努力超过了敌手的破译能力(诸如时 间、空间、和资金等资源)或破译该系统的难度 等价于解数学上的某个已知难题
21
理论安全性和实际安全性
图 密钥,消息和密钥显现含糊度作为S的函数
22
语言的多余度
定义4 假如L是一种自然语言,语言L的熵 为 语言的多余度定义为 其中A表示语言L的字母集,表示A中字 母的个数, 表示所有明文n-字母报构成 的全体。
23
密钥含糊度
定理6 密钥含糊度有下列下界 其中,S表示接受到的密文序列长度, 表示明文语言的冗余度, 表示密文空间中 符号或字母的数目。 定理7 当明文由一个离散独立信源产生,如 果 ,其中 是字母表的大小。 密钥的含糊度能变为零。
26
估计一个系统的实际保密性
密码分析者的计算能力; 他所采用的破译算法的有效性。
27
Shannon关于设计密码的一些基本观点 关于设计密码的一些基本观点 通过合并简单密码系统而形成它们的 “积”挫败统计分析的观点: 在加密之前将语言的一些多余度除去。 采用所谓的“扩散(Diffusion)”和 “混淆(Confusion)”这两种加密技术扩 散或混淆多余度。
《现代密码学》练习题(含答案)
《现代密码学》练习题(含答案)一、填空题(每空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模式。
现代密码学第3章 Shannon 理论
19/17
韩山师范学院计算机学院
密钥源用于产生密钥. 密钥源通常是离散的. 设密钥源字母表为
字母 的出现概率记为
密钥源通常是无记忆的, 并且满足均匀分布. 因此
点击此处返回
20/17
韩山师范学院计算机学院
如果只考虑长为s 的密钥, 则密钥空间为 加密器在密钥的控制下将明文计特性由明文空间和密钥空间的统计特 性所决定. 对任意的密钥, 令 由于明文空间与密钥空间是相互独立的, 所以对任意的
9/17
韩山师范学院计算机学院
3. 3 伪密钥和唯一解距离
10/17
韩山师范学院计算机学院
3. 3 伪密钥和唯一解距离
11/17
韩山师范学院计算机学院
3. 3 伪密钥和唯一解距离
12/17
韩山师范学院计算机学院
3. 4 密码体制的完善保密性
13/17
韩山师范学院计算机学院
3. 4 密码体制的完善保密性
14/17
韩山师范学院计算机学院
3. 5 乘积密码体制
15/17
韩山师范学院计算机学院
3. 5 乘积密码体制
16/17
韩山师范学院计算机学院
3. 5 乘积密码体制
17/17
韩山师范学院计算机学院
18/17
韩山师范学院计算机学院
设信源字母表为
点击此处返回
字母
的出现概率记为
如果我们只考虑长为r 的信源输出, 则明文空间为 如果信源是无记忆的, 则
韩山师范学院计算机学院
第3章 Shannon 理论
主要内容
密码体制的数学模型
熵及其性质 伪密钥和唯一解距离 密码体制的完善保密性 乘积密码体制
1/17
现代密码学第四讲:分组密码3
AES算法的密钥编排算法
2) 轮密钥选取 轮密钥i(即第i 个轮密钥)由轮密钥缓冲
字W[Nb* i]到W[Nb*(i+1)]给出:
W0 W1 W2 W3 W4 W5 W6 W7
。。。
W W W W 40
41
42
43
轮密钥0
轮密钥1
。。。
轮密钥10
Nb=4及Nk=4时的密钥扩展与轮密钥选取
AES算法的密钥编排算法
c(x)=‘03’x3+‘01’x2+‘01’x+‘02’
AES算法的轮函数
列混合运算示意图
AES算法的轮函数
列混合运算也可写为矩阵乘法. 设b(x)= c(x) a(x),则
b0 02 03 01 01 a0
b1 b2 b3
01 01 03
02 01 01
03 02 01
01 a1
0023
a2 a3
AES算法的轮函数
2020/3/4
北邮现代密码学
17
AES算法的轮函数
GF(28)的多项式乘法,约化多项式为 m(x)=x8+x4+x3+x+1
例:57x乘以83x (x6+x4+x2+x+1) × (x7+x+1)
43
思考题
根据AES的设计原理,设计一个分组长度为 32比特,密钥长度为32比特的分组密码算 法。
注:轮函数包含“4比特字”代换,行移位, 列混合
2020/3/4
北邮现代密码学
44
THE END!
2020/3/4
现代密码学杨波课后习题讲解
1
1
1
1
1
0
0
1
1
1
1
1
….
….
习题
6.已知流密码的密文串1010110110和相应的明文串 0100010001,而且还已知密钥流是使用3级线性反馈移位 寄存器产生的,试破译该密码系统。
解:由已知可得相应的密钥流序列为 1010110110⊕0100010001 =1110100111,又因为是3级线 性反馈移位寄存器,可得以下方程:
Li Ri1 Ri Li1 f (Ri1, Ki )
习题
习题
3. 在 DES 的 ECB 模式中,如果在密文分组中有一个错误,解密后 仅相应的明文分组受到影响。然而在 CBC 模式中,将有错误传播。 例如在图 3-11 中 C1 中的一个错误明显地将影响到 P1和 P2 的结 果。 (1) P2 后的分组是否受到影响? (2) 设加密前的明文分组 P1 中有 1 比特的错误,问这一错误将在 多少个密文分组中传播? 对接收者产生什么影响?
c3c2c1 0101
0
1
101
1 1 0
由此可得密钥流的递推关系为:
ai3 c3ai c1ai2 ai ai2
第三章 分组密码体 制
习题
2. 证明 DES 的解密变换是加密变换的逆。 明文分组、密钥
加密阶段:初始置换、16轮变换、逆初始置换
每轮迭代的结构和Feistel结构一样:
定义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。
习题
现代密码学课后题整理
现代密码学课后题整理目录chap 1 (3)信息安全中常用的攻击分别指什么?分别使用什么密码技术能抵御这些攻击? (3)简述密码学和信息安全的关系。
(3)简述密码发展史。
(3)公钥密码体制与对称密码体制相比有哪些优点和不足? (3)简述密码体制的原则。
(4)简述保密系统的攻击方法。
(4)chap 2 (4)多表代换密码体制的分析方法 (4)Kasiski测试法 (4)重合指数法 (5)chap 3 (5)欧拉定理 (5)费马定理 (5)Blum整数 (5)chap 4 (5)分组密码的设计应满足的要求是什么? (5)简述分组密码设计的准则。
(6)简述DES算法中S盒的特点。
(6)DES算法具有互补性,而这个特性会使DES在选择明文攻击下所需的工作量减半。
简要说明原因。
(6)为什么二重DES并不像人们想象的那样可提高密钥长度到112bit,而相当57bit?请简要说明原因。
(6)简述利用差分分析攻击DES算法的基本过程。
(7)简述线性攻击的基本原理。
(7)简述AES算法的正变换矩阵比逆变换矩阵简单的原因。
(7)简述AES的子密钥生成过程。
(7)简述DES与AES的相同之处和不同之处。
(7)简述设计分组密码的工作模式应遵循的基本原则。
(8)chap 5 (8)简述序列密码算法和分组密码算法的不同 (8)密钥序列生成器是序列密码算法的核心,请说出至少5点关于密钥序列生成器的基本要求 (8)chap 6 (9)MD5在MD4基础上做了哪些改进,其改进目的是什么? (9)简述利用生日攻击方法攻击Hash函数的过程 (9)chap 7 (9)与RSA密码体制和ElGamal体制相比,简述ECC密码体制的特点。
(9)Chapter 8 (9)1简述数字签名的特点。
(9)2为什么对称密码体制不能实现消息的不可否认性? (10)4 计算不考 (10)5 ElGamal、Schnorr、DSA这3种签名方案的联系与区别。
杨波《现代密码学第版》
3.5.2 加密过程
如图3.15所示,加密过程由连续的8轮迭代和一个输 出变换组成;
算法将64比特的明文分组分成4个16比特的子段,每 轮迭代以4个16比特的子段作为输入,输出也为4个 16比特的子段;
3. 解密过程
解密过程和加密过程基本相同,但子密钥的选取不 同。解密子密钥U1,U2,…,U52是由加密子密钥 按如下方式得到(将加密过程最后一步的输出变换 当作第9轮):
① 第i(i=1,…,9)轮解密的前4个子密钥由加密过程第 (10-i)轮的前4个子密钥得出:
其中第1和第4个解密子密钥取为相应的第1和第4 个加密子密钥的模216+1乘法逆元,第2和第3个子密钥 的取法为:当轮数i=2,…,8时,取为相应的第3个和第 2个加密子密钥的模216加法逆元。i=1和9时,取为相 应的第2个和第3个加密子密钥的模216加法逆元。
第3章 分组密码体制
• 分组密码概述 • 数据加密标准 • 差分密码分析与线性密码分析 • 分组密码的运行模式 • IDEA • AES算法——Rijndael
3.5 IDEA
• 来学嘉(X. J. Lai)和J. L. Massey提出的第1版 IDEA(International Data Encryption Algorithm, 国际数据加密算法)于1990年公布,当时称为PES (proposed encryption standard,建议加密标准)。
图3.16是IDEA第1轮的结构示意图,以后各轮也都 是这种结构,但所用的子密钥和轮输入不同。从结 构图可见,IDEA不是传统的Feistel密码结构。每轮 开始时有一个变换,该变换的输入是4个子段和4个 子密钥,变换中的运算是两个乘法和两个加法,输 出的4个子段经过异或运算形成了两个16比特的子 段作为MA结构的输入。MA结构也有两个输入的子 密钥,输出是两个16比特的子段。
现代密码学第3章(5)
3.1分组密码概述
在许多密码系统中,单钥分组密码是系统安全的一 个重要组成部分; 用分组密码易于构造 伪随机数生成器、流密码、消息认证码(MAC)和 杂凑函数等,还可进而成为消息认证技术、数据完 整性机制、实体认证协议以及单钥数字签字体制的 核心组成部分。
应用中对于分组码的要求
• 安全性 • 运行速度 • 存储量(程序的长度、数据分组长度、高速缓存大小)
② 密钥量要足够大(即置换子集中的元素足够 多),尽可能消除弱密钥并使所有密钥同等地好, 以防止密钥穷举攻击奏效。 但密钥又不能过长,以便于密钥的管理。
DES采用56比特密钥,太短了,IDEA采用128 比特密钥,据估计,在今后30~40年内采用80 比 特密钥是足够安全的。
③ 由密钥确定置换的算法要足够复杂,充分实现 明文与密钥的扩散和混淆,没有简单的关系可循, 能抗击各种已知的攻击,如差分攻击和线性攻击; 有高的非线性阶数,实现复杂的密码变换;使对手 破译时除了用穷举法外,无其它捷径可循。
在设计Feistel网络时,还有以下两个方面需要考虑: ① 快速的软件实现:在很多情况中,算法是被镶 嵌在应用程序中,因而无法用硬件实现。此时算法 的执行速度是考虑的关键。 ② 算法容易分析:如果算法能被无疑义地解释清 楚,就可容易地分析算法抵抗攻击的能力,有助于 设计高强度的算法。
2. Feistel解密结构
Feistel网络的实现与以下参数和特性有关: ① 分组大小: 分组越大则安全性越高,但加密速度 就越慢。分组密码设计中最为普遍使用的分组大小 是64比特。 ② 密钥大小:密钥越长则安全性越高,但加密速 度就越慢。现在普遍认为64比特或更短的密钥长度 是不安全的,通常使用128比特的密钥长度。 ③ 轮数:单轮结构远不足以保证安全性,但多轮 结构可提供足够的安全性。典型地,轮数取为16。 ④ 子密钥产生算法:该算法的复杂性越大,则密 码分析的困难性就越大。 ⑤ 轮函数:轮函数的复杂性越大,密码分析的困 难性也越大。
现代密码学(第03章)
一、分组密码的基本概念
透明性和灵活性
透明性即要求算法是可证明安全的(虽然 这是很困难的)。这就要求算法尽可能 使用通用部件,避免黑盒。 灵活性即要求算法的实现可以适应多种计 算环境;明文分组长度可以伸缩;算法 可以移植和变形。
2013-9-24 18
一、分组密码的基本概念
2013-9-24
23
一、分组密码的基本概念
S盒(Substitution Box,即替换盒): 在分组密码的计算部件中,必须有一个部件来实 现高度的非线性。 高度非线性函数的计算有两种途径: (1)用“解析表达式” (代数正规型),将自 变量的值代入“解析表达式”,计算出函数值。 (2)用输入/输出真值表,输入自变量的值作为 地址,在该地址所存储的值就是查表查出的函 数值。 比较这两种途径,发现:
2013-9-24 24
一、分组密码的基本概念
用“解析表达式” 计算高度非线性函数,总 是比较复杂,速度比较慢。随着输入/输出长 度增大,计算复杂度线性地增大。 用输入/输出真值表计算高度非线性函数,短 的输入/输出使计算量很小。随着输入/输出长 度增大,计算复杂度指数地增大(例如,输 入长度为n时,自变量有2n个可能的值,即输 入/输出真值表有2n个地址;输出长度为m时, 函数值有2m个可能的值)。
2013-9-24
9
一、分组密码的基本概念
这就是线性密码分析的思想。 抵抗线性密码分析的强度就是 非线性度。
2013-9-24
10
一、分组密码的基本概念
安全强度的稳定性:指的是当部分密钥被破译 后,分组密码仍有一定的抗攻击能力。 以下举一个简单的例子来说明安全强度的稳定 性。 设明文x为n比特长;两个n比特长的密钥k1和k2; 密文y=(x„+‟k1)“+”k2,其中„+‟为逐比特异或, “+”为(mod2n)加法。这个加密算法所使用的 密钥长度为2n。
杨波,_《现代密码学(第2版)》第三章 3.6节
构成的字节b看成系数在 看成系数在{0, 将b7b6b5b4b3b2b1b0构成的字节 看成系数在 1} 中的多项式 b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0 例如: 十六进制数‘57’对应的二进制为 例如: 十六进制数‘ 对应的二进制为01010111, , 对应的二进制为 看成一个字节,对应的多项式为x 看成一个字节,对应的多项式为 6+x4+x2+x+1。 。
第3章 分组密码体制 章
• • • • • • 分组密码概述 数据加密标准 差分密码分析与线性密码分析 分组密码的运行模式 IDEA AES算法 算法——Rijndael 算法
3.6 AES算法 算法——Rijndael 算法
• 1997年4月15日,美国 年 月 日 美国ANSI发起征集 发起征集AES 发起征集 (Advanced Encryption Standard)的活动,并为 )的活动, 此成立了AES工作小组。此次活动的目的是确定一 此成立了 工作小组。此次活动的目的是确定一 工作小组 个非保密的、可以公开技术细节的、 个非保密的、可以公开技术细节的、全球免费使用 的分组密码算法,以作为新的数据加密标准。 的分组密码算法,以作为新的数据加密标准。 • 1997年9月12日,美国联邦登记处公布了正式征集 年 月 日 AES候选算法的通告。对AES的基本要求是: 比 候选算法的通告。 的基本要求 候选算法的通告 的基本要求是 三重DES快、至少与三重 一样安全、 三重 快 至少与三重DES一样安全、数据分组 一样安全 长度为128比特、密钥长度为 比特、 比特。 长度为 比特 密钥长度为128/192/256比特。 比特
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 分组密码
习题及参考答案
1. 设DES 算法中,明文M 和密钥K 分别为:
M =0011 1000 1100 0100 1011 1000 0100 0011 1101 0101 0010 0011 1001 1110 0101 1110
K =1010 1001 0011 0101 1010 1100 1001 1011 1001 1101 0011 1110 1101 0101 1100 0011
求L 1和R 2。
解:
初始变换IP :
1001 1010 1101 0101 1101 0010 0011 1000 0101 0110 0010 0101 1100 0101 1110 1000
则,0L =1001 1010 1101 0101 1101 0010 0011 1000
0R =0101 0110 0010 0101 1100 0101 1110 1000
K 去校验位得:
0C =1101 0111 1100 0000 0010 0111 0111
0D =1010 1000 0111 0110 0011 0101 0010
循环左移一位:1C =1010 1111 1000 0000 0100 1110 1111
1D =0101 0000 1110 1100 0110 1010 0101
经过置换选择得到:1K =0000 1111 0110 1000 1101 1000 1001 1010 1000 0111 0011 0001
同样可以得到:2K =0101 0101 0110 0001 1101 1101 1011 0101 0101 0000 0110 1110
1L =0R =0101 0110 0010 0101 1100 0101 1110 1000
经过轮函数F 后,0R 经过扩展置换E 后为:0010 1111 1100 0001 0000 1011 1110 0000 1011 1111 0000 0000
和1K 异或后经S 盒替换:0100 1100 0011 1000 0100 1100 0000 1010
经过P 盒置换后输出:0001 1100 0000 1110 1000 0000 0101 1100
和0L 异或得1R :1000 0110 1101 1011 0101 0010 0110 0100
1R 经过扩展置换E 得48位输出:1000 1010 0100 0010 0000 1000 0010 0101 1101 0100 1010
1010
同上过程可得2R :1101 0100 1100 0111 0000 1101 0001 0110
即:1L =0101 0110 0010 0101 1100 0101 1110 1000
2R =1101 0100 1100 0111 0000 1101 0001 0110
2. 设DES 算法中S 4盒的输入为010101,求其输出。
解:
01→1,1010→10. 在4S 盒中,(1,5)→2,即输出0010.
3.
在图3.18所示的IDEA 算法MA 部件中,已知输入数据为
X 1= 0000100110010011, X 2= 1010001001001011,
K 1= 1100001000100110, K 2= 1000011010000110,
求输出求Y1和Y2。
1X ⊙1K =1100 1010 1001 0000
1X ⊙1K [+]2X =0110 1100 1101 1011
2Y =【1X ⊙1K [+]2X 】⊙2K =0110 0011 0110 1111
1Y =1X ⊙1K [+]2Y =0010 1101 1111 1111
4. 在IDEA 算法中,已知明文M 和密钥K 分别为:
M =10101010 11100110 01010101 00001111 11001100 00110011 10011001 01100110
K = 00000000 11111111 00000000 11111111 11111111 00001111 11110000 11111111
00001111 11110000 11111111 00000000 00001111 11111111 11110000 00001111
求第一轮的输出和第二轮的输入。
解:第一轮的输出和第二轮的输入是相同的。
根据IDEA 迭代结构图:这里⊗代表⊙,
111K M r ⊗==0011 1010 0111 0000
222][K M r +==0101 0110 0000 1110
333][K M r +==1100 1011 0100 0010
444K M r ⊗==1101 1100 0011 0011
315r r r ⊕==1111 0001 0011 0010
426r r r ⊕==1000 1010 0011 1101
577K r r ⊗==1111 1101 1101 1101
678][r r r +==1000 1000 0001 1010
689K r r ⊗== 0101 1110 0110 1111
9710][r r r +==0101 1100 0100 1100
9111r r r ⊕==0110 0100 0001 1111
12212r r r ⊕== 0000 1010 0100 0010
3913r r r ⊕==1001 0101 0010 1101
10414r r r ⊕==1000 0000 0111 1111
111r Y ==0110 0100 0001 1111
132r Y ==1001 0101 0010 1101
123r Y ==0000 1010 0100 0010
144r Y ==1000 0000 0111 1111
5.计算GF(28)上多项式乘法
(1) ‘57’⋅‘9D’
(2) ‘66’⋅‘D5’
(3) ‘8C’ ⋅‘B5’
(4) ‘F4’ ⋅‘3C’
解:(1)‘57’ ⋅‘02’=’AE’
‘57’ ⋅‘04’=’47’
‘57’ ⋅‘08’=’8E’
‘57’ ⋅‘10’=’07’
‘57’ ⋅‘20’=’0E’
‘57’ ⋅‘40’=’1C’
‘57’ ⋅‘80’=’38’
因此,‘57’ ⋅‘9D’=’57’⋅[‘80’+’10’+’08’+’04’+’01’]=’38’+’07’+’8E’+’47’ +’57’
=’A1’
(2)同上,‘66’ ⋅‘D5’=’FC’
(3) ‘8C’⋅‘B5’=’62’
(4) ‘F4’ ⋅‘3C’=’6C’
6.设AES算法分组长度为128,输入的明文M和密钥K分别为
M=32 6C A8 F6 42 31 8C D6 43 72 64 E0 98 89 07 C3
K=A3 61 89 B5 54 12 D8 90 F4 14 FC AB 81 70 AE 3F
求AES的第一轮输出。
N个字是由密码密钥填充的,即初始轮密钥为K。
解:考虑到扩展密钥的前
k
明文与初始轮密钥加得:91 0D 21 43 16 23 54 46 B7 66 98 4B 19 F9 A9 FC
经过字节代换为:D0 B1 F4 8A 21 EB 4F AA 0E F6 3B F7 BD 84 C5 DF
行移位得:D0 B1 F4 8A EB 4F AA 21 3B F7 0E F6 DF BD 84 C5
列混合变换得:79 E2 9C 43 8F D0 2D 0C 17 D7 D5 08 1E 18 B0 C1
加密钥:A3 54 F4 81 61 12 14 70 89 D8 FC AE B5 90 AB 3F
即得第一轮输出:DA B6 68 C2 EE C2 39 7C 9E 0F 29 A6 AB 88 1B FE。