微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于USB及EDA的硬件加密系统

基于USB及EDA的硬件加密系统

时间:07-08 来源:互联网 点击:

芯片上,可以分担计算机微处理器的工作,使整个系统速度加快。

(2) 安全性

对运行在没有物理保护的一般的计算机上的每个加密算法,很可能被别有用心的人用各种跟踪工具密码修改算法而使任何人都不知道。硬件加密设备可以安全的封装起来,以避免此类事情的发生,防篡改盒能防止别人修改硬件加密设备。特殊目的的VLSI芯片可以覆盖一层化学物质,使得任何企图对他们内部进行访问都将导致芯片逻辑的破坏。

(3)易于安装

大多数加密应用与普通计算机无关,将专用加密硬件放在电话、传真机和调制解调器中比放在微处理器或者软件中要便宜的多。即使当加密数据来自计算机时,安装一个专用加密设备也比修改计算机系统软件更容易。加密应该是不可见的,他不应该妨碍用户。对于软件要做到这点的惟一办法是将加密程序写在操作系统软件的底层,这很不容易。

3.2DES加密算法的实现

DES(DataEncrypTIonstandard)加密算法在成为加密标准到今天,经历了长期的考验。实践证明DES算法的安全性是能够满足大部分的安全要求的。采用软件方式实现的DES算法会在很大程度上占用系统资源,造成系统性能的严重下降,而DES算法本身并没有大量的复杂数学计算,在加/解密过程和密钥生成过程中仅有逻辑运算和查表运算,因而,无论是从系统性能还是加/解密速度的角度来看,采用硬件实现都是一个理想的方案。

DES算法设计中的关键部分在于5盒的设计、每一轮密钥的产生和整个16轮加密过程中流水线设计。

根据实际需求,将加密算法模块进行独立设计,如图3所示为封装后I/0接口示意图。

作为输人接口包括3大部分,系统输入、数据输人和系统控制。系统输入主要是时钟信号输入ClK和出现异常情况时的系统自动重起信号RST。时钟信号输入可以采用加密板卡的系统时钟,也可以独立使用自己的时钟。

这里为了便于扩展和升级,采用跳线方式来选择时钟信号,支持两种时钟频率选择。

数据输人部分包括64位的加密数据的输人data_in[63:o],64位密钥的输入key1[65:o],key2[63:0],key3[63:0]和初始化向量rant val[63:0]。因为USB总线接口是串行总线,因此从主设备上发送过来的加密数据在进入该加密芯片之前必须用锁存器保存,而同样,作为密钥数据也需要锁存器保存以确保输人数据的完整性。输出接口主要包括64位的加密数据输出dat_out[63:0]、输出准备信号ready-out、系统繁忙信号,busy和差错反馈信号par-err。系统完成数据的加密后,会及时通知将ready_out信号由低电平升至高电平,同时busy信号变为低电平有效,这样在后置模块会根据ready_out和busy信号来判断是否应该读取输出数据。

(1)s盒的实现

s盒是DES算法的一个关键,因为在每一轮计算中有8个s盒,而总共16轮加密,则共需要128个s盒,因此s盒的实现效率尤为重要。s盒是一个复杂的非线性函数,硬件实现时,s盒的实现具有一定难度,其设计实现的好坏是影响算法整体加解密速度的主要因素。在设计中,从资源的角度出发,应尽可能减少FPGA器件中逻辑单元(LE)、嵌人式阵列块(EAB)的耗用,但这可能是以降低系统速度为代价。从速度的角度出发,应最大限度提高系统处理速度,但这样往往需要较多资源。因此,在大多数情况下这两种选择是矛盾的,需要根据实际环境做出权衡。

因此本文遵循的原则是在保证速度的情况下尽量节约资源。本设计采用VHDL语言中的case语句来直接实现s盒的非线性变换。

(2) 密钥产生单元的实现

密钥产生单元由选择控制电路PC 一1、循环移位寄存器及压缩置换电路PC 一2构成。该部分的输人是64 b初始密钥;输出为每次迭代运算用的子密钥。对于总共16轮循环运算,每一轮密钥的使用采用的方式如图4所示,在初始密钥输人的第一个周期产生所有16轮加密需要的不同密钥同时并行输出,然后根据相应的周期顺序,每一轮的密钥输出采用寄存器向后顺延一个时钟周期作为该轮算法的密钥输人。

此种方式的好处是每一轮的密钥都会在每一轮的运算之前准备,便于采用流水线实现加密过程。本文的设计是将全部16轮密钥一次性通过多路选择器产生出来,类似于生成了一个"密钥池",然后不同的轮数依次利用寄存器来保存并跟流水线同步。这里在产生密钥时因为解密和加密的顺序相反,因此解密时是右移产生。

(3) 流水线的实现

流水线是提高数字电路在单位时间内处理数据量的常用方法,他的概念是把在一个时钟周期内执行的逻辑操作分成几步较小的操作,并在多个较高速的时钟内完成,如图5所示。

在这种结

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top