词条 | 高级加密标准 |
释义 | 密码说明(AddRoundKey SubByte ShiftRow MixColumn) AES加密模式(ECB(Electronic Code Book电子密码本)模式 CBC(Cipher Block Chaining,加密块链)模式 CFB(Cipher FeedBack Mode,加密反馈)模式 OFB(Output FeedBack,输出反馈)模式 CTR(Counter,计数)模式) 简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。 该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以Rijdael之命名之,投稿高级加密标准的甄选流程。(Rijdael的发音近于 "Rhine doll"。) 沿革Rijndael是由Daemen和Rijmen早期所设计的Square改良而来;而Square则是由SHARK发展而来。 不同于它的前任标准DES,Rijndael使用的是置换-组合架构,而非Feistel架构。AES在软件及硬件上都能快速地加解密,相对来说较易于实现,且只需要很少的存储器。作为一个新的加密标准,目前正被部署应用到更广大的范围。 密码说明严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 位,密钥长度则可以是128,192或256位;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256位为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。 大多数AES计算是在一个特别的有限域完成的。 AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。(Rijndael加密法因支持更大的区块,其矩阵行数可视情况增加)加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤: AddRoundKey—矩阵中的每一个字节都与该次回合金钥(round key)做XOR运算;每个子密钥由密钥生成方案产生。 SubByte—通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。 ShiftRow—将矩阵中的每个横列进行循环式移位。 MixColumn—为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每内联的四个字节。 最后一个加密循环中省略MixColumns步骤,而以另一个AddRoundKey取代。 旁道攻击旁道攻击不攻击密码本身,而是攻击那些实现于不安全系统(会在不经意间泄漏信息)上的加密系统。 2005年4月,D.J. Bernstein公布了一种缓存时序攻击法,他以此破解了一个装载OpenSSL AES加密系统的客户服务器。为了设计使该服务器公布所有的时序信息,攻击算法使用了2亿多条筛选过的明码。有人认为,对于需要多个跳跃的国际互联网而言,这样的攻击方法并不实用。 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 FeedBack,输出反馈)模式优点: 1.隐藏了明文模式; 2.分组密码转化为流模式; 3.可以及时加密传送小于分组的数据;缺点: 1.不利于并行计算; 2.对明文的主动攻击是可能的; 3.误差传送:一个明文单元损坏影响多个单元; CTR(Counter,计数)模式计数模式(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应用中,相对于其它模式而言,CRT模式具有如下特点: 硬件效率:允许同时处理多块明文 / 密文。 软件效率:允许并行计算,可以很好地利用 CPU 流水等并行技术。 预处理:算法和加密盒的输出不依靠明文和密文的输入,因此如果有足够的保证安全的存储器,加密算法将仅仅是一系列异或运算,这将极大地提高吞吐量。 随机访问:第 i 块密文的解密不依赖于第 i-1 块密文,提供很高的随机访问能力 可证明的安全性:能够证明 CTR 至少和其他模式一样安全(CBC, CFB, OFB, ...) 简单性:与其它模式不同,CTR模式仅要求实现加密算法,但不要求实现解密算法。对于 AES 等加/解密本质上不同的算法来说,这种简化是巨大的。 无填充,可以高效地作为流式加密使用。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。