1 / 10
文档名称:

AES算法加解密原理及安全性解读.doc

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

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

分享

预览

AES算法加解密原理及安全性解读.doc

上传人:s0012230 2016/6/8 文件大小:0 KB

下载得到文件列表

AES算法加解密原理及安全性解读.doc

文档介绍

文档介绍:AES 算法加解密原理及安全性分析刘帅卿一、 AES 算法简介 AES 算法是高级加密标准算法的简称,其英文名称为 Advanced Encryption Standard 。该加密标准的出现是因为随着对称密码的发展,以前使用的 DES ( Data Encryption Standard 数据加密标准) 算法由于密钥长度较小(56 位), 已经不适应当今数据加密安全性的要求,因此后来由 Joan Daeman 和 Vincent Rijmen 提交的 Rijndael 算法被提议为 AES 的最终算法。 AES 是一个迭代的、对称密钥分组的密码,它可以使用 128 、192 和256 位密钥,并且用 128 位(16 字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations) 和替换(substitutions) 输入数据。加之算法本身复杂的加密过程使得该算法成为数据加密领域的主流。二、 AES 算法的基本概念 1 、有限域( GF ) 由于 AES 算法中的所有运算都是在有限域当中进行的,所以在理解和实现该算法之前先得打好有限域这一基石才行。通常的数学运算都是在实数域中进行,而 AES 算法则是在有限域中进行,我们可以将有限域看成是有确定边界范围的正整数集合,在该集合当中,任意两个元素之间的运算结果都仍然落在该集合当中,也即满足运算封闭性。那么如何才能保证这样的“有限性”(也即封闭性)呢? GF (2w )被称之为伽罗华域,是有限域的典型代表。随着 w( =4,8,16, …) 的取值不同所形成的有限域范围也不同。 AES 算法中引入了 GF 域当中对数学运算的基本定义:将两数的加减法定义为两者的异或运算;将两数的乘法定义为多项式间的相乘并求余运算,其中被用于求余运算的除数被称为不可约多项式(或者称为求余多项式), 它是固定的一个多项式: m(x) = 8 4 3 1 x x x x ? ???(数值为十六进制的 11B ,这里是假定 w=8 时的情形)。对于某个有限域而言,可能存在不唯一的不可约多项式,选择合适的多项式是某种算法考虑的主要因素之一。 2 、状态矩阵和密钥矩阵状态矩阵是指将要被加密的若干数据所形成的矩阵,我们暂且用 state_matrix 来表示;而密钥矩阵则是指密钥数据所形成的矩阵,我们暂且用 cipher_matrix 来表示。随着输入数据个数的不同,这两个矩阵的维数可以为 4 4, 4 6 4 8 ? ? ?或者;例如如果输入的被加密数据为 24 个字符(此处假定是以字符为数据单位进行加密,当然也可以是以一个整数为单位等进行加密) ,输入的密钥数据为 16 个字符(假设与上同) ,那么可以形成一个 4 6 ?维的 state_matri x 矩阵和一个 4 4 ?维的 cipher_matrix 矩阵。可见形成的矩阵的行数是固定的,都为4。因为矩阵的形成是以每 4个数据为一列依次构成,所以随着数据的增加只会增加其列数而不会影响其行数。并且我们用 Nb 表示被加密数据矩阵( state_matrix 矩阵)的列数,用 Nk 表示密钥数据矩阵(