- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于FPGA的DES、3DES硬件加密技术
录入:edatop.com 点击:
DES模块的设计
DES模块采用4个DES核并行处理数据的流水线设计方法。其状态机同3DES类似,所不同的是在写密钥状态向DES模块写入56位密钥,在写数据状态向DES模块写入256位数据,每个DES核处理64位数据,其中第一个DES核处理数据的0~63bit,第二个DES核处理64~127bit,依次类推。操作完成后DES模块将256位的密文或明文再传入到RAM里。采用流水线设计可以使4个DES核并行工作,大大提高了加解密速度。
方案的验证及性能
调试的过程中用到SignalTap,SignalTap宏功能是一种嵌入式逻辑分析器,能够在器件的特定触发点捕获数据并保存到FPGA的嵌入式系统块中。这些数据被送到JTAG接口,通过ByteBlaster II 下载电缆上传到quartus II波形编辑器中进行显示。图4为在调试过程中用SignalTap捕捉到的3DES运算的时序,平均18个时钟周期处理完一个数据分组(64bit)。图5为DES运算的时序,平均36个时钟周期处理完一个数据分组(256bit)。
最终调试DES、3DES算法加解密成功后,将Quartus II 7.2编译生成的编程文件通过下载电缆ByteBlaster II下载到我们的试验板卡上。在Windows XP的系统下,用VC的环境编写出了测试程序和驱动程序,最终测得DES加解密的速度是:230Mb/s;3DES加解密的速度是:120Mb/s。
DES模块采用4个DES核并行处理数据的流水线设计方法。其状态机同3DES类似,所不同的是在写密钥状态向DES模块写入56位密钥,在写数据状态向DES模块写入256位数据,每个DES核处理64位数据,其中第一个DES核处理数据的0~63bit,第二个DES核处理64~127bit,依次类推。操作完成后DES模块将256位的密文或明文再传入到RAM里。采用流水线设计可以使4个DES核并行工作,大大提高了加解密速度。
方案的验证及性能
调试的过程中用到SignalTap,SignalTap宏功能是一种嵌入式逻辑分析器,能够在器件的特定触发点捕获数据并保存到FPGA的嵌入式系统块中。这些数据被送到JTAG接口,通过ByteBlaster II 下载电缆上传到quartus II波形编辑器中进行显示。图4为在调试过程中用SignalTap捕捉到的3DES运算的时序,平均18个时钟周期处理完一个数据分组(64bit)。图5为DES运算的时序,平均36个时钟周期处理完一个数据分组(256bit)。
最终调试DES、3DES算法加解密成功后,将Quartus II 7.2编译生成的编程文件通过下载电缆ByteBlaster II下载到我们的试验板卡上。在Windows XP的系统下,用VC的环境编写出了测试程序和驱动程序,最终测得DES加解密的速度是:230Mb/s;3DES加解密的速度是:120Mb/s。
图4 3DES时序波形图 |
图5 DES时序波形图 注意事项 用SignalTap进行调试的过程中,要使采样频率大于被测信号的最高频率,否则无法正确反映被测信号的波形变化。由于系统的输入最高频率为50MHz,为了调试正确,利用了FPGA的锁相环对输入时钟进行倍频,从而用100MHz的信号作为采样频率。另外需要设置合适的触发点及采样深度。 系统优缺点分析及改进方法 优点:设计过程中采用了状态机和流水线技术,提高了数据的加解密速度;另外采用FPGA使得设计比较灵活,各模块均用了硬件描述语言编码实现。 不足之处:DES曾被人利用网络计算采用穷举攻击的方法破解过,目前也已经设计出采用穷举攻击在4小时内破解DES的机器。DES本身虽已不再安全,但在数据对安全性要求不高的场合仍然广泛使用着,其改进算法3DES的安全性还是相当强的。 系统改进方法:在要求安全性高的场合,可以采用安全性更高的算法(如AES等)来替换DES。
上一篇:IP
PBX的前世今生
|