分组密码算法
实验二分组密码算法DES
一、实验目的
通过用DES算法对实际的数据进行加密和解密来深刻了解DES的运行原理。
二、实验原理
分组密码是一种对称密码体制,其特点是在明文加密和密文解密的过程中,信息都是按照固定长度分组后进行处理的。
在分组密码的发展历史中,曾出现了许多优秀的算法,包括DES,IDEA,AES,Safer++等等。
下面以DES算法为例介绍分组密码算法的实现机制。
DES算法将明文分成64位大小的众多数据块,即分组长度为64位。
同时用56位密钥对64位明文信息加密,最终形成64位的密文。
如果明文长度不足64位,即将其扩展为64位(如补零等方法)。
具体加密过程首先是将输入的数据进行初始置换(IP),即将明文M中数据的排列顺序按一定的规则重新排列,生成新的数据序列,以打乱原来的次序。
然后将变换后的数据平分成左右两部分,左边记为L0,右边记为R0,然后对R0实行在子密钥(由加密密钥产生)控制下的变换f,结果记为f(R0,K1),再与L0做逐位异或运算,其结果记为R1,R0则作为下一轮的L1。
如此循环16轮,最后得到L16、R16,再对L16、R16实行逆初始置换IP-1,即可得到加密数据。
解密过程与此类似,不同之处仅在于子密钥的使用顺序正好相反。
DES全部16轮的加密过程如图1-1所示。
DES的加密算法包括3个基本函数:
1.初始置换IP
它的作用是把输入的64位数据块的排列顺序打乱,每位数据按照下面的置换规则重新排列,即将第58位换到第一位,第50位换打第2位,…,依次类推。
置换后的64位输出分为L0、R0(左、右)两部分,每部分分别为32位。
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 1
R 0和K 1经过f (R 0,K 1)变换后的输出结果,再和L 0进行异或运算,输出结果位R 1,R 0则赋给L 1。
L 1和R 1同样再做类似运算生成L 2和R 2,…,经过16次运算后生成L 16和R 16。
2.f 函数
f 函数是多个置换函数和替代函数的组合函数,它将32位比特的输入变换为32位的输出,如图1-2所示。
R i 经过扩展运算E 变换后扩展为48位的E (R i ),与1+i K 进行异或运算后输出的结果分成8组,每组6比特。
每一组再经过一个S 盒(共8个S 盒)运算转换为4位,8个4位合并为32位后再经过P 变换输出为32位的),(1+i i K R f 。
其中,扩展运算E 与置换P 主要作用是增加算法的扩散
图1-1 DES 加密/解密流程
效果。
3.逆初始置换IP-1
它将L
16和R
16
作为输入,进行逆初始置换得到密文输出。
逆初始置换是初始
置换的逆运算,置换规则如下所列:
40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31 38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29 36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27 34,2,42,10,50,18,58,26,33,1,41,9, 49,17,57,25 DES的加密算法中除了上面介绍的3个基本函数,还有一个非常重要的功能模块,即子密钥的生成模块,具体子密钥的产生流程图如图1-3所示。
输入的初始密钥值为64位,但DES算法规定,其中第8、16、…、64位为奇偶校验位,不参予DES的运算。
所以,实际可用位数只有56位,经过缩小选择位表1
图1-2 f函数原理图
(表1-2)即密钥置换PC-1的变换后,初始密钥的位数由64位变成了56位,将其平分位两部分C 0,D 0。
然后分别进行第一次循环左移,得到C 1和D 1,将C 1(28位)、D 1(28位)合并后得到56位的输出结果,再经过压缩置换PC-2(表1-3),从而得到了密钥K 1(48位)。
依次类推,便可得到K 2、…、K 16。
需要注意的是,16次循环左移对应的左移位数要依据表1-1的规则进行。
表1-1 左移位数规则
i
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 LS i 1 1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
表1-2 压缩置换PC -1
57 49 41 33 25 17 9 1 58 50 42 34 26 18 10
2
59
51
43
35
27
图1-3 子密钥的生成流程
表1-3 压缩置换PC-2
三、实验环境
运行Windows操作系统的PC机,具有VC等语言编译环境
四、实验内容和步骤,
1.仔细阅读并分析DES算法,理解DES算法的原理,并清楚每一步的实现方法;
2.设计加解密函数的总体流程,子密钥产生的流程和相应的数据格式;
3、编码实现DES加解密算法。
4. 对编好的程序测试其正确性,并对自己选定的明文、密码用于加解密;
5.在前一步的基础上,固定密钥,分别改变明文中的某些比特,检验密文改变的位数;固定明文,分别改变密钥的某些比特,检验密文改变的位数;
五、实验报告和要求
(1)分别实现DES的加密和解密,提交程序代码和执行结果。
加密的。
密码学分组密码
5. 数据扩展。一般无数据扩展,在采用同态置换和随机化 加密技术时可引进数据扩展。
6. 差错传播尽可能小。
设计分组密码常用的一些方法介绍 1. 代换
将n长的明文分组变换为唯一n长密文分组, 这样的变换是可逆的,称明文分组到密文 分组的可逆变换为代换。
D1(28 位)
8 2 16 1
(56 位) 置换选择 2
k1
(48 位)
循环左移
循环左移
Ci(28 位)
Di(28 位)
置换选择 2 ki
(56 位)
(48 位)
置换选择1和置换选择2
DES解密
和Feistel密码一样,DES的解密和加密使 用同一算法,只是子密钥的使用顺序相 反。
子密钥是独立产生的,可以独立存储。
DES加解密过程
令i表示迭代次数,表示逐位模2求和,f为加密函
数。DES的加密和解密过程表示如下。
加密过程:
L0R0 IP( 64bit输入码 )
பைடு நூலகம்
Li Ri1
i 1,2,,16
Ri Li1 f (Ri1, ki ) i 1,2,,16
64bit密文 IP1(R16L16 )
解密过程:
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
E的作用:
将32比特 的输入膨 胀为48比 特。
则输出为:B = t32 t1 t2 …… t32 t1
选择扩展运算:
12 34 56 78 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
密码学之分组密码算法
密码学之分组密码算法密码学之分组密码算法简介分组密码算法(Block Cipher Algorithm)是将输⼊数据划分成固定长度的组进⾏加密和解密的⼀类对称密码算法。
其安全性主要以来于密钥,通信双⽅使⽤相同的密钥加密和解密。
其优势有速度快,易于标准化和便于软硬件实现等特点。
下标集:₀₁₂₃₄₅₆₇₈₉⁻ ¹ ₋DES加密算法DES简介于1977年公布的第⼀个被⼴泛应⽤的商⽤数据加密算法,在抵抗了⼆⼗余年的密码分析后,其安全性已⽆法得到保障。
所以在1998年12⽉以后就不再使⽤DES加密算法。
但是其衍⽣的三重DES加密算法⽬前还有其应⽤场景。
加密过程算法总览DES加密算法就如下图所⽰。
其输⼊为64位(bit)的明⽂,使⽤56位(bit)的密钥,但是附加了8位奇偶校验位(位于8,16,...,64位)组合成64位密钥。
在64位密钥的控制下,最终产⽣了64(bit)的密⽂。
在下图中X=X₁X₂X₃...X₆₄即为输⼊明⽂,在经过初始转换IP的换位处理后,得到⼀个乱序的明⽂组,并将其分为L₀和R₀两部分,每部分各32位。
⽽K₁K₂...K₁₆则是⽣成由初始密钥⽣成的轮密钥,长度有48位。
其次进⾏如下图所⽰与密钥有关的16轮迭代变换。
对R₀在进⾏⼦密钥K₁控制下的f变换,其得到的结果与L₀作逐位异或后,作为下⼀轮的R₁,⽽R₀则作为下⼀轮的L₁。
在经过16轮如上步骤,最后经过逆初始置换P⁻¹处理后得到密⽂Y=Y₁Y₂Y₃...Y₆₄初始置换IP与逆初始置换IP⁻¹IP操作是对原明⽂的位次顺序进⾏打乱,⽽逆初始置换IP⁻¹是IP操作的⼀个逆操作,其⽬的是为了撤销之前的初始置换操作。
其实这两种操作对密码⽅⾯的作⽤并不⼤。
其具体操作正如表格中所⽰,在如下表格中依次填⼊该顺序位次下的bit位,最终组成新的位次顺序。
如第⼀位的的内容即为原明⽂中第58位处的内容。
轮密钥的产⽣初始密钥K在经过选择置换PC_1后同样分为两个部分C₀和D₀,每部分各28位(bit),该选择置换实际是在除去了奇偶校验位的置换。
Rijndael密码算法
Rijndael密码算法⼀ 什么是RijndaelRijndael是由⽐利时密码学家设计的分组密码算法,于2000年被选为新⼀代的标准密码算法——AES。
今后会有越来越多的密码软件⽀持这种算法。
Rijndael的分组长度和密钥长度可以分别以32⽐特为单位在128⽐特和256⽐特的范围内进⾏选择。
不过在AES的规格中,分组长度固定为128⽐特,密钥长度只有128、192和256⽐特三种。
⼆ Rijndael的加密和解密Rijndael算法也是由多轮构成的,其中每⼀轮分为SubBytes、ShiftRows、MixColumns和AddRoundKey4个步骤。
它使⽤的是SPN结构。
1 SubBytesRijndael的输⼊分组为128⽐特,也就是16个字节。
⾸先,需要逐个字节对16字节的输⼊数据进⾏SubBytes处理。
所谓SubBytes处理,就是以每个字节的值(0-255的任意值)为索引,从⼀张拥有256个值的替换表中查找出对应值的处理。
也就是说,将⼀个字节的值替换成另外⼀个字节的值。
⽤图表⽰如下:2 ShiftRows以4个字节为单位的⾏(row)按照⼀定的规则向左平移,且每⼀⾏平移的字节数是不同的。
下图是对其中⼀⾏进⾏处理的情形。
3 MixColumns对⼀个4字节的值进⾏矩阵运算,将其变为另外⼀个4字节值,下图是对其中⼀列进⾏处理的情形:4 AddRoundKey对MixColumns的输出与轮密钥进⾏XOR,即进⾏AddRoundKey处理,下图展⽰了对1个字节进⾏处理的情形。
到此1轮迭代就结束了。
实际上,在Rijndael中需要重复10到14轮计算。
Rijndael的加密过程,每⼀轮进⾏的处理为:SubBytes->ShiftRows->MixColumns->AddRoundKeyRijndael的解密过程,顺序相关:AddRoundKey-> InvMixColumns-> InvShiftRows ->InvSubBytes其中AddRoundKey是与轮密钥进⾏XOR运算,这⼀步在加密和解密时完全相同的。
分组密码加密算法的常见算法结构
分组密码加密算法的常见算法结构随着计算机技术的不断发展,信息安全问题也越来越受到关注。
在信息传输过程中,数据的加密是保障信息安全的重要手段之一。
分组密码加密算法是一种常见的加密算法,它将明文数据分成若干个固定长度的分组,通过对每个分组进行加密来实现整个消息的加密。
本文将介绍分组密码加密算法的常见算法结构,以及它们的优缺点和应用场景。
1. 基本结构分组密码加密算法的基本结构由两个部分组成:明文分组和密文分组。
明文分组是指明文数据被分割成固定长度的块,每个块长度通常为64位或128位。
密文分组是指加密后的明文分组,长度与明文分组一致。
加密算法的核心是将明文分组转换为密文分组,这个过程称为加密。
解密的过程是将密文分组转换为明文分组。
分组密码加密算法的常见算法结构包括:ECB、CBC、CFB和OFB。
这些算法结构在加密和解密过程中采用不同的方式来处理明文和密文分组。
2. ECB模式ECB(Electronic Codebook)模式是最简单的分组密码加密算法结构,它将每个明文分组单独加密,得到对应的密文分组。
每个明文分组之间是独立的,因此ECB模式无法处理明文分组之间的关系。
这种模式的缺点是,它容易受到重放攻击,即攻击者可以拦截并重复发送相同的密文分组,从而获得明文数据。
ECB模式的优点是加密和解密过程简单,可以并行处理多个分组。
它适用于每个明文分组的安全性要求不高的情况,例如对称密钥的传输和存储。
3. CBC模式CBC(Cipher Block Chaining)模式是一种常见的分组密码加密算法结构,它采用前一个密文分组来加密当前的明文分组。
具体地,在加密过程中,首先将前一个密文分组和当前明文分组进行异或运算,得到一个新的数据块,然后对这个新数据块进行加密。
解密过程与加密过程相反,将密文分组解密后再与前一个密文分组进行异或运算,得到对应的明文分组。
CBC模式的优点是可以处理明文分组之间的关系,提高安全性。
02分组密码—DES算法及AES简介
分组密码和流密码的比较
• 基本区别
– 粒度 8字节分组 vs. 1比特或1字节
各自适应不同的应用数据格式 – 分组密码对相同的明文分组,总是输出相同的密文分组;
而流密码却输出不同的密文比特
– 流密码一般快很多
• 分组密码多些,是商用密码的主流
– 分组密码也可以用作流模式
• 安全性对比
– 流密码是核心密码的主流
L1 =R2⊕F(k2,R1) =L1⊕F(k2,R1)⊕F(k2,R1) =L1
L0 =R1⊕F(k1,R0) =L0⊕F(k1,R0)⊕F(k1,R0) =L0
kpwang@
Copyright by © 王鲲鹏
Feistel伪代码
明文m – 长度n=2t,记为m0m1,每个长度为t 密钥k – 产生r个子密钥k1,k2 ,...,kr 加密E m: for i=2 to r+1 do 0, 1 mi=mi-2 XOR f(mi-1, ki-1) i, i+1 <- ki 得密文(mr,mr+1) r, r+1 <- kr 解密D for i=r to 1 do mi-1=mi+1 XOR f(mi, ki) 或 for i=r-1 to 0 do mi=mi+2 XOR f(mi+1, ki+1) =mi XOR f(mi+1, ki+1) XOR f(mi+1, ki+1) =mi
– 密文分组和明文分组同样长 • 对某个密钥可以构造一个明密文对照表
– 电码本 (Substitution Table) – 所以分组的长得至少64比特才好
– 密钥空间2 << 可逆映射个数(2 )!
SM4算法、AES算法、DES算法三种分组密码的基础分析
SM4算法、AES算法、DES算法三种分组密码的基础分析 分组密码当中代表性的SM4算法、AES算法、DES算法在计算机和通信系统中起着重要的实际作用,每一种的算法都会有其独有的一份结构,讲解起来其实每一种都有很大的一个篇幅。
在这里主要是把这几种密码算法放在一起做一个简单的分析,也可以通过了解每一种算法来比较一下三者之间的差别。
那么,我们就通过了解SM4算法、AES算法、DES算法这几种有代表性的近代分组密码来讨论一下分组密码的基本理论及其在计算机和通信系统中的实际应用。
1、SM4算法 SM4密码算法是一个分组算法,其算法设计简沽,结构有特点,安全高效。
数据分组长度为128比特,密钥长度为128比特。
加密算法与密钥扩展算法均采取32轮迭代结构。
SM4密码算法以字节8位和字节32位作为单位进行数据处理。
SM4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
SM4密码算法结构 SM4算法的基本内容有以下几方面: 基本运算:SM4密码算法使用模2加和循环移位作为基本运算。
基本密码部件:SM4密码算法使用了S盒、非线性变换τ、线性变换部件L、合成变换T基本密码部件。
轮函数:SM4密码算法采用对基本轮函数进行迭代的结构。
利用上述基本密码部件,便可构成轮函数。
SM4密码算法的轮函数是一种以字为处理单位的密码函数。
加密算法:SM4密码算法是一个分组算法。
数据分组长度为128比特,密钥长度为128比特。
加密算法采用32轮迭代结构,每轮使用一个轮密钥。
解密算法:SM4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮密铝的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
密钥扩展算法:SM4密码算法使用128位的加密密钥,并采用32轮法代加密结构,每一轮加密使用一个32位的轮密钥,共使用32个轮密钥。
因此需要使用密钥扩展算法,从加密密钥产生出32个轮密钥。
分组密码算法和流密码算法的安全性分析
分组密码算法和流密码算法的安全性分析当今是一个网络时代,人们的生活方式与过去相比发生了很大的变化,足不出户就可以通过网络解决衣食住行中的绝大多数需求,例如,用淘宝网购买所需、用支付宝进行日常支付、用电子银行转账等等。
生活变得快捷而又方便。
然而,事物都有两面性,伴随着生活的便捷而来的是财产安全和个人隐私的保障问题。
这时,密码的使用就是在网络上对我们进行保护的一个关键技术点。
它是类似防火墙似的存在,是一切网络活动的基石。
在网络传输时一般使用的是对称加密算法来进行加密操作,如流密码算法和分组密码算法。
因此,对现有的被广泛重视和使用的分组密码算法和流密码算法的安全性进行研究和分析是非常有必要的。
在本文中,首先,我们针对分组密码算法建立统计积分区分器和多结构体统计积分区分器新模型,并将模型应用于实际算法中;其次,基于MILP方法首次将S盒的差分特征和线性特征考虑进不可能差分路线和零相关路线的自动化搜索中,首次给出ARX算法通用的不可能差分路线和零相关路线的自动化搜索方法,并将该方法应用于实际算法中;最后,在相关密钥场景下利用不可能差分方法给出流密码算法Lizard的安全性分析结果。
具体结果如下。
提出分组密码算法统计积分区分模型,并利用该模型理论破解Skipjack变种算法、给出CAST-256的最优攻击结果和IDEA的最优积分攻击结果:积分攻击是对称密码领域最强大的分析方法之一,被广泛的应用于分组密码算法的安全性分析中。
它是基于概率为1的平衡特性来构建区分器。
攻击者可以通过固定输入的一部分比特而遍历剩下的所有比特的可能取值,观察相应的输出值在某些比特上是否为均匀分布来区分真实算法和随机置换。
为了增加积分区分器的覆盖轮数,攻击者通常会在整个明文空间的限制条件下以特定的结构来遍历更多的明文比特以使得平衡特性依然成立。
然而这一要求限制了积分攻击在很多算法分析中的应用。
在本文中,为降低积分分析中使用的数据复杂度,我们基于超几何分布和多项分布为算法和随机置换构造不同的概率分布来进行区分,从而构建了统计积分这一新模型。
分组密码体制
两个基本设计方法
由于对称分组密码的缺点是不善于隐藏明文的 统计特性,因而对“统计分析”攻击方式的抵御能 力不强,故Shannon提出了两个抵抗“统计分析” 的方法:混淆和扩散。
◆混淆:目的是为了隐藏明文和密文之间的关系,增加密 钥和密文之间关系的复杂性。可以使用“代替”的方法 来实现。
◆扩散:目的是让密文没有统计特征,也就是将明文中的 统计信息散布到整个密文中,增加密文与明文之间关系 的复杂性,以挫败推测出密钥的尝试。可以使用“置换” 的方法来实现。
对于给定的64位的明文p,通过初始置换IP获得64位的 p320,位并记将为pR00分,为即左p0右=I两P(部p)=分L,0R前0。面IP32置位换记如为图L所0,示后。面
置换表中的数字1~64代表的仅仅是明文 分组中元素所处的位置,而非元素的值!
• 第四步:初始逆置换IP-1 应用初始逆置换IP-1对最后一轮迭代之后得到 的R16L16进行置换,得到密文C。
• 分组加密算法本质上体现了n位明文分组和n位密文分组的一一 映射。
• 分组大小n的选择
1“)统如计果分n较析一码小”般,,方的不则法,同得的对变到攻于换的击的n明。位总文分数空组为间的(和2对n密)!称,文分也空组就间密是有限,容易受到 2)如果n充说分,大密,钥则的由个于数得为到(的2n明)!个文。空间和密文空间足够大, 明文的统计特征将被掩盖,可以抵抗“统计分析”方法的攻击 ;但同时也将导致密钥数目的急剧增加和密钥空间的急剧增大 ,这会给密钥的分配、管理和存储带来很大的困难。
Feistel 密码结构
DES算法的整体结构 ——Feistel密码结构
• 每一轮的迭代算法 加密:对于每一轮 i=1,2,...,n,新 的左右部分根据如下规则重新
现代密码学(第三章)
我们知道: 加密算法是E(· , z) , 解密算法是D(· , z) 。 这里E(· , z)和D(· , z)使用相同的密钥z,使用不同的 算法E和D。 如果D(· , z)= E(· , z*),其中z*是z经过非常简单的 重新编排得到的,则称分组密码算法是加解密 相似的。
2015-4-17 19
2015-4-17 14
一、分组密码的基本概念
简洁性
分组密码算法在满足安全性的同时尽可能简单快速。 如果分组密码算法用软件来实现,则要求字长尽可 能自然地适应软件编程,比如8、16、32比特等。 在软件实现中,按比特置换通常是难于实现的,因 此应尽量避免使用它。字的运算应该是易于软件实 现的运算,最好是用一些标准处理器所具有的一些 基本指令,比如加法、乘法、移位等。如果分组密 码算法用硬件来实现,则尽量使用规则结构,以便 用VLSI来实现。
这个加密算法就是极不稳定的。
2015-4-17 12
一、分组密码的基本概念
分组密码的设计准则
安全性 简洁性 有效性 透明性和灵活性 加解密相似性
2015-4-17 13
一、分组密码的基本概念
安全性
概括地说安全性就是从任何角度难以攻破。 其中两个最重要的角度是 ① 对于一个正在使用的加密算法,即使攻击 者获得“许多”精心选择的明文--密文对, 他仍无法“接近”密钥; ② 即使攻击者获得“许多”精心选择的明文-密文对,他仍无法“接近”任一个新密文 所对应的明文。
2015-4-17 22
一、分组密码的基本概念
计算部件
群加密:明文块与密钥块进行群“乘法”运算,它的作用是一 次性地掩盖明文。如果单独使用群加密部件,则一组已知的 明文/密文对就可获得密钥。以下是最常用的两种群加密。 逐比特异或‘+’,结构最简单,缺点也最明显,密文的一个比特 只依赖于明文的一个比特和密钥的一个比特,毫无扩散功能。 (mod2n)加法“+”也是非常简单的计算部件,具有单向扩散功能, 即明文或密钥的第j位影响密文的第j位、第j+1位、…、第n位。举搜索密钥的所有可能值。 (密钥z长度为j,共有2j个可能值)为了抵抗穷举 搜索,密钥的长度j不能太小。当然密钥长度也不 能太大,否则加解密的计算量就会很大。当前常 用的密钥长度为64或128或256。 Eve的另一种办法是充分利用加解密算法(E,D) 的弱点。如果某一组明文/密文对(m,c)使得 方程m=D(c, z)特别容易解出z,m就称为一个弱明 文,z就称为一个弱密钥。
分组密码
密码类型
01 研究历史
03 设计分析
目录
02 研究内容 04 设计原则
05 AES征集
07 技术总结
目录
06 算法要求
分组密码(block cipher)的数学模型是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为 n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。
研究历史
现代分组密码的研究始于 丰硕的研究成果。
对于分组密码,在早期的研究,基本上是围绕DES进行的,推出了一些类似的算法,例如:LOKI,FEAL, GOST等。进入20世纪90年代,人们对DES算法研究更加深入,特别是差分密码分析(differential cryptanalysis)和线性密码分析(linear cryptanalysis)的提出,迫使人们不得不研究新的密码结构。 IDEA密码打破了DES类密码的垄断局面,随后出现了SQUARE、SHARK、SAFER-64等采用了结构非常清晰的代替— 置换(SP)网络,每一轮由混淆层和扩散层组成,从理论上给出了最大差分特征概率和最佳线性逼近优势的界, 证明了密码对差分密码分析和线性密码分析的安全性。
谢谢观看
1997年-2000年,AES的征集掀起了分组密码研究的新高潮,15个AES候选算法反映了当前分组密码设计的水 平,也可以说是近几年研究成果的一个汇总。
目前分组密码所采用的整体结构可分为Feistel结构(例如CAST—256、DEAL、DFC、E2等)、SP网络(例如 Safer+、Serpent等)及其他密码结构(例如Frog和HPC)。加解密相似是Feistel型密码的一个实现优点,但它 在密码的扩散似乎有些慢,例如需要两轮才能改变输入的每一个比特。SP的网络结构非常清晰,S被称为混淆层 (非线性层),主要起混淆作用。P被称为扩散层,主要起扩散作用。
