图像算法工程师笔试题 利用FPGA实现DES加密算法的应用价值(2)

电脑杂谈  发布时间:2018-10-02 06:04:52  来源:网络整理

利用FPGA实现DES加密算法的应用价值

3.2 子密钥的生成

这个 keyexapansion 算法生成一个密钥调度并 以某种方式进行替代和置换,在这种方式中,加密和解密算法极其相似。

aes密钥扩展是将初始密钥值按照ー种算法进行迭代运算,获得每轮加密时所需的密钥。

本发明公开了一种aes密钥扩展的方法,不再是基于前一轮密钥的简单迭代,而是通过密钥间的运算,在通过一定的迭代实现,降低了单一密钥迭代对前轮输入的关联性,增加了破译难度,同时由于前后关联性减小,使得整个电路的时序得到了有效地改善。

des算法概述des算法框图:子密钥产生过程:算法主要包括:初始置换ip、16轮迭代的乘积变换、逆初始置换ip-1以及16个子密钥产生器。

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倍.同时其资源消耗指标也较理想。

利用FPGA实现DES加密算法的应用价值

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

利用FPGA实现DES加密算法的应用价值

5 结语

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

相关推荐

英特尔扩充FPGA加速平台产品组合,可为数据中心开发人员提供强大的平台

最新炫舞推出新的搭配,小伙伴们知道么,炫舞旅行挑战全新推出旅行挑战啦~喜欢搭配的玩家不要放过哦~今天小编给大家带来第一手资料,qq炫舞儿童节s搭配,也就是旅行挑战儿童节s图攻略,很多玩家,一到搭配就有点有气无力的赶脚,怎么搭配都不能s,但是,今天小编给大家介绍的都是s哦,可以为很多玩家节省很多麻烦,小编不在说别的了,一起去看看炫舞儿童节s搭配吧~小编有图有真相哦~不要忘记收藏,萌萌哒~。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-89161-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 艾克拜尔艾比布
      艾克拜尔艾比布

      我给大家说个高人

    热点图片
    拼命载入中...