(教案)高级加密标准AES.ppt_第1页
(教案)高级加密标准AES.ppt_第2页
(教案)高级加密标准AES.ppt_第3页
(教案)高级加密标准AES.ppt_第4页
(教案)高级加密标准AES.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、自1977年颁布以来,高级数据标准(AES)、高级数据标准(AES)和数据交换标准(DES)的由来已久。1997年,美国国家标准与技术研究所的NIST向密码学家提出了一个名为AES候选算法的新数据加密标准。NIST规定候选算法必须满足以下要求:1)密码必须没有秘密级别,并且决不能像商业密码一样。2)必须公开算法的所有描述。3)密码必须在全球范围内免费提供。4)加密系统支持至少128位长的数据包。5)密码支持的密钥长度至少为128位、192位和256位。6)安全性不低于3des。有15个候选算法。1998年8月20日,NIST召开了第一次候选人会议,公布了15个候选算法。1999年8月9日,NI

2、ST宣布已经为第二轮选择选择了5个候选算法,它们是火星算法、RC6算法、毒蛇算法、双鱼算法和Rijndael算法。2000年10月2日,由比利时的琼达曼和文森特里杰曼设计的里杰内尔数据加密算法最终胜出。Rijndael算法AES算法,在Rijndael算法中,包长度和密钥长度可以分别指定为128位、192位和256位。在AES高级加密标准中,密钥长度可以使用三个中的任何一个,但数据包长度只能是128位。算法的许多参数都与密钥长度有关:AES,数据包长度只能是128位。密钥长度可以分别指定为128位、192位和256位。AES的生命,AES相关的数学概念,AES使用有限域理论代数系统给出一个集合

3、,集合上的闭运算构成一个代数系统。例如,代数系统中的运算可以是一个或多个。群是具有一个二元运算的代数系统。环和域是具有两个二元运算的代数系统,即群、环、有限域、半群群、交换半群环,它们可以与单位元和逆结合,也可以与可交换的单位元和逆结合。对于分布律、域和进一步的限制,没有零,并且单位元素(整环)具有乘法逆(。元素数目有限的域、环和域是具有两个二进制运算的代数系统,分别称为“加法”和“乘法”。有理数、实数集上的加法和乘法形成环,但不是整数,为什么?有限域,也叫伽罗瓦域,是法国数学家伽罗瓦(1811-1832)在1830年证明五次方程不可解时首次提出的。他的“伽罗瓦域”和“伽罗瓦理论”是现代代数研

4、究中的重要课题。伽罗瓦的工作是19世纪数学上最杰出的成就之一,伽罗瓦理论是代数的发展。代数研究的中心问题是寻找代数方程的根。伽罗瓦之后,代数的中心逐渐转移到代数系统的结构和分类,如群、环和域,代数进入了现代代数阶段。有限域理论在密码学中有着重要的应用。数学家伽罗瓦介绍,伽罗瓦,E(伽罗瓦,伊娃里斯特)早在19世纪末1811年至1832年就解决了方程。早在古巴比伦时代,人们就解决了二次方程。在许多情况下,求解方法相当于给出解的公式。但直到9世纪,我们才有意识、有系统地研究了二次方程的通解,并得到了通解的公式。三次和四次方程的解直到16世纪上半叶才获得。从那以后,数学家们已经不止五次转向解方程。伽

5、罗瓦用群论彻底解决了根形式的代数方程的求解问题,发展了一整套关于群和域的理论,为纪念他,称之为伽罗瓦理论。一个域的概念域由一个非空集F组成,其中定义了两个二元运算符:“”和“”,满足以下要求:该域表示为F、和两个定义:有限域:如果域中的元素是有限的,则称之为有限域的阶;有限域中的元素数称为有限域的阶,域的本质是它可以加在其上。例如,有理数集、实数集和复数集都是字段,但整数集不是(只有1,-1有乘法逆)。有限域的两个定理是密码学中常用的,如素数域GF(p)或2m阶域GF(2m)。定理:每个有限域的阶数必须是素数的幂,而GF()是有限域中加法、乘法、模数的加法。1*1mod5=1 2*3mod5=

6、1 4*4mod5=1,有限域GF(2m),GF(2m)表示有限域的顺序(元素数)为2m,其中元素通常用长度为m的二进制字符串表示为GF(2m)(am-1,am-2,a1,a0),其中ai0,a1,A0)。使用有限域GF(28),并且AES对有限域GF(28)上的元素采用多项式表达式:由b7b6b5b4b3b2b1b0组成的字节b可以表示为系数为0,1的二进制多项式。b7x 7 b 6 b5x 5 B4 x4 b3x 3 b2x 2 b1x 1b 0,GF(28)上的加法定义为二进制多项式的加法,相当于按位异或运算。11=0 00=0 10=1 01=1,GF(28)上的乘法,(0111001

7、1)(10010101)=?Mod,GF(28)上的乘法,GF(28)上的乘法被定义为一个不可约的8次二进制多项式,它是m(x)=x8 x4 x3 x 1:什么是不可约多项式:当且仅当f(x)不能被表示为两个多项式的乘积(两个多项式都在F(x)之上)在世界上被称为一个不可约多项式,它也被称为一个素数多项式。m(x)=x8 x4 x3 x 1是GF(28)中的不可约多项式,它是次的不可约多项式之一。乘法“,”是一种常见的多项式乘法,但系数运算可视为位乘法和异或运算,即字段0,73*95=(01110011)(10010101),so,(01110011)(10010101)(0110000),G

