© 2013由Elsevier B.V.发布由美国应用科学研究所负责选择和/或同行评审可在www.sciencedirect.com在线获取ScienceDirectAASRI Procedia 5(2013)209 - 2132013年AASRI并行和分布式计算系统DES加密算法的FPGA刘彩虹,季金水,刘子龙a西北民族大学中国甘肃兰州摘要对嵌入式应用中重要数据的保护是非常必要的。提出了一种基于FPGA的数据加密标准算法的实现方法。基于硬件实现的DES(数据加密标准)算法是一种低成本、灵活高效的加密解决方案。本文采用循环迭代的方法,密钥大小为128位,用基于S盒的查找表实现。仿真波形表明,在FPGA中实现的结果满足要求。© 2013作者。由Elsevier B. V.在CC BY-NC-ND许可下开放获取。由美国应用科学研究所负责选择和/或同行评审关键词:FPGA; DES;算法; VHDL;1. 介绍数据加密标准使用密钥进行自定义转换,因此可以进行解密。他们知道用来加密的密钥。DES(数据加密标准)是一种典型的分组密码,它以明文位为定长字符串,通过复杂的运算将其转换为密文位串。这个字符串长度相同。在数据加密标准的情况下,块的大小是64位。该密钥显然由64位组成;但是,8位被唯一地用于检查奇偶校验,然后被丢弃,其中只有56位被算法有效地使用。因此,有效密钥长度为56位。* 通讯作者。联系电话:1-399-318-9468;邮箱:cindyliu888@qq.com2212-6716 © 2013作者由Elsevier B. V.在CC BY-NC-ND许可下开放获取。美国应用科学研究所负责的选择和/或同行评审doi:10.1016/j.aasri.2013.10.080210Cai-hong Liu等/ AASRI Procedia 5(2013)209L16=R 16逆初始置换IP-1R16 =L15 +f(R15,K16)64位输入r10的L0初始置换IP64位输出与其他分组密码一样,数据加密标准也不是一种安全的加密方式。它必须由一种操作方式来代替。该密钥通常以8个字节的形式传输或存储。密钥的每8位中的1位可用于密钥分发、生成和存储中的错误校验。位8,16,...,64用于确保每个比特是奇奇偶校验。2. FPGA的特点FPGA是一种半导体器件,生产出来后可以进行编程。而不限于任何协调的硬件功能。FPGA允许您的程序产品可变。所以它被称为“现场可编程”。FPGA可以实现任何逻辑功能,可以通过ASIC来实现。但它可以更新功能后,航运胜过许多应用程序。今天的FPGA与上一代FPGA相比有所不同。具体来说,FPGA包含称为LE的可编程逻辑组件。一种可重新配置的互连层次结构,允许LE在物理上也相关。并且可以将LE配置为执行复杂的组合功能,或者仅执行简单的逻辑门,例如AND或。在大多数FPGA中,逻辑块还包含存储器元件,其可以是简单的触发器或更完整的存储器块。随着FPGA的不断加入,器件变得更加集成化. FPGA结构中内置的硬IP块让产品具有差异性。较新的FPGA系列正在使用硬嵌入式处理器生产,将设备转变为SOC。3. DES原理置换和置换的组合称为乘积密码。该算法包括实现密钥和待加密文本之间的替换、组合和置换,同时保证操作的全方位性。算法的主要部分如下:将文本的一部分分成64位的块;对块进行排列;将块分成左右两部分;替换和排列步骤将重复16次;将左右部分重新组合,然后反向排列。如图1中所示的那样。K1KiK16Fig. 1. DES加密算法R1 =L0 +f(R0,K1)L1 =R0R15 =L14 +f(R14,K15)L15=R 14Cai-hong Liu等/ AASRI Procedia 5(2013)209211组合逻辑电路一代关键字P_boxS_box添加键add_leftE_表达式key_ready='1等待键等待数据无条件转移lddata='1'最后一轮循环计数器=15重复回合4. DES算法的VHDL代表性设计流程包括必须在转换为最终硬件的许多阶段进行验证的实现。设计阶段包括在软件和硬件之间选择项目的适当部分,然后根据在各种工具和不同语言中实现的适用性划分软件和硬件组成部分。DES算法每次迭代的内部运算可以用组合逻辑实现。系统控制部分应通过迭代次数进行控制。DES算法的总体框图如图2所示。原始密钥图2. DES总体图迭代的逻辑运算在组合逻辑电路中完成。组合逻辑电路由扩展运算、加密算法、压缩算法、替换运算和异或运算等模块组成。迭代过程的管理和控制是在时序逻辑电路中完成的。时序电路被描述为状态机。如图3所示。key_ready='0 lddata='0'圆形计数器15<图3. 状态流212Cai-hong Liu等/ AASRI Procedia 5(2013)209对于有几百个基本门的大型电路设计,用图解法设计电路是很困难的。硬件描述硬件描述语言提供基于标准文本的电路行为和结构的表达。因此硬件描述语言是FPGA逻辑设计的首选方法。VHDL是一种用来解释FPGA行为的语言,FPGA是一种在电气设计中的专用电路系统。电子元器件的功能在很多方面都是用VHDL语言描述的。为了提高电路的精度,建立了电路的VHDL仿真模型。建立大规模电路的基础是原理图、系统级描述和仿真模型的结合。一些设计:stim_proc:process reset =“1”;等待30 ns;reset = '0';等待20 ns; ldkey='1';key_in = x“FFFFFFFFFFFF”;等待20 ns;lddata =“1”;data_in = x“7359B2163E4EDC58”;等待;结束过程;5. 结论当设计完成后,为了检查设计的正确性,首先进行仿真,然后将仿真结果编程到FPGA芯片板上。为了保证其正确性,对其进行仿真是十分必要的。软件Quartus II可以用来模拟设计的行为。仿真结果用图形表示。本文表明,一轮子密钥预计算技术的结果是一个更快的设计和生成的子密钥的加密和解密,而没有性能损失。所有设计均在FPGA上实现。确认本研究得到了青年学者研究基金重点项目的资助,资助号为zyz2012080。这项工作得到了学校青年学者研究基金会的资助,资助号为X2010 -23 XBMU-2010-BD-140。通讯作者通讯作者联系方式:刘彩虹,cindyliu888@qq.com,13993189468Cai-hong Liu等/ AASRI Procedia 5(2013)209213引用[1]麦克隆,梅尔。DES算法的FPGA高性能实现。2000 IEEE;374-383.[2] 刘彩虹,季金水,陈秀平。基于FPGA的步进电机控制模块,2010年电子产品、电子服务和电子娱乐国际会议,2010[3] 陈秀萍。基于FPGA的ADC控制模块设计,2011 IEEE计算机科学与自动化工程国际会议,2011。