推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

AES加密算法的实现及应用

更新时间:2019-12-24 20:02:26 大小:601K 上传用户:xuzhen1查看TA发布的资源 标签:AES加密算法 下载积分:0分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

摘要:AES加密算法具有安全性高,运行速度换,对硬件配置要求低,算法属于对称算法等优点,非常适合硬件的实现。课题对于AES加密算法进行改进,提高程序运行效率进行了研究。研究主要包括AES加密算法的改进,C语言实现,以及完成对数据流的加密和解密过程,同时对AES加密算法的应用进行了简单介绍。

关键词:AESC语言加密

前言:AES加密算法作为DES加密算法的替代品,具有安全、高效以及在不同硬件和软件[6]运行环境下表现出的始终如一的良好性能,因此该算法具有较高的开发潜力和良好的实用价值。本研究主要包括AES加密算法的改进,C语言实现,以及完成对数据流的加密和解密过程,同时对AES加密算法的应用进行了简单介绍。

AES加密算法主要分为三大块[9],即密钥扩展,数据加密和数据解密。

(一)密钥扩展

(1)使用RotwordO函数对数组中的数字实现循环左移一位的运算,即将数组中左端第一个数字移至数组的末端,而原来在它之后的数字依次前移一位。要说明的是,由于数组中的4个数字已经合并为一个数字,因此在程序的实际执行过程中并不是做数纽的循环左移运算,而是进行数字的循环移位运算,这样一来便大大简化了运算过程,对运算效率有一定程度的提高。

(2)使用SubWord()函数依据S置换表对4个数字进行置换,规则如下。例如,有一个数字为0x2a,则在表1·1中查找2’行‘a’列的数字,得到数字e5,则该数字即是数字0x2a的置换数字,此函数的C语言实现相对简单,只是一个查表的问题,但过程比较繁项细碎,编成时应仔细对待,避免山错。

(二)数据加密

(1)使用SubByte()函数依据S置换表对状态矩阵State[4][4]中的数字进行置换,查表的方法在前文已经介绍,这里不再赘述。有一点需要注意的是,虽然SubByte()函数与SubWord()函数原理相同,但在程序中的运算过程却不尽相同。SubByte()函数是提取状态矩阵State[4][]中的每一个数组元素进行置换运算,而SubWord()则是提取一个unsigned long整型数字中的某8位数据进行置换运算。SubByte)函数的C语言实现与SubWord()的C语言实现雷同,这里也不再赘述。


部分文件列表

文件名 大小
AES加密算法的实现及应用.pdf 601K

部分页面预览

(完整内容请下载后查看)

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载