基于FPGA的DES加密算法的高性能实现

发布者:温馨如家最新更新时间:2011-07-22 关键字:FPGA  DES加密 手机看文章 扫描二维码
随时随地手机看文章
     

1 引言

    随着通信系统和网络的快速发展,要求数据的通信、处理和存储的安全性和可靠性越来越高。开发安全加密机器,要求具备实时加密,可改变密钥,使用多种算法等性能,因此可重用、参数化的加密核成为一种理想的安全加密设计。

    目前加密算法有单密钥和公用密钥2种体制。单密钥体制中最著名的是DES加密算法,它是目前应用广泛的分组对称加密算法,广泛应用于卫星通信、网关服务器、视频传输、数字电视接收等方面。文献指出,尽管软件实现的DES加密算法容易改变,但是其数据处理速率低;专用集成电路ASIC可提供高性能算法但灵活性差;而FPGA实现的加密算法具有对同一个FPGA使用不同算法的重新编程可增加其灵活性,使用同一个算法的不同版本和改变结构参数实现系统升级。因此利用FPGA实现DES加密算法是一种理想选择并具有实际的应用价值。

    为了克服传统DES加密算法流水线的FPGA实现的子密钥需先后串级计算,密钥不能动态刷新的缺点,提出一种新的加密算法,提高DES FPGA实现系统的处理速度,增加系统的密钥动态刷新功能,提高系统的可重用性。

2 DES加密算法原理

    DES加密算法是将64位的明文输入块变为64位的密文输出块,其密钥是64位,其中8位是奇偶校验位。整个算法的处理流程如图1所示。
 

从整体结构来看,DES加密算法可分为3个阶段:

(1)对于给定的明文m,通过一个(固定的)初始置换IP重新排列m中的所有比特,从而构造比特串m0。把64位比特串m0拆分成左右2个部分,即m0=IP(m0)=L0R0,这里L0由m0的后32位组成。

(2)计算16次迭代变换,所有16次迭代具有相同结构。第i次迭代运算是以前一次迭代的结果和由用户密钥扩展的子密钥Ki作为输入;每一次迭代运算只对数据的右半部分Ri-1进行变换,并根据以下规则得到LiRi作为下一轮迭代的输入表示2个比特串的异或(按位模2加)。其中每一轮次运算的子密钥Ki是将56位密钥分成2个部分,每部分按循环移位次数表移位并按置换选择表置换得到。轮函数f的处理过程:先将Ri-1进行E置换,再与本轮的子密钥相异或,最后将S盒字替换和P置换。图2是DES算法的一轮处理框图。
 


(3)对16次迭代变换的结果使用IP置换的逆置换IP-1,最后所得到的输出即为加密后的密文。

3 DES加密算法的FPGA实现

3.1 系统总体设计

    DES加密算法是以多轮的密钥变换轮函数和密钥+数据运算轮函数为特征,与之相对应的硬件实现.既可以通过轮函数的16份硬件拷贝,达到深度细化的流水线处理,实现性能优化,即性能优先方案;也可通过分时复用,重复调用一份轮函数的硬件拷贝,以时间换空间,从而得到硬件资源占用上的最小化,即资源优先方案。考虑到加密系统首先需满足实时处理要求,因此选用速度性能优先方案。[page]

    DES算法的迭代特征使其适用于采用循环全部打开和流水线结构设计。由于提前生成子密钥,并且用逻辑电路完成S盒设计,就可以解开DES算法的16次循环迭代为16级流水线数据块加密,实现16个数据块同时加密。这样,从第1个数据块开始加密,经16轮次延时后,每一轮次延时都会有一个数据块编码完成输出一个密文块。这样它的加密速度是循环式加密的16倍,而代价是面积增加16倍,但考虑到每个轮次都是组合逻辑运算,占用面积小,这样的代价完全能够接受。图3是基于子密钥预计算的DES算法流水线处理原理图。

3.2 子密钥的生成

    DES算法每一轮次迭代都需要一个子密钥,采用流水线实现DES算法,就需要提前生成子密钥,随流水线进程发送给各个模块。输入密钥分别经置换选择1、第n轮的循环左移和置换选择2这3个步骤后得到第n轮的子密钥。如果用VHDL按照每一轮次循环移位的位数一步步得到16轮次迭代的子密钥,那么16轮次子密钥的生成需要做56x28次移位运算,同时需要56个寄存器存放每一轮子密钥的中间结果,这样不仅语言描述复杂,占有较多的硬件资源,而且每轮次密钥移位次数不同,需要的运算时间不同,会给算法的迭代运算带来更大的等待延迟。因此,通过分析得到生成每一轮子密钥时,相对输入密钥所需移位的数目,直接将各个子密钥提前生成。这样不仅降低了资源消耗,提高算法的执行速度,也消除了各个圈子密钥之问的相关性。

