高级加密标准(AES)

高级加密标准(AES)

ID:39870527

大小:260.50 KB

页数:37页

时间:2019-07-13

高级加密标准(AES)_第1页
高级加密标准(AES)_第2页
高级加密标准(AES)_第3页
高级加密标准(AES)_第4页
高级加密标准(AES)_第5页
资源描述:

《高级加密标准(AES)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章高级加密标准(AES)AES的起源AES的设计原则AES算法描述1.AES的起源1997年9月,NIST征集AES方案,以替代DES。1999年8月,以下5个方案成为最终候选方案:MARS,RC6,Rijndael,Serpent,Twofish。2000年10月,由比利时的JoanDaemen和VincentRijmen提出的算法最终胜出。(Rijndael读成RainDoll。)http://www.esat.kuleuven.ac.be/~rijmen/rijndael/2.AES的设计原则能抵抗所有已知的攻击;在各种平台上易于实现,速度快;设计简单。Rijndae

2、l是一个分组密码算法,其分组长度和密钥长度相互独立,都可以改变。分组长度(bit)128192256密钥长度(bit)128192256表1.分组长度和密钥长度的不同取值3.AES算法的一般描述RijndaelRound的构成ByteSubstitutionByteRotationMixColumn+RoundKey一般的轮变换ByteSubstitutionByteRotation+RoundKey最后一轮的轮变换3.AES算法加密部分的实现明文分组和密钥的组织排列方式01234567891011121314150481215913261014371115Fig1.以明文分组

3、为128bits为例组成的阵列048121591326101437111504812162015913172126101418223711151923048121620242815913172125292610141822263037111519232731Fig2.以明文分组(或密钥)为128bits、192bits、256bits为例组成的阵列一些相关的的术语定义和表示状态(State):密码运算的中间结果称为状态。State的表示:状态用以字节为基本构成元素的矩阵阵列来表示,该阵列有4行,列数记为Nb。Nb=分组长度(bits)÷32Nb可以取的值为4,6,8,对应的分组

4、长度为128,192,256bits。密码密钥(CipherKey)的表示:CipherKey类似地用一个4行的矩阵阵列来表示,列数记为Nk。Nk=密钥长度(bits)÷32Nk可以取的值为4,6,8,对应的密钥长度为128,192,256bits。Fig3.当Nb=6时的状态和Nk=4时的密钥布局a0,0a0,1a0,2a0,3a0,4a0,5a1,0a1,1a1,2a1,3a1,4a1,5a2,0a2,1a2,2a2,3a2,4a2,5a3,0a3,1a3,2a3,3a3,4a3,5Nb=6BlockLength=192bitsK0,0K0,1K0,2K0,3K1,0K1,

5、1K1,2K1,3K2,0K2,1K2,2K2,3K3,0K3,1K3,2K3,3Nk=4KeyLength=128bitsFig4.分组长度和密钥长度均为128bits时的Rijndael加密算法框图Data/KeyAdditionRnd0Rnd1Rnd8FinalRndKeyScheduleCipherTextKeyPlainText表2.轮数(Round)的不同取值轮数(Round)BlockLength=128BlockLength=192BlockLength=256KeyLength=128101214KeyLength=192121214KeyLength=256

6、141414用伪代码表示的Rijndael轮变换一般的轮变换Round(State,RoundKey){ByteSubstitution;ByteRotation;MixColumn;AddRounKey;}结尾轮变换FinalRound(State,RoundKey){ByteSubstituion;ByteRotation;AddRoundKey;}ByteSubstitution(字节替代)ByteSubstitution是一个非线性的字节替代,独立地在每个状态字节上进行运算。它包括两个变换。1.在有限域GF(28)上求乘法逆,‘00’映射到它自身。2.在GF(2)上进行

7、下面的仿射变换:y011111000x00y101111100x11y200111110x21y300011111x30y4=10001111x4+0y511000111x50y611100011x61y711110001x71Fig6.ByteSubstitution该变换可以用一个256字节的表来实现B0,0B0,1B0,2B0,3B1,0B1,1B1,2B1,3B2,0B2,1B2,2B2,3B3,0B3,1B3,2B3,3A0,0A0,1A0,2A0,3A1,0A1,1A1,2A1,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。