王艳红 付世冲
摘 要:随着现代信息技术的快速发展,信息安全已经成为信息化社会最重要、最关键的问题之一。SMS4密码算法是我国自主研发的商用密码,是我国官方公布的第一个商用加密算法,使用软件对传输的信息进行加密,容易给攻击者采用分析程序、跟踪、反编译等手段进行攻击,而硬件加密算法比软件实现更快捷、更安全,文章提出了一种利用FPGA实现分组加密算法SMS4的硬件实现方法,通过ISE仿真验证了其正确性。
关键词:SMS4;FPGA;硬件加密
引言
SMS4[1]密码算法是国内公布的第一个用于无线局域网产品的商用密码算法,无线局域网具有工作效率高、轻巧灵活、安装成本低等特点,但是无线局域网是开放性的,其安全性令人担忧。
文章通过分析SMS4[2]密码算法的过程,采用C语言和Verilog HDL语言编程,使用VC6.0和ISE 14.2仿真,将其结果进行对比验证。证明硬件加密具有较高的加解密速度、将密码算法固化在硬件中,算法不容易被修改,提高了系统的安全性等特点。
1 SMS4加密算法
SMS4[3]是国家密码管理办公室2006年公布的应用于无线局域网产品的分组密码算法、分组长度为128比特,密钥长度为128比特、是使用典型的Feistel网络结构的分组密码算法,密码算法主要包含轮密钥算法、加密算法和解密算法[3]。
Feistel网络在1973年首次踏上历史舞台,Feistel网络结构中,加密算法输入的数据是一个长度为2?棕比特的明文分组和秘钥K,明文被分成L0和R0。L0和R0经过n轮的处理后组合起来产生密文。Feistel网络结构对左边一半进行替换操作,即对数据右边一半应用Round函数F,将此函数的输出与左边一半数据进行异或。每一轮Round函数都相同,只是每一轮的子密钥Ki不相同,(FK0,FK1,FK2,FK3,CKi,sbox中的数据都是常数)。
1.1 轮密钥算法
RKi即为第i轮加密的密钥。
SMS4密码算法中主要包括异或、移位、查表等基本的运算。异或模块的运算单元都是128位的二进制数值,其运算结果由2个操作数决定;与运算模块是将128位的数据分割为4个32位的数据;移位运算模块在SMS4算法中使用频率较高,其将输入的128位数据向左循环移动i位。
1.3 解密算法
当对方接收到经过加密运算的密文时,需要进行32轮迭代的解密运算。解密运算和加密运算的结构相同,只是密钥的使用顺序相反。
2 SMS4加解密算法的实现
2.1 C语言实现SMS4密码算法
软件实现加解密算法产生密钥很麻烦,受到素数产生技术的限制,难以做到一次一密,而且SMS4加密算法的安全性依赖于密码算法本身,当攻击者窃取到密钥和密文后,通过计算就能得到实际传输的信息。
2.2 Verilog HDL实现密码算法
FPGA 继承了ASIC的大规模、高集成度、高可靠性等优点,同时又避免了设计周期长、投资大、灵活性差等缺点。完整的FPGA设计包含输入、功能仿真、综合、综合后仿真、实现、布线后仿真和下载调试等步骤。文章采用Verilog HDL编写代码、Xilinx公司的ISE 14.2平台输入代码,自带的仿真器ISim进行仿真。
3 结束语
分析SMS4密码算法的软件和硬件实现方法,软件实现加解密算法密钥的管理较复杂、密钥分配协议有缺陷,软件加密是在用户的计算机内部进行,攻击者采用分析程序进行跟踪、反编译等手段进行攻击。硬件实现加解密算法具有较高的加解密速度,将密码算法固化在硬件中,使算法不容易被修改,提高了系统的安全性,加密芯片采用 EDA技术,将密码算法固化在硬件专用芯片FPGA中,具有防篡改、防泄露等较高的安全性。硬件实现加解密算法比软件实现更快捷、更安全。
参考文献
[1]Gao X, Lu E, Xian L, et al. FPGA implementation of the SMS4 block cipher in the Chinese WAPI standard[C].Embedded Software and Systems Symposia, 2008. ICESS Symposia'08. International Conference on. IEEE, 2008: 104-106.
[2]Husen W, Shuguo L. High Performance FPGA Implementation for SMS4[M].High Performance Networking, Computing, and Communication Systems. Springer Berlin Heidelberg, 2011: 469-475.
[3]JIN Y ER,SHEN H B,YOU R Q.Implementation of SMS4 block ciper on FPGA[C]. Communications and Networking in China,2006:1-4.
作者简介:王艳红(1988-),女,贵州大学电子信息学院硕士研究生,主要研究方向:电路系统设计自动化。