1 / 3
文档名称:

AES加密算法原理.pdf

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

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

分享

预览

AES加密算法原理.pdf

上传人:小sjj 2022/7/23 文件大小:271 KB

下载得到文件列表

AES加密算法原理.pdf

相关文档

文档介绍

文档介绍:AES 加密算法原理
随着对称密码的发展,DES 数据加密标准算法由于密钥长度较小(56 位),已经不适应当今分布
式开放网络对数据加密安全性的要求,因此 AES 加密算法原理
随着对称密码的发展,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 是分组密钥,算法输入 128 位数据,密钥长度也是 128 位。用 Nr 表示对一个数据分
组加密的轮数(加密轮数与密钥长度的关系如表 1 所列)。每一轮都需要一个与输入分组具
有相同长度的展密钥扩 Expandedkey(i)的参与。由于外部输入的加密密钥 K 长度有限,所以
在算法中要用一个密钥展扩 程序 (Keyexpansion)把外部密钥 K 展成扩 更长的比特串 ,以生成
各轮的加密和解密密钥。
圈变化
AES 每一个圈变换由以下三个层组成:
非线性层——进行 Subbyte 变换;
线行混合层——进行 ShiftRow 和 MixColumn 运算;
密钥加层——进行 AddRoundKey 运算。
① Subbyte 变换是作用在状态中每个字节上的一种非线性字节转换,可以通过计算出来的 S
盒进行映射。

② ShiftRow 是一个字节换位。它将状态中的行按照不同的偏移量进行循环移位,而这个偏
移量也是根据 Nb 的不同而选择的[3]。

③ 在 MixColumn 变换中,把状态中的每一列看作 GF(28)上的多项式 a(x)与固定多项式 c(