1 / 22
文档名称:

AES加密技术简介.docx

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

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

分享

预览

AES加密技术简介.docx

上传人:changjinlai 2021/6/1 文件大小:48 KB

下载得到文件列表

AES加密技术简介.docx

文档介绍

文档介绍:AES加密技术
2000年10月,NIST (美国国家标准和技术协会)宣布通过从 15 种侯选算法中选出的一项新的密匙加密标准。 Rijndael被选中成为将来
的AES。Rijndael是在1999年下半年,由研究员Joan Daemen 和 Vincent Rijmen创建的。AES正日益成为加密各种形式的电子数据的 实际标准。
美国标准与技术研究院 (NIST)于2002年5月26日制定了 新的高级加密标准(AES)规范。
算法原理
AES算法基于排列和置换运算。排列是对数据重新进行安排,置 换是将一个数据单元替换为另一个。AES使用几种不同的方法来执行 排列和置换运算。
AES是一个迭代的、对称密钥分组的密码,它可以使用128、192 和256位密钥,并且用128位(16字节)分组加密和解密数据。与 公共密钥密码使用密钥对不同, 对称密钥密码使用相同的密钥加密和解 密数据。通过分组密码返回的加密数据的位数与输入数据相同。 迭代加
密使用一个循环结构,在该循环中重复置换和替换输入数据。
AES与3DES的比较
算法
名称
算法类型
密钥长



解密时间(建设
机器每秒尝试
255个密钥)
资源消

AES
对称
128、

1490000 亿年

block 密
192、256


3DES
对称
112位或

46亿年

feistel 密
168位


.html)
关键词:AES算法DES AVR汇编语言加密算法解密算法
引言
随着对称密码的发展,DES数据加密标准算法由于密钥长度较 小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求, 因此1997年NIST公开征集新的数据加密标准,即AES[1]。经过三轮的 筛选,比利时Joan Daeman 和Vincent Rijmen 提交的Rijndael算法被 提议为AES的最终算法。此算法将成为美国新的数据加密标准而被广
泛应用在各个领域中。尽管人们对AES还有不同的看法,但总体说,AES
作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和
灵活等优点。AES设计有三个密钥长度:128,192,256位,相对而言, AES的128密钥比DES的56密钥强1021倍[2]。AES算法主要包括 三个方面:轮变化、圈数和密钥扩展。本文以
128为例,介绍算法的基 本原理;结合AVR汇编语言,实现高级数据加密算法 AES。
AES加密、解密算法原理和 AVR实现
AES是分组密钥,算法输入128位数据,密钥长度也是128 位。用Nr表示对一个数据分组加密的轮数(加密轮数与密钥长度的关 系如表1所列)。每一轮都需要一个与输入分组具有相同长度的扩展密 钥Expandedkey(i)的参与。由于外部输入的加密密钥 K长度有限,所以
在算法中要用一个密钥扩展程序(Keyexpansion)把外部密钥K扩展成 更长的比特串,以生成各轮的加密和解密密钥。
圈变化
AES每一个圈变换由以下三个层组成:
非线性层 进行Subbyte变换;
线行混合层 进行ShiftRow和MixColumn运算;
密钥加层 进行AddRoundKey运算。
①Subbyte变换是作用在状态中每个字节上的一种非线性字节转 换,可以通过计算出来的S盒进行映射。
Schange:
ldi zh, $ 01;将指针指向S盒的首地址
mov zl,r2 ;将要查找的数据作为指针低地址
ldtemp,z+ ;取出这个对应的数据
mov r2,temp ;交换数据完成查表
.
.
.
ret
②ShiftRow是一个字节换位。它将状态中的行按照不同的偏移量
进行循环移位,而这个偏移量也是根据 Nb的不同而选择的[3]。
shiftrow:;这是一个字节换位的子程序
mov temp,r3;因为是 4X4
mov r3,r7; r2 r6 r10 r14 r2 r6 r10 r14
mov r7,r11; r3 r7 r11 r15---r7 r11 r15 r3
mov r11,r15; r4 r8 r12 r17 r12 r17 r4 r8
mov r15,temp; r5 r9 r13 r18 r18 r5 r9 r13
mov temp,r4
mov temp1,r8
mov r4,r12
mov r