APP下载

基于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查看全文