1 / 14
文档名称:

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

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

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

分享

预览

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

上传人:changjinlai 2017/5/21 文件大小:105 KB

下载得到文件列表

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

文档介绍

文档介绍:基于 ARM 嵌入式系统的 AES 加密算法实现( 图文) 论文导读:本文使用的是南京博芯电子技术有限公司研制的 GD02 嵌入式系统实验开发平台, GD02 采用当前流行的 ARM7TDMI 核 32 位嵌入式处理器,在 集成开发环境下,通过移植μC/OS-II 实时操作系统, 建立并编译 AES 汇编文件, 根据 ARM 的编程特点, 高效的实现了高级加密标准 AE S 算法。将µC/OS-I I 移植到 ARM 处理器上,需要完成的工作也非常简单,只需要修改三个( 文件、 文件和 文件)和 ARM 体系结构相关的文件即可,即它的移植代码结构图如图 5 所示。关键词: AES , ARM , μC/OS-II ,高级加密 1. 引言随着计算机运算能力的飞速发展,以及互联网所带来的巨大并行计算能力, DES 的安全性日显脆弱。 AES 的基本要求是比三重 DES 快且至少与三重 DES 一样安全,分组长度为 128 比特, 密钥长度为 128 , 192 和 256 比特可选。 AE S 作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点[1] 。随着信息化、智能化、网络化的发展,嵌入式技术得到了广泛的发展空间, 嵌入式系统作为计算机硬件和软件的综合体, 它的技术开发和人们的生活越来越紧密结合, 所以嵌入式系统的信息安全性显得尤为重要。本文使用的是南京博芯电子技术有限公司研制的 GD02 嵌入式系统实验开发平台, GD02 采用当前流行的 ARM7TDMI 核 32 位嵌入式处理器,在 ARM ADS1. 2 集成开发环境下, 通过移植μC/OS-I I 实时操作系统, 建立并编译 AES 汇编文件, 根据 ARM 的编程特点,高效的实现了高级加密标准 AES 算法。 算法原理 AES 是一个迭代的、对称密钥分组的密码,它可以使用的三种密钥长度对应的加密轮数 Nr 分别为 10、 12、 14, 并且用 128 位分组加密和解密数据[3] 。本文介绍的密钥长度三种都可选。加密的每一轮由三层组成:非线性层,由 16 个S -盒并置而成, 进行 Subbyte () 运算, 起到混淆的作用; 线性混合层, 进行 ShiftRow () 运算和 Mixcolumn () 运算, 确保多轮之上的高度扩散;密钥加层,进行 AddRoundKey () 运算, 子密钥简单的异或到中间状态上[2] 。其加密和解密算法原理流程图如图 1 所示: 图1 AES 加密和解密流程由图可知,解密是加密的逆过程,所以本文主要介绍 AE 加密过程。 加密在加密初始, 首先用 128 位数据分组, 然后进行子密钥加,具体加密流程的用 C 伪码表示如下: Cipher(bytein[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)]) begin byte state[4,Nb] state=in AddRoundkey(state,w[0,Nb-1]) for round=1 step 1to Nr-1 SubBytes(state) ShiftRows(state) MixColumns(state) AddRoundkey(state,w[round*Nb, (round+1 )*Nb-1]) enf for SubBytes(state) ShiftRows(state) AddRoundkey(stae,w[Nr*Nb,(Nr+1)*Nb-1]) out=state end 在加密流程中, 分别运用了 SubBytes ()、 ShiftRows ()、 MixColumns ()和 AddRoundkey () 等四个独立的变换,对状态矩阵进行了处理。 ()变换 SubBytes ()变换即 S -盒运算,是将每个字节通过 S -盒(如表 1 所示)做非线性运算。 S -盒选取的是有限域 GF(28) 中的乘法逆运算。 GF(28) 中的乘法(以表示)是多项式的模 2 乘积通过免去进位, 再模一个次数为 8 的不可约多项式约化得到。免费论文。 S- 盒是可逆转的,它通过两步变换得到:表1S 盒的十六进制表示(1) 在有限域 GF 位中求得乘逆,其中‘00’ 的逆就是它本身。免费论文。(2) 运用下面的仿射变换(GF(2) 中): 用矩阵形式表示,仿射变换结果如下: =+ ()变换 ShiftRows () 变换是进行行变换, 即对 State 矩阵进行移位操作, 第一行不变, 第二行