论文部分内容阅读
随着信息产业的发展,信息安全越来越受到重视。信息安全主要包括安全协议和密码算法,其中密码算法是信息安全的基础和核心技术。目前密码算法的实现正逐渐由软件实现向硬件实现过渡,硬件实现的密码产品越来越受到重视。所以研究当今流行的密码算法及其硬件实现对我国的信息安全有很大意义。计算机和通信技术的快速发展,促使了分组密码设计和分析技术的深入研究和广泛使用。目前分组密码的研究成果有很多,最具代表性的就是DES和AES。
本文分别对DES、3DES和AES算法的硬件实现进行优化设计,主要研究成果包括:
(1)在充分理解DES和3DES算法的结构和基本流程的基础上,对这两种算法硬件实现的反复循环结构和流水线结构进行了分析,分别针对不同的实际需求设计了基于面积和性能优化的硬件实现方案,不同的优化设计方案使用不同的工作模式。在算法实现过程中我们采用提前生成子密钥的方法,既节约了空间,又节省了时间。
(2)对于AES算法硬件实现,采取速度和面积折衷的方法进行优化设计,在达到面积最优的同时也希望有良好的性能。对AES加密过程和解密过程进行了详细的描述和分析对比,由于加密和解密的不一致性,决定采用两个模块同时实现加密和解密。
(3)AES算法相对较复杂,本文在深入理解AES算法的数学规则的基础上,对字节替换和逆字节替换采用查找表的方法,简化了算法,节省了时间。在密钥扩展方面,采用同步扩展的方法,即在进行每一轮运算的同时产生下一轮轮密钥,使轮运算和密钥调度同步进行,大大节省了轮密钥的存储空间。生成的子密钥放在寄存器中供解密模块使用,节省了密钥再次生成的时间。
(4)在对硬件进行优化设计的基础上,用Verilog HDL语言编写了可综合的设计代码,分别使用仿真工具(NC-Verilog、Modelsim)和综合工具(XST)对各个算法的代码进行功能仿真和逻辑综合,经过验证设计完全达到了预定的要求,从而完成了硬件实现的前端设计。