江苏大学
学院 计算机学院
专业 信息安全0902
姓名 ***
学号 3090604035
小组成员 *******
AES对称加密算法实现
一.AES对称加密算法实现原理
AES(The Advanced Encryption Standard)接受一个128位的明文,并且在一个128、192或者256位秘密密钥的控制下产生一个128位的密文。它是一个替代-置换网络的设计,并且带有一个称作轮(rand)的步骤的集合,其中轮数可以是9、11或者13(取决于密钥的长度),这样可以将明文映射为密文。
AES实际上能定义为在域GF(2)的元素上的一系列标量的运算。它实质上是在整数模2所组成的域,但是它扩展到了多项式域GF(2)[x]中。为了构造一个域,需要使用一个能够不被任何一个具有相同底GF(2)的度数更小的多项式整除的多项式,在AES中选择了v(x)= x^8 + x^4 + x^3 + x + 1。用整数存储时,它表示值0x11B。域中的加法是一个简单异或(xor)操作。乘法就是乘以其他的多项式。一个单元a的乘法逆元是另一个单元b,使得ab模AES的多项式和多项式p(x)=1是同余的。a(x)=0的逆是它本身。
二.AES对称加密算法实现过程
AES 算法是分组密码算法,它的输入分组、输出分组以及加/ 解密过程中的中间分组都是128比特。(对称密码算法根据对明文消息加密方式的不同可分为两大类,即分组密码和流密码。分组密码将消息分为固定长度的分组,输出的密文分组通常与输入的明文分组长度相同。)
1、AES 的加密与解密框图如图所示
(1) 加密变换
设X是AES 的128 比特明文输入,Y是128 比特的密文输出,则AES 密文Y可以用下面的复合变换表示: Y= Ak(r + 1)·R·S·Akr·C·R·S·Ak(r21)·?·C·R·S·Ak1 (X)其中“·”表示复合运算。这里Aki :表示对X 的一个变换Aki (X) = XÝ Ki (Ki 为第i 轮的子密钥,为比特串的异或运算) 。S:S 盒置换。即对每一个字节用S2Box 做一个置换。S2Box 是一个给定的转换表。R: 行置换。C: 列置换。
s′(x) = a (x) á s (x)
这里á 是特殊的乘法运算
(2) 解密变换
解密变换是加密变换的逆变换。
2、AES(128bits密钥)加密解密流程如下图所示
若一个程序或者两个程序之间没有前后的依赖关系(即一个运算的输入与另一个运算的输出无关),则在具有多个处理器的条件下这些运算可以在同一时间段并行运行。AES算法中的绝大多数运算都是基于state上进行的,而state可以表示为一个四行,Nb列的矩阵,算法的变换都是独立作用于state的字节、行或者列无关,所以可以将变换对state的运算分割成对state的每个字节、行或列的并行运算。字节替换是独立作用在每个状态字节上的。假设做一次S盒替换需要一个时间单位,串行模式下需要4Nb个时间单位,但在并行模式下这些S盒替代可以在一个时间单位内进行,并行模式速度是穿行模式速度的4Nb倍;位移变换是作用在独立的行上的,若对一行做一次移位操作占用一个单位时间,串行模式下需用3个单位时间,并行模式下只用一个单位时间,是串行模速度的3倍;列变换独立作用在state的每一列上,若对一列做一次需一个单位时间,速度是串行模式的Nb倍;密钥系统是作用在每个独立字节上的,若对一个字节进行操作需用一个单位时间,则在串行模式下密钥变换需要4Nb个单位时间,并行模式下只需要一个单位时间,速度是串行模式的4Nb倍。
六.分析与总结
AES算法流程主要有三个大的模块,即密钥扩展模块、加密模块和解密模块。密钥扩展模块由产生加密密钥的模块和解密密钥的模块组成;加、解密模块均由AddRoundkey模块、轮函数模块、FinalRound变换模块组成,其中最重要的是轮函数模块,它是AES算法的核心模块。
通过这次课程设计,更加清晰的了解了AES算法,同时也熟悉了C++编程,由于是和同学合作完成,使用C++的封装性很重要,一个好的类既安全又代码效率高,可以减少大量重复的劳动,所以这次也算C++的练习吧。不过这次课设还是存在不足的,比如加密结果是乱码,这一问题尚未解决,有待进一步学习。
2012.06.20
《现代密码学》实验报告
信息安全实验报告学号学生姓名班级实验三密码学实验一古典密码算法实验一实验目的通过编程实现替代密码算法和置换密码算法加深对古典密码体…
密码学与网络安全技术课程上机报告学号119xx4339姓名许海龙班级网112班教师卫琳娜安徽工业大学密码学实验一古典密码算法实验一…
密码学实验报告学院计算机科学与技术班级学号姓名指导老师实验日志实验题目DES或AES分组密码实验目的熟悉分组密码加解密算法的基本原…
密码学实验报告实验一DES加密算法实验一实验目的理解对称加解密算法的原理和特点理解DES算法的加解密原理二实验背景DES算法为密码…
江苏大学学院专业姓名学号计算机学院信息安全09023090604035小组成员AES对称加密算法实现一AES对称加密算法实现原理A…
二简易密码控制装置1功能简述设计并制作一个具有读秒显示功能的密码控制器输入正确的密码后开始读秒到达规定的秒数后关闭待控制单元密码控…
信息安全实验报告学号学生姓名班级实验三密码学实验一古典密码算法实验一实验目的通过编程实现替代密码算法和置换密码算法加深对古典密码体…
密码学实验报告实验一DES加密算法实验一实验目的理解对称加解密算法的原理和特点理解DES算法的加解密原理二实验背景DES算法为密码…
密码学与网络安全技术课程上机报告学号119xx4339姓名许海龙班级网112班教师卫琳娜安徽工业大学密码学实验一古典密码算法实验一…
哈尔滨工程大学实验报告实验名称RC4加密班级学号姓名实验时间20xx615成绩指导教师实验室名称哈尔滨工程大学实验室与资产管理处制…
网络与信息安全IntroductiontoNetworkandSecurityDES加密解密算法的C实现姓名学号学院20xx年10…