ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:261.16KB ,
资源ID:14517931      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14517931.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验1AES算法及其IP核体系结构设计资料文档格式.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验1AES算法及其IP核体系结构设计资料文档格式.docx

1、通过查表可以直接得到SubBytes()的输出,这样可以加快程序执行的速度。如果状态中的一个字节为xy,则S盒中第x行第y列的字节就是SubBytes()的输出。表2-3 S盒变换表Tab.2-3 The table of S-box transformation列 号 y13456789ABCDEF行号x637C777BF26B6FC53001672BFED7AB76CA82C97DFA5947F0ADD4A2AF9CA472C02B7FD9326363FF7CC34A5E5F171D8311504C723C31896059A071280E2EB27B27509832C1A1B6E5AA05

2、23BD6B329E32F8453D100ED20FCB15B6ACBBE394A4C58CFD0EFAAFB434D338545F9027F503C9FA851A3408F929D38F5BCB6DA2110FFF3D2CD0C13EC5F974417C4A77E3D645D197360814FDC222A908846EEB814DE5E0BDBE0323A0A4906245CC2D3AC629195E479E7C8376D8DD54EA96C56F4EA657AAE08BA78252E1CA6B4C6E8DD741F4BBD8B8A703EB5664803F60E613557B986C11

3、D9EE1F8981169D98E949B1E87E9CE5528DF8CA1890DBFE6426841992D0FB054BB16(2)行移位变换 ShiftRows()行移位是将状态阵列的各行进行循环移位,不同状态行的位移量不同。第0行不移位,保持不变,第1行移动C1个字节,第2行移动C2个字节,第3行移动C3个字节。C1,C2,c3值依赖于分组长度Nb的大小。位移量C1、C2和C3与分组长度Nb有关,如下表:表2-4对应于不同分组长度的位移量Tab.3-3 the displacement corresponding to different packet lengthNb在AES加密

4、标准中Nb=4。(3)列混合变换MixColumns() 列混合变换是对一个状态逐列进行变换,它将一个状态的每一列视为有限域GF(28)上的一个多项式。令 则 其中,是AES选择的一个逆元多项式,表示模乘法。将表示为矩阵乘法: (2-3)相乘之后每一列的结果如下:(4)轮密钥加AddRoundKey()变换轮密钥加是将轮密钥简单地与状态矩阵进行逐比特异或运算。每个轮密钥由密钥扩展算法得到,轮密钥的长度为Nb个字。轮密钥按顺序取自扩展密钥ExpandedKey,扩展密钥是由原始密钥经过扩展后得到的,扩展密钥的长度为Nb(Nr+1)个字。1.2 AES的密钥扩展过程AES算法得到初始密钥K后,首先

5、经过一个密钥扩展过程以产生所有的轮密钥。密钥扩展共产生Nb ( Nr+1 )个字,算法初始需要一个Nb个字的集合,接着每个轮操作都需要Nb个字的密钥数据。最终的密钥流程共包含了一个4字节字的线性数组,用wi表示,。扩展密钥程序涉及RotWord()、SubWord()和Rcon()模块。它们的工作方式如下:(1) 位置变换RotWord():把一个4字节的输入序列(a0,a1,a2,a3)循环左移一个字节后输出。例如将(a0,a1,a2,a3)循环左移一个字节后输出为(a1,a2,a3,a0)。(2) SubWord():把一个4字节的输入序列(a0,a1,a2,a3)的每一个字节进行S盒变换

6、,然后作为输出。(3) 变换Rcon:Rcon是一个10个字节的常量数组,Rconi是一个32比特字符串(xi-1,00,00,00)。这里x=(02),xi-1是x=(02)的(i-1)次幂的十六进制表示,即 x0=(01),x=(02),xi=02xi-1。这里“”表示有限域GF(28)中的乘法。密钥扩展前Nk个字就是外部密钥CipherKey,以后的字wi等于它前一个字wi-1与前Nk个字wi-Nk的异或,wi =wi-NkSubWord(RotWord(wi-1)Rconi/Nk。输入密钥扩展的整个过程可以用下面的程序段描述:KeyExpansion(byte key4*NK,word

7、 wNb*(Nr+1),Nk)begin word temp i=0 while (i 6 and i mod Nk = 4) temp = Subword (temp) end if w i = wi - Nk xor temp i = i +1 end2、AES IP核的体系结构设计方案2.1 AES模块框图及外部信号说明图2 AES模块框图表1 AES模块外部信号说明信号名称信号宽度传输方向信号含义clk1位输入时钟信号rst复位信号,1有效。load数据装载使能信号,用于控制输入明/密文、密钥、S盒配置数据等,1有效。address8位寄存器或RAM地址,用于表示明文/密文/密钥寄存器

8、、S盒RAM单元。keyexpen密钥扩展使能信号,1有效。keyexprdy输出密钥扩展完成标识信号,1有效。staenc开始加密使能信号,1有效。stadec开始解密使能信号,1有效。encdecrdy加/解密运算完成标识信号,1有效。din16位输入数据总线,用于输入明/密文、密钥、配置数据等。dout输出数据总线,用于输出加/解密结果。shift结果移位输出使能信号,1有效。有效时,每个时钟周期移位输出16位结果。2.2 AES模块体系结构AES模块包括明/密文和密钥寄存器、密钥扩展、加/解密运算、控制等多个子模块,其系统结构图如下图所示。图3 AES模块系统结构图每个子模块的功能如下

9、:1.明文/密文/密钥寄存器的功能:在时钟信号clk的上升沿,若寄存器写使能信号write有效,则将输入数据总线din上的16位数据写入明文/密文/密钥寄存器的高16位,同时将寄存器原来的数据右移16位放入寄存器的低112位。若寄存器写使能信号write无效,则寄存器保持原来的数据不变。由此可见,1个128位的数据需要经过8个时钟周期,通过8次写操作才能装入寄存器。 2.密钥扩展模块的功能:AES算法首先得到初始密钥K后,执行一个密钥扩展程序以产生所有的轮密钥。密钥扩展共产生Nb ( Nr+1 )个32bit字,算法初始需要一个Nb个32bit字的集合,接着每个轮操作都需要Nb个32bit字的密钥数据。3.加密/解密模块的功能:实现AES加密和解密。 AES加密过程由一个初始密钥

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1