1、 按算法的不同,对称密码体制又分为两类:按算法的不同,对称密码体制又分为两类:u序列密码体制序列密码体制 u分组密码体制分组密码体制3.1 两种对称密码体制两种对称密码体制 序列(流)密码序列(流)密码(Stream Cipher):明文信息逐:明文信息逐位位(或逐字符或逐字符)和一个永不重复的随机密钥序列异或,和一个永不重复的随机密钥序列异或,且密钥的长度等于明文的长度。且密钥的长度等于明文的长度。算法描述:算法描述:Ci Pi ki Pi Ci ki 3.1.1 序列密码体制序列密码体制如:如:加密过程加密过程 解密过程解密过程 明文明文(P):密文密文(C):密钥密钥(K):密钥密钥(K
2、):-密文密文(C):明文明文(P):本例中,序列流的长度为本例中,序列流的长度为5位,则密钥长度也应为位,则密钥长度也应为5位,而其密钥空间应为位,而其密钥空间应为?序列密码的序列密码的优点:优点:计算简单,效率高,保密性好。计算简单,效率高,保密性好。缺点缺点:密钥管理困难(因为需要有可靠:密钥管理困难(因为需要有可靠 的密钥传输渠道和密钥保存方法)的密钥传输渠道和密钥保存方法)。25,即可能的加密密钥为,即可能的加密密钥为 32个。个。分组密码:分组密码:在密钥的控制下一次变换一个明文分组。在密钥的控制下一次变换一个明文分组。3.1.2 分组密码体制分组密码体制 -分组长度要足够长分组长
3、度要足够长,密钥量应足够大密钥量应足够大 以防止穷举密钥空间的攻击。以防止穷举密钥空间的攻击。-密码算法应足够复杂密码算法应足够复杂 使破译者除了穷举法攻击之外,找不到其它简洁使破译者除了穷举法攻击之外,找不到其它简洁的数学破译方法。的数学破译方法。分组密码设计要求分组密码设计要求 基于加密的基本方法基于加密的基本方法代替代替和和换位换位.(代替:用以(代替:用以实现扩散实现扩散;换位:用以;换位:用以实现混乱实现混乱)nDiffusion(扩散扩散)明文的的统计结构被扩散消失在密文中,明文一位影响明文的的统计结构被扩散消失在密文中,明文一位影响密文的多位,增加密文与明文之间关系的复杂性。密文
4、的多位,增加密文与明文之间关系的复杂性。nConfusion(混乱混乱)强调密钥的作用,使得密文的统计特性与密钥的取值之强调密钥的作用,使得密文的统计特性与密钥的取值之间的关系尽量复杂。间的关系尽量复杂。分组密码的工作机制分组密码的工作机制 首先要将一个明文消息首先要将一个明文消息M分成若干块,分成若干块,M=M1,M2,.,Mi 分别对每一块进行加密:分别对每一块进行加密:基于密钥替换一次再换位一次,构成一轮;这个基于密钥替换一次再换位一次,构成一轮;这个过程重复多次构成循环,循环的正向进行构成加密,过程重复多次构成循环,循环的正向进行构成加密,反向进行构成解密。反向进行构成解密。(目前,使
5、用最多的对称密码体制就是分组密码体制)(目前,使用最多的对称密码体制就是分组密码体制)分组密码算法的基本思想分组密码算法的基本思想 有几种分组密码使用模式:有几种分组密码使用模式:(1)电子密码本()电子密码本(ECB)C=C1C2.Ci 其中其中Ci=E(Mi,k)特点特点:每个明文分组的加密是独立的。分组的长度是每个明文分组的加密是独立的。分组的长度是64位,每一个明文分组与位,每一个明文分组与264个密文分组中的一个个密文分组中的一个相对应。相对应。在早期流行的商业软件产品中在早期流行的商业软件产品中,它曾经是最常用它曾经是最常用的方式。的方式。出于安全考虑,该方式目前已很少使用。出于安
6、全考虑,该方式目前已很少使用。分组密码的应用模式分组密码的应用模式 优点:实现简单。优点:实现简单。缺点:易于遭受攻击。攻击者可以根据已知的缺点:易于遭受攻击。攻击者可以根据已知的 “明文明文密文对密文对”建立一个自己的密码本建立一个自己的密码本来来 实施攻击。实施攻击。(2)密码分组链接()密码分组链接(CBC)(目前多采用这种模式目前多采用这种模式)特点特点:前后分组有关联,即前一分组的加密结果被用前后分组有关联,即前一分组的加密结果被用于后一分组的加密,这样,每一个分组的密文不仅于后一分组的加密,这样,每一个分组的密文不仅依赖于该分组的明文,而且还受前面所有分组的影依赖于该分组的明文,而
7、且还受前面所有分组的影响。响。C1=E(M1 V,k),V-初始向量初始向量 .Ci=E(Mi Ci-1,k),i=1,2,s 最后一块最后一块|Mi|若不满若不满64位,则应补齐,以保证位,则应补齐,以保证密文与明文长度相等。密文与明文长度相等。(3)输出反馈(输出反馈(OFB)(4)密文反馈(密文反馈(CFB)这两种模式的特点都是将分组用流密码方式加密,这两种模式的特点都是将分组用流密码方式加密,目前不常用。目前不常用。常用的分组密码算法包括常用的分组密码算法包括:DES,3DES,IDES,RC5,.,AES(Rijndael)3.2 DES 3.2.1 DES概述概述 DES(数据加密
8、标准)为(数据加密标准)为feistel 密码。密码。H.Feistel是是IBM 的一个专家的一个专家,最初设计了一个最初设计了一个128位密钥的分组密码位密钥的分组密码,70年代因不需要年代因不需要128位长的位长的密钥密钥,太浪费,降为太浪费,降为64 位(位(8个字节)个字节),其中每个字其中每个字节的最后一位为奇偶校验,因此,实际密钥长度为节的最后一位为奇偶校验,因此,实际密钥长度为56位。位。DES的密钥空间为的密钥空间为256,即对一个分组的可能加,即对一个分组的可能加密密钥为密密钥为256个。个。对对DES攻击的唯一有效方法是:攻击的唯一有效方法是:“穷举法穷举法”。穷举法:穷
9、举法:逐个试验所有的密钥逐个试验所有的密钥 k,直到,直到 C=Ek(m)。由于由于DES的的256的密钥空间,通过猜测的密钥空间,通过猜测256个可能个可能的密钥破译一个分组,按当时的计算机水平,使用的密钥破译一个分组,按当时的计算机水平,使用穷举法需要穷举法需要2283年。年。该标准该标准1977年由美国国家标准局年由美国国家标准局(NBS)颁布,颁布,1981年,被美国商业组织所采纳,作为美国国家标年,被美国商业组织所采纳,作为美国国家标准数据加密算法,之后,很快被用于政府、金融等准数据加密算法,之后,很快被用于政府、金融等领域。并成为事实上的国际标准。领域。并成为事实上的国际标准。NB
10、S规定:每规定:每5年对年对DES进行一次重新审查和修订。进行一次重新审查和修订。1983年年-没有任何修改没有任何修改 1987年年-NBS认为认为DES已不够安全,宣布不再对已不够安全,宣布不再对其进行认证,但仍宣布过渡其进行认证,但仍宣布过渡5年。年。1993年年-由于由于NSA没有提出新的民用加密算法,没有提出新的民用加密算法,而且而且DES也没有被攻破的公开声明,因此要继续过也没有被攻破的公开声明,因此要继续过度度5年。年。1998年年-1997年人们通过穷举密钥破译了它,年人们通过穷举密钥破译了它,(通过网络,利用集体的力量,用了大约(通过网络,利用集体的力量,用了大约100天左天
11、左右的时间)。它的主要缺陷就是右的时间)。它的主要缺陷就是密钥太短密钥太短。关于。关于DES的另一个争论焦点是,的另一个争论焦点是,DES中中是否存在陷门是否存在陷门。但由于当时还没有更好的算法来代替它,所以但由于当时还没有更好的算法来代替它,所以1998年的情况依然如此,年的情况依然如此,DES仍然继续使用。仍然继续使用。2000年年10月月,NIST(美国国家标准和技术协会)(美国国家标准和技术协会)宣布将从宣布将从15种侯选算法中选出一项新的加密标准。种侯选算法中选出一项新的加密标准。新的标准将会代替旧的新的标准将会代替旧的DES算法。算法。Rijndael被选中被选中成为将来的成为将来
12、的AES(高级加密标准高级加密标准Advanced Encryption Standard)。Rijndael这个名字是从它这个名字是从它的两个发明者的两个发明者Rijmen和和Daemen的名字得来的。的名字得来的。从从2001年年开始,美国政府开始使用开始,美国政府开始使用DES的的“接接班人班人”-AES。在其他国家,在其他国家,DES还在广泛使用。还在广泛使用。DES是一个分组加密算法,它以是一个分组加密算法,它以64位为一个分位为一个分组对数据加密。组对数据加密。64位一组的明文从算法的一端输入,位一组的明文从算法的一端输入,64位的密文从另一端输出。由于它是对称体制,加位的密文从另
13、一端输出。由于它是对称体制,加密解密使用同一算法密解密使用同一算法。DES算法的原理算法的原理:简单地说,算法只不过是加密的两个基本技术简单地说,算法只不过是加密的两个基本技术 混乱混乱(confusion)和扩散和扩散(diffusion)的组合。的组合。实现实现混乱和扩散的方法是:混乱和扩散的方法是:代替和换位。代替和换位。3.2.2 DES的基本原理的基本原理 它基于密钥作用于明文,运算一次为一轮,它基于密钥作用于明文,运算一次为一轮,共进行共进行16轮相同的运算,即在明文分组上轮相同的运算,即在明文分组上16次次实施相同的组合运算,最后输出密文。实施相同的组合运算,最后输出密文。为什么
14、要进行为什么要进行16轮迭代运算?轮迭代运算?轮数越多越安全,但代价与轮数成正比,轮数越多越安全,但代价与轮数成正比,16轮轮是一个合适的选择。是一个合适的选择。算法流程:算法流程:首先,通过一个初始置换将首先,通过一个初始置换将64位的明文分组分成位的明文分组分成左右两部分,各左右两部分,各32位长,然后进行位长,然后进行16轮完全相同的轮完全相同的运算。运算。这些运算被称为这些运算被称为f 函数函数,在运算过程中,数据与密在运算过程中,数据与密钥结合。钥结合。f函数的作用是将函数的作用是将32比特的比特的0,1打乱,即实现混乱。打乱,即实现混乱。每一轮中的密钥每一轮中的密钥K不同。不同。1
15、 算法的描述:算法的描述:输入输入X=x1,x2,.,x64(明文)(明文)初始换位初始换位 L(0)=L1,.,L32 R(0)=R1,R32 L(1)=L1,.,L32 R(1)=R1,R32 L(16)=L1,.,L32 R(16)=R1,R32 Y=y1,y2,y64(密文(密文)k1 f fk16 逆换位逆换位 )(6416,2,1),(16,2,1)64(1616111100LRIPbitikRfLRiRLbitIPRLiiiiii密文输入码 示意图:示意图:2 DES的加密和解密过程的加密和解密过程 令令i表示迭代次数,表示迭代次数,表示逐位模表示逐位模2求和,求和,f为加密函数
16、。为加密函数。n加密过程:加密过程:n解密过程:解密过程:)(6416,2,1),(16,2,1)64(1616111100LRIPbitikRfLRiRLbitIPRLiiiiii密文输入码)(641,15,16),(1,15,16)64(0011111616LRIPbitikRfRLiLRbitIPLRiiiiii明文密文初始置换初始置换IP和初始逆置换和初始逆置换IP-1:3 每一轮的简单描述每一轮的简单描述 每一轮:每一轮:(如下图)(如下图)简单描述:简单描述:K(48K(48位位)32位位8个个S盒盒 48位位 32位位 在每一轮中,密钥位移位,然后再从密钥的在每一轮中,密钥位移位
17、,然后再从密钥的56位中选出位中选出48位。通过一个扩展置换将数据的右半部分扩展成位。通过一个扩展置换将数据的右半部分扩展成48位(位(实现扩散实现扩散),并通过一个异或操作与),并通过一个异或操作与48位密钥结合,再通位密钥结合,再通过过8个个S盒将这盒将这48位替代成新的位替代成新的32位数据位数据(实现混乱实现混乱),再将,再将其置换一次。这四步运算为一轮,称为其置换一次。这四步运算为一轮,称为函数函数f。DES的安全性主要依赖于的安全性主要依赖于S盒,而且盒,而且S盒是唯一的非线性部分。盒是唯一的非线性部分。解密过程与加密过程一样解密过程与加密过程一样,只是所使用的密钥次序为逆序。只是
18、所使用的密钥次序为逆序。Li-1(32比特)比特)Ri-1(32比特)比特)Li(32比特)比特)48比特寄存器比特寄存器选择扩展运算选择扩展运算E48比特寄存器比特寄存器子密钥子密钥Ki(48比特)比特)32比特寄存器比特寄存器选择压缩运算选择压缩运算S置换运算置换运算PRi(32比特)比特)Li=Ri-1 DES的一轮迭代的一轮迭代4函数函数f n扩展:扩展:32 48nS-box(进行压缩)(进行压缩):48 32nP盒置换盒置换(1)扩展)扩展:Ri从从 32 48 32|01 02 03 04|0504|05 06 07 08|0908|09 10 11 12|1312|13 14
19、15 16|1716|17 18 19 20|2120|21 22 23 24|2524|25 26 27 28|2928|29 30 31 32|01 32位位48位位(2)S-Box选择压缩运算选择压缩运算n48比特被分成比特被分成8个个6比特的子块比特的子块(B1,B2,B3,B4,B5,B6,B7,B8),输入到相应的),输入到相应的S盒(盒(S1,S2,S3,S4,S5,S6,S7,S8)。)。n对每个盒,对每个盒,6比特输入中的第比特输入中的第1和第和第6比特组成的二比特组成的二进制数确定进制数确定“S-Box表表”的行,中间的行,中间4位二进制数位二进制数用来确定表的列。表中相应
20、行、列位置的十进制数用来确定表的列。表中相应行、列位置的十进制数的的4位二进制数表示作为输出。位二进制数表示作为输出。例如:例如:若子块若子块B2=101001,输入到,输入到S2,则,则S2对应对应“S-Box表表”的行数和列数的二进制表示分别是:的行数和列数的二进制表示分别是:?11和和0100,即第,即第3行和第行和第4列,列,查表知:对应的十进制数为查表知:对应的十进制数为3,用用4位二进制数表示为位二进制数表示为0011,即,即S2的输出为的输出为0011。所以,可用所以,可用0011代替代替101001。表表 S-Box(3)P盒置换盒置换16 07 20 21 29 12 28
21、1701 15 23 26 05 18 31 1002 08 24 14 32 27 03 0919 13 30 06 22 11 04 25输入输出数据的位置置换。输入输出数据的位置置换。如:将输入的第如:将输入的第16位放到输出的第位放到输出的第1位上,位上,将输入的第将输入的第23位放到输出的第位放到输出的第?位上位上?115子密钥的产生子密钥的产生 k1 (56 位)(48 位)ki (56 位)(48 位)64 位 密 钥置 换 选 择 1 C0(28 位)D0(28 位)循 环 左 移循 环 左 移 C1(28 位)D1(28 位)循 环 左 移循 环 左 移 Ci(28 位)Di
22、(28 位)置 换 选 择 2置 换 选 择 2密 钥 表 的 计 算 逻 辑循 环 左 移:1 1 9 12 1 10 23 2 11 24 2 12 25 2 13 26 2 14 27 2 15 28 2 16 1 置换选择置换选择 64位密钥位密钥C0(28位)位)D0(28位)位)循环左移循环左移 循环左移循环左移C1(28位)位)D1(28位)位)(56位位)(48位位)压缩置换压缩置换K1Ki(48位位)压缩置换压缩置换(56位位)循环左移循环左移 循环左移循环左移Ci(28位)位)Di(28位)位)密钥每轮移动位数密钥每轮移动位数轮数轮数:1 2 3 4 5 6 7 8 9位数
23、位数:1 1 2 2 2 2 2 2 1 密钥置换表密钥置换表 压缩置换压缩置换6数据的变位数据的变位 64位的数据在加密之前和加密之后各进行一位的数据在加密之前和加密之后各进行一次重新变换,次重新变换,其目的?其目的?目的不是为了增加保密强度,而是为了增加目的不是为了增加保密强度,而是为了增加软件实现的难度,降低计算效率。软件实现的难度,降低计算效率。(1)DES的设计思想有利于硬件的实现的设计思想有利于硬件的实现 设计者希望对加密技术能够适当控制,利用硬件设计者希望对加密技术能够适当控制,利用硬件实现的复杂性使得只有少数国家和少数厂家才有能实现的复杂性使得只有少数国家和少数厂家才有能力设计
24、和生产这种芯片,并将其实用化。由于其算力设计和生产这种芯片,并将其实用化。由于其算法的简单性,软件实现容易,所以算法的设计者尽法的简单性,软件实现容易,所以算法的设计者尽可能降低其计算效率,以提高硬件实现的优势。可能降低其计算效率,以提高硬件实现的优势。随着计算机系统性能提高随着计算机系统性能提高 DES的软件实现越的软件实现越来越多。来越多。7.7.对对DESDES讨论讨论软硬件实现的比较:软硬件实现的比较:n硬件实现方面:硬件实现方面:DEC公司,公司,DES芯片处理速度可达芯片处理速度可达1Gb/s(每秒(每秒1000b),每秒可处理),每秒可处理1680 万个分万个分组;美国组;美国V
25、LSI公司,公司,6868商用芯片处理速度为商用芯片处理速度为512Mb/s。n软件实现方面:基于软件实现方面:基于8048/66MHz的处理速度为的处理速度为2.7b/s;基于;基于Sun Sparc 10/52的处理速度为的处理速度为3.4b/s。(2)密钥长度的争论)密钥长度的争论n关于关于DES算法的另一个最有争议的问题就是担算法的另一个最有争议的问题就是担心实际心实际56比特的密钥长度不足以抵御穷举式攻比特的密钥长度不足以抵御穷举式攻击,因为密钥量只有击,因为密钥量只有256 1017 个个 n每秒测试每秒测试100万个密钥的机器大约需要一天就可万个密钥的机器大约需要一天就可以搜索整
26、个密钥空间。估计制造这样的机器大以搜索整个密钥空间。估计制造这样的机器大约需要约需要2000万美元。万美元。(3)S-Box问题问题 在在DES中,其他算法都是线性的,只有中,其他算法都是线性的,只有S盒运盒运算是非线性的,它提供了密码算法所必须的混算是非线性的,它提供了密码算法所必须的混乱作用,改变乱作用,改变S盒的一个输入至少要引起两位的盒的一个输入至少要引起两位的输出改变。输出改变。S盒不易于分析,它提供了更好的安盒不易于分析,它提供了更好的安全性,所以全性,所以S盒是算法的关键所在。盒是算法的关键所在。但但F函数函数(S-Box)设计原理未知,是否存在密设计原理未知,是否存在密码分析的
27、捷径(人们怀疑码分析的捷径(人们怀疑S盒中可能存在着不安盒中可能存在着不安全的因素)?另外,是否留有陷门?全的因素)?另外,是否留有陷门?3.3 DES算法的程序实现(自选)算法的程序实现(自选)n根据根据DES算法的原理,利用算法的原理,利用C语言,语言,VC+6.0环境环境下,实现其加密和解密算法。下,实现其加密和解密算法。3.4 其它对称加密算法其它对称加密算法 有多种,只简介其中的有多种,只简介其中的3种:种:1IDEA:国际数据加密算法:国际数据加密算法 该算法是由两个瑞士人于该算法是由两个瑞士人于19911991年提出的,其年提出的,其算法在算法在形式上与形式上与DESDES类似类
28、似,也是使用循环加密方式,把,也是使用循环加密方式,把6464位的位的明文加密成明文加密成6464位的密文。所不同的是,位的密文。所不同的是,IDEAIDEA使用使用128128位位的密钥,强度高于的密钥,强度高于DESDES。加密和解密时使用的密钥不同,。加密和解密时使用的密钥不同,但它们是从同一个密钥派生出来,所以仍属于对称密码但它们是从同一个密钥派生出来,所以仍属于对称密码体制。体制。使使用用128128位密钥加密位密钥加密6464位明文分组位明文分组,穷举分析需要,穷举分析需要10103838次试探。算法本身倾向于软件实现,加密速度快。次试探。算法本身倾向于软件实现,加密速度快。到目前
29、为止,尚未找到破译它的方法。但到目前为止,尚未找到破译它的方法。但IDEAIDEA没有代替没有代替DESDES,其中一个可能的原因是它有专利,另一个原因是,其中一个可能的原因是它有专利,另一个原因是人们一直在等待密码分析家分析该算法的安全强度。人们一直在等待密码分析家分析该算法的安全强度。2 三重三重DES 以以DES为基本模块,通过组合分组方法设计出分为基本模块,通过组合分组方法设计出分组加密算法,组加密算法,是是DES的的多重加密方法,即的的多重加密方法,即:加密加密解密解密加密加密 所以也称所以也称三重三重DES。使用。使用3DES得到的密文更得到的密文更难用穷举法破译。难用穷举法破译。
30、设设:Ek()和和Dk()代表代表DES算法的加算法的加/解密过程,解密过程,K为为密钥,密钥,P代表明文,代表明文,C代表密文,则代表密文,则 加密过程:加密过程:C=Ek3(Dk2(Ek1(P)解密过程:解密过程:P=Dk1(EK2(Dk3(C)其中:其中:K1、K2、K3决定了算法的安全性,若三个密决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为钥互不相同,本质上就相当于用一个长为168位的位的密钥进行加密。密钥进行加密。3DES的具体实现:的具体实现:若数据对安全性要求不很高,若数据对安全性要求不很高,K1可以等于可以等于K3。在这。在这种情况下,密钥的有效长度为种情况
31、下,密钥的有效长度为112位。位。例如:例如:选用两个选用两个56位密钥(加上校验位后为位密钥(加上校验位后为64位),要位),要加密的数据先后三次通过加密的数据先后三次通过DES进行加密。数据先通进行加密。数据先通过第一个过第一个56位密钥进行加密。再通过第二个密钥,位密钥进行加密。再通过第二个密钥,然后再次通过第一个密钥。然后再次通过第一个密钥。n到目前为止,还没有人给出攻击三重到目前为止,还没有人给出攻击三重DES的有效方的有效方法。对其密钥空间中密钥进行蛮干搜索,那么由于法。对其密钥空间中密钥进行蛮干搜索,那么由于空间太大为空间太大为2112=51033,这实际上是不可行的。,这实际上
32、是不可行的。若用差分攻击的方法,相对于单一若用差分攻击的方法,相对于单一DES来说复杂性来说复杂性以指数形式增长。以指数形式增长。n虽然目前还没有针对两个密钥三重虽然目前还没有针对两个密钥三重DES的实用攻击的实用攻击方法。但对两个密钥三重方法。但对两个密钥三重DES的攻击有一些设想,的攻击有一些设想,以这些设想为基础将来可能设计出更成功的攻击技以这些设想为基础将来可能设计出更成功的攻击技术。术。另外,随着另外,随着Internet、智能卡、手机和掌上电、智能卡、手机和掌上电脑等应用日益普及,对通信安全的要求也增强了。脑等应用日益普及,对通信安全的要求也增强了。不过这些小型设备需要的是不过这些
33、小型设备需要的是,用更少代码用更少代码,占用更少占用更少资源的数据加密算法,所以资源的数据加密算法,所以3DES不是今后这方面不是今后这方面需求的解决办法。需求的解决办法。3 AES 简介:简介:2000年,年,Rijndael算法被选中成为将来的算法被选中成为将来的AES(高级加密标准高级加密标准Advanced Encryption Standard),2001年正是使用。年正是使用。AES是一个用来代替是一个用来代替DES的算法的算法。目前使用。目前使用的一般为的一般为128,196和和256位密钥位密钥,这三种密钥都,这三种密钥都是相当安全的。而且美国政府也是这样认为的。是相当安全的。
34、而且美国政府也是这样认为的。他们批准将他们批准将128位密钥的位密钥的AES算法用于一般数据算法用于一般数据加密,加密,196位和位和256位密钥的位密钥的AES算法用于秘密算法用于秘密数据和绝密数据的加密。数据和绝密数据的加密。Rijndael特点:特点:n不属于不属于Feistel结构结构n加密、解密相似但不对称加密、解密相似但不对称n支持支持128数据块大小数据块大小n支持支持128/192/256密钥长度密钥长度n有较好的数学理论作为基础有较好的数学理论作为基础n结构简单、速度快结构简单、速度快SPSP结构结构 AES 是一个迭代的对称密钥分组的算法。迭代是一个迭代的对称密钥分组的算法
35、。迭代加密使用一个循环结构,在该循环中重复置换加密使用一个循环结构,在该循环中重复置换(Permutations)和代替)和代替(Substitutions)输入数)输入数据。据。即即 在每一轮中,轮输入首先被一个由子密钥控制在每一轮中,轮输入首先被一个由子密钥控制的可的可逆函数逆函数S作用,然后再对所得结果用置换(或作用,然后再对所得结果用置换(或可逆线性变换)可逆线性变换)P作用。称为作用。称为SP结构。结构。S和和P分别被称为混乱层和扩散层,主要起混乱和分别被称为混乱层和扩散层,主要起混乱和扩散作用。扩散作用。AES算法结构:算法结构:AES算法具体描述:算法具体描述:(略。)(略。)Rijndael安全性:安全性:n没有发现弱密钥没有发现弱密钥n能有效抵抗目前已知的攻击算法能有效抵抗目前已知的攻击算法u线性攻击线性攻击u差分攻击差分攻击作业二作业二 1.简述两种对称密码体制(简述两种对称密码体制(序列密码序列密码和和分组密码)分组密码)的的基本思想。基本思想。理解并描述理解并描述CBC模式的基本思想。模式的基本思想。2.理解并描述理解并描述DES加密算法原理。加密算法原理。The End