1 / 14
文档名称:

基于ARM嵌入式系统的AES加密算法实现(图文).docx

格式:docx   大小:15KB   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于ARM嵌入式系统的AES加密算法实现(图文).docx

上传人:仅仅三声 2022/2/21 文件大小:15 KB

下载得到文件列表

基于ARM嵌入式系统的AES加密算法实现(图文).docx

相关文档

文档介绍

文档介绍:精品范文模板 可修改删除

免责声明:图文来源于网络搜集,版权归原作者所以
若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
撰写人:___________日 期:__________品范文模板 可修改删除

免责声明:图文来源于网络搜集,版权归原作者所以
若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
表1 S盒的十六进制表示
(1)在有限域GF位中求得乘逆,其中‘00’的逆就是它本身。免费论文。
(2)运用下面的仿射变换(GF(2)中):
用矩阵形式表示,仿射变换结果如下:
=+
()变换
ShiftRows()变换是进行行变换,即对State矩阵进行移位操作,第一行不变,第二行循环左移一位,第三行循环左移两位,第四行循环左移三位。具体如下图2表示:
图2 ShiftRows()变换
()变换
MixColumns()运算是把状态中的每一列看作GF(2 8)上的多项式与一固定多项式相乘然后模多项式,根据矩阵的乘法运算,设,可得到:
因此一列中的四个字节替换如图3所示:
图3 MixColumns()变换
精品范文模板 可修改删除

免责声明:图文来源于网络搜集,版权归原作者所以
若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
()变换
AddRoundKey()变换是与扩展密钥的异或运算,即根据加密的轮数用相应的扩展密钥的四个数据项和中间状态矩阵上的列进行按位异或:
具体如图4所示:
图4 AddRoundKey()变换

密钥扩展算法首先利用初始密钥产生出加密所需要的所有密钥,然后对该密钥序列中的除第一个和最后一个字外的密钥字进行逆列混合处理,得到解密过程所需要的所有密钥。
密钥扩展总共产生Nb(Nr + 1)个双字:算法初始需要一个Nb个双字的集合,接着每个轮操作都需要Nb个双字的密钥数据,最终的密钥流程共包含了一个4字节双字的线性数组w[i]。

-II操作系统的移植及初始化
所谓移植,就是使一个实时内核能在微处理器或微控制器上运行。μC/OS-II是一种免费但性能稳定的实时操作系统,它是为嵌入式应用而设计的,它的绝大部分代码是用C语言编写的,CPU硬件相关部分是用汇编语言编写的,总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。免费论文。用户只要有标准的ANSI 的C交叉编译器[4],有汇编器、连接器等软件工具,就可以将µC/OS-II嵌人到开发的产品中。它的特点是内核微小,结构清晰,具有良好的扩展性[5]。
精品范文模板 可修改删除

免责声明:图文来源于网络搜集,版权归原作者所以
若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
µC/OS-II实际上可以简单地看作是一个多任务的调度器,它的90%的代码都是用C语言写的,所以只要有相应的C语言编译器,基本上就可以直接移植到特定处理器上。移植工作的绝大部分都集中在多任务切换的实现上,因为这部分代码主要是用来保存和恢复处理器现场,因此不能用C语言,只能使用特定的处理器汇编语言完成。将µC/OS-II移植到ARM 处理器上,需要完成的工作也非常简单,只需要修改三个(、)和ARM 体系结构相关的文件即可,即它的移植代码结构图如图5所示。
µC/OS-II操作系统的初始化的主要代码都在C语言编写的main()函数里。main函数是从汇编跳入C代码中的第一个函数,它首先通过固件函数初始化(FirmInit)SEP3203芯片,主要完成PMU和中断的初始化。然后调用OSInit用以完成操作系统的初始化工作,最后以OSStart 开始操作系统运行。
图5 移植代码结构图

AES的加密实现的AESEncrypt汇编源程序结构如下:
AREA AESEncrypt,CODE, READONLY
定义代码段
ENTRY 程序入口
START
精品范文模板 可修改删除

免责声明:图文来源于网络搜集,版权归原作者所以
若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
MOVR0,#0;
LDRR1,=State; 取状