论文部分内容阅读
随着我国国民经济和社会信息化建设进程,信息安全问题越来越得到关注。而密码技术作为信息安全技术的核心,对它的研究就变得重要而迫切。 本文主要介绍了国内官方公布的第一个商用密码算法,SMS4分组密码算法,详细分析了该算法的架构。根据不同的加密模式提出了实现该算法的几种硬件架构:全循环架构、循环展开架构、流水线架构、循环展开和流水线的结合架构。在此基础上给出了几种FPGA实现方案:(1)全循环实现;(2)高速流水线实现;(3)高速引擎实现。 根据SMS4算法自身的特点(32轮的循环迭代),采用全循环实现。该方案,占用面积小,前后加/解密数据块之间没有相关性,能够应用于反馈加密模式,如CBC、CFB、OFB模式。但每组数据需进过32轮的迭代算法,数据吞吐量小,算法速度相对较慢。 在数字电路中为了加快数据的运行速度,流水线是最常见的方式。该方式使得几组数据同时在运行,大大加快了运算速度。但占用面积比较大,差不多是全循环实现的32倍,因为整个实现包括32个轮次的Feistel网络结构的加/解密算法模块;并且32级流水线使得32组数据同时在加/解密运算,该方式无法实现CBC等反馈加密模式。 高速引擎实现,其实是内部流水线的一种方式,单个引擎分为3级内部流水,电路运行速度快,引擎数可灵活的配置,并且能配置成多引擎串行结构、多引擎并行结构。该方法同全流水线方式一样不适合反馈加密模式。 本文对以上的方案进行了仿真分析和讨论。