基于FPGA的高速和资源节约型数据加密算法设计.pdf-FPGA CPLD资料源码分享论坛-FPGA CPLD-ChipDebug

基于FPGA的高速和资源节约型数据加密算法设计.pdf

高速和资源节约型数据加密算法设计

贺刚 赵红言

(空军工程大学 ,陕西西安 710051)

来源:微计算机信息

摘要 介绍了 3DES 数据加密算法(DDA)的原理,针对利用 FPGA 硬件实现 3DES 算法,给出

了一种可进化 IP 核的具体设计思想,采用可重构电路节省器件内部资源,并采用有限状态机设计

技术从而实现数据高速安全传输。本设计是在 ALTERA 公司的 Quartus II 环境下实现的,并成功

下载到支持电路部分重构的 Xilinx Virtex II 系列器件中的 XC2V1500 芯片中。

关键词 可进化 IP 核 3DES FPGA 有限状态机

中图分类号:TP271+.5 文献标识号:A

The design of DDA on adaptive IP core and FSM

HeGang zhao hong-yan

(Airforce Engineering University, xi’ an, Shaanxi 710051,China)

Abstract This paper introduces the theory of 3DES encrypt arithmetic, presents a detailed design

idea of adaptive IP core Acording to using FPGA hardware to realize 3DES, adopt reconstituted circuit

to save inner resource of chips, and adopt design method of finite-state machine(FSM),accordingly

realize data transfer in a high speed and security way.This design realized in Quartus II condition of

ALTERA Corporation,and successfully download to XC2V1500 chip.

Keywords adaptive IP core 3DES FPGA finite-state machine

一、引言

随着信息时代的到来,信息安全、数据传输快速在现代网络、军事通信等方面显得非常重要。

因此对数据加密算法的改进很值得研究。传统的加密工作是通过加密软件实现的,此方法占用主

机资源并且运算速度慢,安全性较差。采用硬件加密方式,是通过独立于主机系统外的硬件加密

设备实现的,不占主机资源、速度快、安全性较高。DES(data encryption standard)算法是最为

广泛使用的一种分组密码算法,已被证实是不安全的算法,在保持原有系统不做大的改动的前提

下,研究 3DES 算法仍具有一定的实用价值。本文中利用 ALTERA 公司的 Quartus II 软件平台来

开发,采用一种 FPGA 中可进化 IP 核设计思想和有限状态机设计方法,并成功下载到 Xilinx Virtex

II 系列器件中的 XC2V1500 芯片中以实现 3DES 算法,以达到数据传输高效、安全、耗用资源少。

二、设计原理

13DES 数据加密算法原理

DES 算法中数据以 64 位分组进行加密,有效密钥长度为 56 位,在对明文进行初始置换 IP 后,

执行 16 轮的迭代密码,最后经 IP 的逆变换得到密文。每一轮的运算包含扩展置换、S 盒代换、P

盒置换和两次异或运算,另外还有每一轮中还有一个子密钥。加密算法如图 1。3DES 以 DES 为

基本模块,通过组合分组方法设计出分组加密算法。3DES 具体实现为:

加密过程为:C=EK3(DK2(EK1(

P)))

解密过程为:P=DK1(EK2(DK3(C)))

其中 Ek()和 Dk()代表 DES 算法的加密和解密过程,K 代表 DES 算法的密钥,P 代表明文,

C 代表密文。具体的加解密过程如图 2 所示。当三个密钥不同,本质上就相当于用一个长为 168

位的密钥进行加密。

2FPGA 中可进化 IP 核的一般结构及其实现

从进化硬件的经验可知,系统通常只有一部分是可进化的。同样,使用 IP 核构造的系统也是

有些 IP 核是可进化的。可进化 IP 核在被下载并放在一个可重构器件中后,它们将自动地进化它

们的内部电路。核由可重构电路构成(本文中可重构电路是指可进化 IP 核内的一个部分)。基因单元不包含适应度计算,它只实现基因的操作、染色体存储和适应度存储。适应度的计算和环境

由其它的核来提供。基因单元生成一些配置并上载到可重构电路中去,环境对这些配置进行评估,

 

请登录后发表评论