论文部分内容阅读
本课题通过对原AES算法以及该算法在FPGA上的实现进行了系统的分析与研究的基础之上,针对如何有效的对信息进行安全的保护和该算法在FPGA上实现如何有效的节省资源以及如何提高实现效率的问题提出了一种基于FPGA的AES算法的硬件设计方案,并使用硬件描述语言VHDL对其整AES算法硬件设计进行了描述,最后进行了实验仿真测试和分析。本课题在综合考虑资源使用和实现效率的问题上进行了折中的设计,既能保证一定的实现效率又能够有效的降低资源消耗。该设计主要包括字节替代部分、行位移与列混淆混合部分、轮密钥加部分和内部控制单元,设计支持128位的数据加密与解密。字节替代部分首先通过资源共享的方式查一张有限域GF(2~8)的乘法逆元表,然后由控制信号的选择实现加密或解密过程中的字节替代,避免了复杂的求逆运算,同时也降低了资源的消耗;行位移部分和列混淆部分采用混合设计的方式来实现,首先将正向和逆向列混淆中复杂的乘法运算通过定义Xtime()运算来实现,Xtime()运算采用对8位数的高位进行比较后根据条件进行移位和异或运算来实现有限域GF(2~8)的乘x、x~2、x~3运算,然后将行位移与列混淆采用混合设计方式进行实现,将原来两个单独的变换模块采用一个独立的模块来实现两个模块同时具有的功能;密钥扩展是将所有密钥先计算出后进行存储,然后根据内部控制单元的控制将每一轮的轮密钥输出进行加密操作或者解密操作,同时将轮变换部分的字节替代模块供密钥扩展所用,减少了资源的开销。本课题所设计的AES算法硬件设计系统是通过输入控制信号的选择来实现加密与解密功能,当输入控制信号为高时实现加密功能,当输入控制信号为低时实现解密功能。首先通过Quartus II软件中的StratixШ系列下的EP3SE80F1152C2 FPGA器件对各设计部分进行了仿真验证,然后对整个硬件设计系统进行了时序仿真和性能分析。本设计工作频率可达320MHz,其吞吐量可达到2.048Gbps,仅占用6.970K ALUTs单元。该设计的实验表明在低工作频率下达到了较高数据处理速度且占用较少的资源空间,满足了对信息安全的保护。