折叠 编辑本段 简介
这个标准用来替代原先的DES(Da界合台ta Encryption Standard),已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以Rijdael之名命之,投稿高销创光异刻级加密标准的甄选流程。(Rijdael的发音近于 "Rhine doll"。)
折叠 编辑本段 沿革
RSubBytes是AES算法四步360百科骤之一ijndael是由验映诗和顺较助价两矛Daemen和Rijme及n早期所设计的Squ米蒸切显厚动庆措愿良法are改良而来;而Square则是由SHARK发展而来。
不同于它的前任标准DES,Rijndael使用的是置换-组合架建初能频号风航构,而非Feistel架构。AES在软件及硬件上都能快速地加解密,混在血出影市论运并担相对来说较易于实现,且只需要很少的存储器。作为一个新的加密标准,目前正被部署应用到更广大的范围。
折叠 编辑本段 密码说明
严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的今胞用通坚氢车区块和密钥长度:AES的区块长银害白爱府液王度固定为128位,视头含们宗密钥长度则可以是128,19培触护满银2或256位;而Rijndael使用的密钥和区块长度限群河势陈均设队可以是32位的整数倍,以12虽远明市括接夫更纪8位为下限,25水九官6位为上限。加密过程中使用的密钥是由Rijnd毛ael密钥生成方案产生。
大多数AES计算是在何酒想浓拉转汽否对九境一个特别的有限域完成的。
AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为"体(state)",其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。(Rijndael加密法因支持更大的区块,其矩阵行数可视情况增加)加密时,各轮AES加密循环(除最后一侵功木缺据首病争育杆易轮外)均包含4个步骤:
折叠 AddRoundKey
将每个状态中的字节与该回合孔金钥做异或-矩阵中甚取状号含的每一个字节都与该次回合金钥(round key)做座零草XOR运算;每个子密钥由密钥生成方案产生。
折叠 SubBytes
-通过一个非线性的替换函数,用查找表的方式把红每个字节替换成对应的字节。
折叠 ShiftRows
-将小叶矩阵中的每个横列进行相跟球五采指效左循环式移位。
折叠 MixColumns
折叠 编辑本段 旁道攻击
(又称旁路攻击、侧信道攻击)
旁道攻击州制不攻击密码本身,而是攻击那些实现于不安岩冲特判今起湖倍务器全系统(会在不经意间泄漏信息)上的加密系统。
20儿般试项乱袁陈介05年4月,D.J. Bernstein公布了一种缓存时序攻击法,他以此破解了一个装载OpenSSL AES加密系统的客户服务器。为了设计使该服务器公布所有的时序信息,攻击算法使用了2亿多条筛选过的明码。有人认为,对于需要多个跳跃的国际互联网而抓素乐球言,这样的攻击方法并不实用。
2005年10月,Eran Tromer和另外两个研究员发表了一篇论文,展示了数种针对AES的缓存时序攻击法[8]。其中才静界款除谓最处入一种攻击法只需要800个写入动作,费时65毫秒,就能得到一把完整的AES密钥。但攻击者必须在运行加密的系统上拥有运行程序的权限,方能以此法破解该密码系统。
折叠 编辑本段 加密模式
对称/分组密码一般分为如案倍练婷满力少流加密(如OFB概等观坐宁扩素料罪、CFB等)和块加密(如ECB、CBC等)。对于流加密,需要将分组密码转化为流模式工作。对于块加密(或称分组加密),如果要加密超过块大小的数据,就需要涉及填充和链加密模式。
ECB(Electronic Code Book电子密码本)模式
ECB模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。
优点:
1.简单; 2.有利于并行计算; 3.误差不会被传送; 哥攻雷聚讲飞满细谁板胞缺点: 1.不能隐藏明快合何明供文的模式; 2.可能对明文进行具主动攻击; 因此,此模式适于加密小消息。
CBC(Cipher Block Chaining,加密块链)模掌府室委记情式
优点:
1.不容易主动攻击,安全性好于ECB,接客线适合传输长度长的报单个较业文,是SSL、IPSec的标准。 缺点: 1.不利于并行计算; 2.误差传递; 3.需要初始化向量IV
CFB(Cipher FeedBack Mode,加密反馈)模式
优点:
1.隐藏了明文模式; 2.分组密码转化为流模式; 3.可以及时加密传送小于分组的数据; 缺点: 1.不利于并行计剂离世据火尼劳算; 2.误差传送:一个明文单元损坏影响多个单元; 3.唯一的IV;
OFB(Output Fe居庆攻得氧损饭件城点升edBack,输出反馈)模式
可效会春王议步福和句优点:
1.隐藏了明文模专劳祖皇期面式; 2.分组密码转化为流模式; 3.可以及深威序输科时加密传送小于分组的数据; 缺点: 1.不利于并行计算; 2.对明文的主动攻击是可能的; 3.误差传送:一个明文单元损坏影响多个单元;
折叠 编辑本段 模式
计数模式(CTR模式)加密是对一系列输入数据块(称为计数)进行加密,产生一系列的输出块,输出块与明文异或得到密文。对于最后的数据块,可能是长u位的局部数据块,这u位就将用于异或操作,而剩下的b-u位将被丢弃(b表示块的长度)。CTR解密类似。这一系列的计数必须互不相同的。假定计数表示为T1, T2, …, Tn。CTR模式可定义如下:
CTR加密公式如下:
Cj = Pj XOR Ek(Tj)
C*n = P*n XOR MSBu(Ek(Tn)) j =1,2… n-1;
CTR解密公式如下:
Pj = Cj XOR Ek(Tj)
P*n = C*n XOR MSBu(Ek(Tn)) j =1,2 … n-1;
AES CTR模式的结构如图5所示。
图5 AES CTR的模式结构
Fig 5 Structure of AES CTRMode
加密方式:密码算法产生一个16 字节的伪随机码块流,伪随机码块与输入的明文进行异或运算后产生密文输出。密文与同样的伪随机码进行异或运算后可以重产生明文。
CTR 模式被广泛用于 ATM 网络安全和 IPSec应用中,相对于其它模式而言,CTR模式具有如下特点:
■ 硬件效率:允许同时处理多块明文 / 密文。
■ 软件效率:允许并行计算,可以很好地利用 CPU 流水等并行技术。
■ 预处理:算法和加密盒的输出不依靠明文和密文的输入,因此如果有足够的保证安全的存储器,加密算法将仅仅是一系列异或运算,这将极大地提高吞吐量。
■ 随机访问:第 i 块密文的解密不依赖于第 i-1 块密文,提供很高的随机访问能力
■ 可证明的安全性:能够证明 CTR 至少和其他模式一样安全(CBC, CFB, OFB, ...)
■ 简单性:与其它模式不同,CTR模式仅要求实现加密算法,但不要求实现解密算法。对于 AES 等加/解密本质上不同的算法来说,这种简化是巨大的。
■ 无填充,可以高效地作为流式加密使用。
■ 错误不传播:密文传输中每个比特位被错误反转, 仅只影响该密文所在区块的解密. 在CTR模式下, 经过k+1步的自同步后, 后续密文皆可以正确解密.(k表示区块长度128)
■ 必须配合消息验证码(MAC)使用.
■ 不能进行完整性校验: 密文传输过程中丢失比特位将导致后续比特位无法正确解密.