基于AES和ECC的混合加密系统的设计与实现
2012-07-13王红珍李竹林
电子设计工程 2012年4期
王红珍 , 李竹林
(1.延安大学 计算机学院,陕西 延安 716000;2.延安大学 软件研究与开发中心,陕西 延安 716000)
由于对称加密算法运行速度快,加密强度高,但是密钥管理困难;而公钥加密算法密钥管理简单方便,加密强度高,但是算法运算量大导致运行速度慢,因此文中采用对称加密算法AES加(解)密文件级别的大批量数据,而用公钥加密算法ECC来加密AES密钥和其它数据量少但安全要求高的数据,两种加密方法的结合,有效地提高了加密效率,更重要的是它可以大大提高AES密钥管理上的安全性。
1 AES加密算法的设计方案
AES算法的结构紧凑、规整,每轮变换也基本一致所以易于用软件或是硬件实现,因此具有良好的实现性[1]。AES具体的加(解)密过程如下:
1)加密过程
AES加密由以下步骤组成:
①初始轮加密;
②Nr-1轮加密;
③第Nr轮加密;
用类C语言描述为:
void Cipher( ) //加密算法

2)解密过程
解密过程和加密过程具有同样的变换结构,用到的算法都是加密过程中用到的算法的逆算法。
AES加(解)密实现的思路:将需要加(解)密的文件读入内存,每次依次顺序截取其中的128 bit分组进行处理称为一个状态(State),一个状态是一个字节矩阵,矩阵中的每个元素都是一个字节,这个状态阵列在每一层加密或解密时都进行修改,每次分组加(解)密的结果依次顺序写入保存处理结果的文件缓冲区,直到整个文件处理完为止,当文件处理完毕后将文件缓冲区结果保存到磁盘或发送出去[2]。
2 ECC加密算法的设计方案
2.1 椭圆曲线的选取
在椭圆曲线密码系统中,曲线的选取是影响系统安全性的决定因素。……
登录APP查看全文