3.3 S盒的设计

    S盒的设计是DES算法关键部分,S盒设计的优劣将影响整个算法性能。在采用FPGA实现时,应从资源和速度的角度出发,有效利用FPGA可配置属性,充分考虑器件内部结构,尽可能使两者都达到最优。S盒是一个4x16的二维数组,根据输入的6位地址数据确定输出,中间4位数据确定列,两边2位确定行,所产生的行列数据对应的地址空间中存放的就是输出的4位数据。为了利用FPGA内部的4输入查找表结构,可重新设计S盒的逻辑描述,即先固定2个变量,而使另外4个变量发生变化。实现时使用双重case语句,外层使用2个变量,对应S盒输入的第1、6位。内层使用4个变量,对应S盒输入的第2、3、4、5位。形成一个6输入、4输出的查找表。这样就可以充分利用FPGA的内部资源,提高综合效率,加快算法执行速度。

3.4 子密钥延迟控制

    图3中的子密钥延迟控制单元可完成子密钥的延迟控制,它由一系列寄存器构成。通过时钟触发数据块依次向下传输给各级流水线,子密钥依次存入下一级寄存器,在相应数据块加密时从寄存器读取,便实现16个不同数据块同时加密。在新更换密钥时,各个子密钥分别存入寄存器(i,1),随时钟触发依次在流水线寄存器中流动,以前在流水线上继续使用的子密钥也同时在流水线寄存器中随数据块流动,通过合理使用寄存器,完成数据块和子密钥的同步,准确快速分发子密钥,实现密钥的动态更换。
 

4 仿真结果

    采用VHDL作为设计逻辑描述.以OuartusⅡ作为设计开发工具,以Ahera公司Cyclone EPlCl2F324C6为目标器件,逻辑综合结果表明系统共占用4 368个逻辑单元(LE),系统的最高时钟频率为222.77 MHz,对信息的加密速度为222.77x64 Mb/s=14.26 Gb/s。由表1给出的DES算法有关硬件和软件实现性能对比结果表明,该系统的数据加密速度是最快的,是软件实现的112倍.同时其资源消耗指标也较理想。

    假设需要加密的明文M=0123456789ABCDEF H,密钥K=133457799BBCDFFl H,经过初始置换,16轮迭代加密,逆初始置换,最终的加密密文应为:85E813540FOA8405H,其时序仿真结果如图4所示,仿真结果表明,系统完全实现DES算法的流水加密功能。
 

5 结语

      在分析DES算法原理的基础上,详细阐述了一个基于VHDL描述、FPGA实现的DES加密算法系统的设计和仿真结果。该系统与传统软件加密系统相比,设计灵活,处理速度快,密钥可动态刷新,抗解密强度高,稳定性好,重用性强,升级方便。

关键字:FPGA  DES加密 引用地址:基于FPGA的DES加密算法的高性能实现

上一篇:基于FPGA的脉冲压缩仿真与实现
下一篇:CPCI数据总线接口的设计与实现

推荐阅读最新更新时间:2024-05-02 21:30