8、F(28)上的乘法示例,定义4:在GF(28)中,写入b-1(x) a(x)b(x)modm(x)=1,AES算法:在Rijndael算法中,数据包长度和密钥长度可以指定为128位,128位字节而不是子字节列混淆了混合列循环密钥加加循环密钥行移位行“三个替换加一个换位”,加密和解密AES(以密钥为128为例),输入包和输出1个算法,包是128位,循环数是10,2,AES结构不是Feistel结构,但每一个包在每一轮中并行处理。3密钥长度为128位。扩展键的长度为44个单词,每轮使用一个4个单词的循环键;该结构由四个不同的阶段组成;字节替换:取代字节行移位;柱混合;轮密钥加密:当前数据包和扩展密

9、钥的最后一轮逐位异或5加密和解密只包括三个阶段。在AES数据结构1中,输入分组由以字节为单位的方阵来描述,并且分组被复制到状态数组,该数组将在加密和解密的每个阶段中改变。最后,状态作为输出密文被复制到输出矩阵。请注意,矩阵中的字节顺序是从上到下,从左到右。128位分组的前4个字节按顺序放在输入矩阵的第一列,接下来的4个字节放在第二列。AES数据结构中的2,128位密钥也用字节矩阵来描述。通过扩展算法将该密钥扩展到单词中的一个密钥序列,最后扩展到一个44单词的序列。AES的加密过程包括字节替换、行移位、列混合和轮密钥添加,共进行10轮。转换1:字节替换子字节,它可以通过表查找操作获得。AES定义

10、了一个S盒,它是一个由16*16字节组成的矩阵,包含256个由8位值表示的可能转换。状态中的每个字节被映射到一个新字节,如下所示:字节的高4位是S框的行号,低4位是列值,然后对应于S框中的行和列的元素被取出作为输出。子字节变换的本质实际上是对有限域GF(28)的运算,它由两个步骤组成:(1)在GF(28)上寻找乘法逆:将S盒中的每个字节映射为它在有限域GF(28)中的逆;00映射到自身。定义:GF(28)上二进制多项式b(x)的乘法逆是满足以下等式的二进制多项式a(x),其被表示为b-1(x) a(x)b(x)modm(x)=1。仿射变换:S框中的每个字节表示为x7x6x5x4x3x2x1x0

11、,如下所示,用二进制表示为10001010。替换结果是00101010,即2a,这与先前的表查找结果相同。反向字节变换(反向S盒),变换2:行移位变换,状态的第一行不变,第二行向左移动一个字节,第三行向左移动两个字节,第四行向左移动三个字节。例如,参见P114。变换3:对每一列独立执行的列混合变换,还涉及对GF(28)的加法和乘法运算,02 * D4 03 * BF 52状态=04,02 * D4=0000010 * 110100=101001 0011011=101111。例如,参见P117。AES密钥扩展算法1。AES密钥扩展算法的输入值是4字(128位,16字节)密钥,输出是44字(176字节),为10轮中的每一轮提供4字轮密钥。在AES密钥扩展算法2中,输入密钥被直接复制到扩展

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论