论文部分内容阅读
2006年1月,国家商用密码管理办公室公布了SMS4算法,它是一种用于无线局域网产品分组对称密码算法,是国内官方公布的第一个商用密码算法。SMS4算法作为公众信息安全建设的基石,应具有相当高的安全性,但国内外相关研究表明其仍存在安全隐患。本文的主要创新工作如下:1.提出一种基于动态思想的SMS4算法。该算法利用动态思想对SMS4的密钥扩展算法和轮函数进行了改进,将密钥扩展算法中的所用的4个固定参数FK修改为从16个参数中随机选择4个,32个固定参数CK修改为从256个参数中随机选择32个,将加解密函数中32轮迭代所用轮函数由使用一个固定的异或操作的函数修改为从使用异或操作和模232加法的两个函数中动态选择的方式。在软件环境下实现了原始SMS4算法和改进后的算法,从密文安全性和算法效率两方面对两种算法进行了对比分析,得出了结论:基于动态思想的SMS4算法的效率比原算法稍低,它加密一组明文所用时间比原始算法大约要多出2μs(原SMS4算法约32μs,基于动态思想的SMS4算法约34μs);当改变输入明文的任何一个比特时,对应密文改变的比特个数改进算法比原算法平均约多出2个(原SMS4算法约64个,基于动态思想的SMS4算法约66个);改进算法以微小的时间代价换取了可观的密文安全性提升。2.在Xilinx Virtex-II Pro XC2VP30FPGA上实现了基于动态思想的SMS4算法。基于动态思想的SMS4算法FPGA实现的主要模块包括随机数发生器、S盒置换、CK盒置换、FK盒置换、密钥扩展、轮函数等。随机数发生器利用FPGA自身的特性实现,其基本原理是利用奇数个反相器组成振荡器作为随机数发生器的噪声源。S盒、CK盒及FK盒采用ROM实现的方法,减少了资源的消耗,加快整体的工作频率。密钥扩展模块和轮函数模块采用全循环的方式实现。实验结果表明加解密结果正确,基于动态思想的SMS4算法易于在硬件环境下实现,具有良好的实现特性。