赛灵思与微软汽车业务部推出的智能车载信息系统
        根据美国交通部的一项研究,全世界人们每周在汽车上度过的交通时间超过 5 亿小时。 既然花在汽车上的时间如此之多,人们希望能够利用这些时间来享受娱乐,同心爱的人说说话,甚至完成一些通常需要在工作场所才能完成的任务。           在汽车中保持联系是人们最想实现的,这只要看一看手机的使用就可以知道。 另外,路上遭遇严重的交通堵塞,走错了路,或者遇到像汽油用完了之类的常事,都可能影响您准时到达目的地。          如何才能让驾驶者在安全驾驶的同时保持联系,并按时到达目的地呢? 巧妙的方法是通过语音命令结合互联网连接进行通信和控制。 Microsoft Telematics Platform(微软车载信息处理平台
[嵌入式]
基于FPGA和DDS技术的正弦信号发生器设计
   0 引言   1971年,美国学者J. Tierney等人撰写的《A Digital Frequency Synthesizer》一文首次提出了以全数字技术,从相位概念出发直接合成所需波形的一种新合成原理。限于当时的技术,没有得到重视,但随着微电子技术的迅速发展,它以有别于其他频率合成方法的优越性能和特点成为现代频率合成技术的佼佼者,具体体现在相对带宽宽,频率转换时间短,频率分辨率高,输出相位连续,可产生多种调制信号,控制灵活方便。因此,对于正弦信号发生器的设计,可以采用DDS,即直接数字频率合成方案实现。DDS的输出频率是数字可调的,完全能实现频率为1 kHz~10 MHz之间的正弦信号,这是实际应用中产生可调频率正弦信
[嵌入式]
基于<font color='red'>FPGA</font>和DDS技术的正弦信号发生器设计
基于USB接口和FPGA控制的虚拟仪器设计
   0 引 言   随着目前科学技术的发展,电子技术的应用领域越来越广。电子测试测量仪器作为电子技术的基础,其应用范围也越来越广。在许多领域对这些仪器提出了很高的要求,不仅要有高的测量、传输速度,高的精确度、稳定性、可靠性等,有的甚至要有一定的智能化,能够实现自动测量、自动控制,还要能够快速完成一些复杂的数学运算与处理,能够根据实际应用的情况,快速开发出新的功能。传统的测试测量仪器由于设计理念落后、发展缓慢、功能单一,开发新功能或新产品的难度大,已经无法适应各种新的测量情况。而且其价格昂贵、体积大、不易操作,已经无法满足人们的要求。   虚拟仪器作为传统测试测量仪器的可能的替代品,从1986年美国国家仪器公司(NI)首先提出
[测试测量]
基于USB接口和<font color='red'>FPGA</font>控制的虚拟仪器设计
基于FPGA和USB接口的验光仪控制系统设计方案
1.引言 近些年来,近视已经严重影响了人们的健康。为了准确的了解近视患者眼睛的近视程度,为近视者配出更加合适的眼镜,验光仪器成为了眼镜零售行业必不可少的设备。目前市场上主流电脑验光仪并不能完全实现验光过程的自动化,问题主要表现在以下三个方面: ①定位速度慢;②定位精度差;③自动化水平低. 为了解决以上问题,本设计对原有的电脑验光仪进行了改进,采用运行速率快,稳定性高的FPGA控制步进电机驱动芯片,实现了验光仪的三轴联动;运用行程开关实现了极点间的自动往返。为了保护电路安全,设计了板间的光电隔离电路;并且采用先进的USB技术使电脑和设备进行通信,增加了数据的传输率,提高了设备的可控性. 2.系统硬件整体设计 控制
[电源管理]
基于<font color='red'>FPGA</font>和USB接口的验光仪控制系统设计方案
智多晶:深耕FPGA的赛道,致力打造“中国芯”
FPGA为现场可编程门阵列,作为目前仅有的支持再编程芯片,应对未来5G时代到来后激增的芯片设计与功能使用需求,FPGA可以避免如ASSP或ASIC所需要的较长的生产与设计周期。 伴随AI、大数据以及云计算发展,FPGA市场规模有望稳定扩大,根据MRFR预测,FPGA在2025年有望达到约125.21亿美元。 FPGA行业高度集中,且技术壁垒较高,但目前中国仍然有多家企业发力布局,智多晶凭借其技术实力,在FPGA市场“崭露头角”。 智多晶成立于2012年11月,公司专注于可编程逻辑电路器件技术的研发、生产、销售,并为系统制造商提供高集成度、高性价比的可编程逻辑器件、可编程逻辑器件IP核、相关软件设计工具以及系统解决方案。 在接受集微
[手机便携]
利用FPGA实现MMC2107与SDRAM接口设计
摘要:介绍基于现场可编程门阵列(FPGA),利用VHDL语言设计实现MMC2107与SDRAM接口电路。文中包括MMC2107组成结构、SDRAM存储接口结构和SDRAM控制状态机的设计。 关键词:现场可编程门阵列 SDRAM EBI VHDL 状态机 K4S560832A 引言 在嵌入式系统中,微控制器中通常有一定容量的存储器,用来存放程序和数据,但由于片内存储器受器件规模和生产成本的制约,其容量通常不能满足用户实际需求,还需要使用半导体存储器件来扩展存储空间。如果采用SDRAM进行存储扩展,可以大幅度地降低系统设计成本;但SDRAM控制时序比较复杂,给系统设计带来很大困难。为了方便使用SDRAM,实现嵌入式系统中存储的
[缓冲存储]
深入浅出带你了解FPGA架构
数字集成电路有两种类型:ASIC和FPGA(现场可编程门阵列)。专用集成电路(ASIC)有一个预先定义的特定硬件功能,在生产后不能重新编程。但FPGA可以在制造后可无限编程。 FPGA是一种集成电路,一种可编程芯片,它允许工程师对定制的数字逻辑进行编程,可以根据程序改变其硬件逻辑。主要目的是允许工程师重新设计和重新配置他们的芯片更快,更便宜,只要他们想要,然而世界上没有什么理想的,FPGA芯片也有局限性! FPGA最早出现于20世纪80年代,其最初的应用是允许工程师拥有通用可编程逻辑芯片。然而,这需要大量的编程才能执行简单的功能,所以工程师们尽量避免使用这些功能。但是,虽然在1980年的FPGA是一个简单的接口设备,
[嵌入式]
深入浅出带你了解<font color='red'>FPGA</font>架构
FPGA多样化平台延伸应用空间
不同于其他半导体产品,FPGA(现场可编程门阵列)产业近几年增长速度一直都快于半导体行业的增长速度。Gartner Dataquest预测,2010年FPGA和其他可编程逻辑器件(PLD)市场将增长到67亿美元。随着半导体工艺技术的提高,FPGA开始显现出成本低、灵活性及升级容易的优势,应用领域不断扩张,FPGA也呈现多样化来满足变化多端的需求。从FPGA主力厂商的举措看出,65nm器件及提供高性能与低成本的多样化应用平台成为这一时期的关键词。 65nm工艺提升FPGA竞争力 在当今的FPGA领域里,Altera和Xilinx(赛灵思)是当之无愧的双雄,他们不断推出各种创新性的解决方案,充分发挥FPGA灵活性的特点,开拓传统A
[焦点新闻]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved