AES加密模式总结

目录

1. ECB模式(Electronic Code Book Mode)

2. CBC模式(Cipher Block Chaining Mode)

3. CFB模式(Cipher Feedback Mode)

4. OFB模式(Output Feedback Mode)

5. CTR模式(Counter Mode)

6. PCBC模式(Propagating Cipher Block Chaining Mode)


AES,即Advanced Encryption Standard,高级加密标准,又称Rijndael加密法,是对称加密算法中最流行的一种。AES的区块长度固定为128位,密钥长度则可以是128,192或256位。

AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个字节)。加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:AddRoundKey、SubBytes、ShiftRows、MixColumns。波士顿大学的Howard Straubing做了一个动画来展示AES加密算法的演示,非常的直观,相信看完之后就会对AES加密过程有大概的了解了,地址是:http://coolshell.cn/wp-content/uploads/2010/10/rijndael_ingles2004.swf,可以用FLASH播放器或者网页直接打开,如果提示Flash版本过低,可以按提示安装Flash大厅进行播放。

早在1981 年,DES 算法公布之后,NIST 在标准文献 FIPS 81中公布了 4 种工作模式:

  1. 电子密码本:Electronic Code Book Mode (ECB)

  2. 密码分组链接:Cipher Block Chaining Mode (CBC)

  3. 密文反馈:Cipher Feedback Mode (CFB)

  4. 输出反馈:Output Feedback Mode (OFB)

后面又新增了一些工作模式:

  1. 计数器模式:Counter Mode (CTR)

  2. 填充密码分组链接:Propagating Cipher Block Chaining Mode(PCBC)

ECB模式和CBC模式是最常用的两种模式,其他的模式稍作了解即可。

需要块对对齐(填充)的AES加密模式:ECB、CBC、PCBC,其余模式无需块对齐。

需要初始向量的AES加密模式:除ECB模式外,都需要初始向量。

1. ECB模式(Electronic Code Book Mode)

ECB模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。

优点:有利于并行计算;误差不会累计(互不干扰)。

缺点:可能对明文进行主动攻击。

AES加密模式总结_第1张图片

 AES加密模式总结_第2张图片

2. CBC模式(Cipher Block Chaining Mode)

CBC模式对于每个待加密的密码块,在加密前会先与前一个密码块的密文异或然后再用加密器加密(图中的圆圈十字符号表示异或操作,下同)。第一个明文块与一个叫初始化向量的数据块异或。加、解密双方共同知晓密钥和初始化向量才能实现加解密。

优点:安全性比ECB模式高;是SSL的标准。

缺点:数据块之间的加密有依赖关系,因此不能并行计算。

AES加密模式总结_第3张图片

AES加密模式总结_第4张图片

3. CFB模式(Cipher Feedback Mode)

CFB 模式是用分组算法实现流算法,明文数据不需要按分组大小对齐。

优点:明文数据不需要按分组大小对其,即无需填充。

缺点:同CBC模式,无法并行计算。

AES加密模式总结_第5张图片

AES加密模式总结_第6张图片

4. OFB模式(Output Feedback Mode)

OFB 模式的过程和CBC模式有点像,但明文数据不需要按分组大小对齐。

优点:明文数据不需要按分组大小对其,即无需填充。

缺点:同CBC模式,无法并行计算。

AES加密模式总结_第7张图片

AES加密模式总结_第8张图片

5. CTR模式(Counter Mode)

CTR模式是在ECB模式的基础上,引入了Nonce随机数和Counter计数器,Nounce随机数和Counter计数器整体可看作计数器,每加密一段明文,计数器向上加一,并且这个计数器都会和初始IV进行连接、加加、异或等运算,然后使用加密器进行加密,最后在和明文异或得到分段密文。

优点:明文数据不需要按分组大小对其,即无需填充。

缺点:加密方和解密方需要同时维护初始IV、Nonce、Counter。

AES加密模式总结_第9张图片

AES加密模式总结_第10张图片

6. PCBC模式(Propagating Cipher Block Chaining Mode)

PCBC模式是CBC模式的改进版,与CBC模式的不同点在于,CBC模式后段明文加密的所需向量是前一段的密文,而PCBC模式后段明文加密所需的向量是前一段明文和密文的异或值。

优点:同CBC模式。

缺点:同CBC模式。

AES加密模式总结_第11张图片

AES加密模式总结_第12张图片

你可能感兴趣的:(算法,AES,AES加密模式,AES,CBC,AES,ECB)