王艷紅 付世沖
摘 要:隨著現(xiàn)代信息技術的快速發(fā)展,信息安全已經(jīng)成為信息化社會最重要、最關鍵的問題之一。SMS4密碼算法是我國自主研發(fā)的商用密碼,是我國官方公布的第一個商用加密算法,使用軟件對傳輸?shù)男畔⑦M行加密,容易給攻擊者采用分析程序、跟蹤、反編譯等手段進行攻擊,而硬件加密算法比軟件實現(xiàn)更快捷、更安全,文章提出了一種利用FPGA實現(xiàn)分組加密算法SMS4的硬件實現(xiàn)方法,通過ISE仿真驗證了其正確性。
關鍵詞:SMS4;FPGA;硬件加密
引言
SMS4[1]密碼算法是國內公布的第一個用于無線局域網(wǎng)產(chǎn)品的商用密碼算法,無線局域網(wǎng)具有工作效率高、輕巧靈活、安裝成本低等特點,但是無線局域網(wǎng)是開放性的,其安全性令人擔憂。
文章通過分析SMS4[2]密碼算法的過程,采用C語言和Verilog HDL語言編程,使用VC6.0和ISE 14.2仿真,將其結果進行對比驗證。證明硬件加密具有較高的加解密速度、將密碼算法固化在硬件中,算法不容易被修改,提高了系統(tǒng)的安全性等特點。
1 SMS4加密算法
SMS4[3]是國家密碼管理辦公室2006年公布的應用于無線局域網(wǎng)產(chǎn)品的分組密碼算法、分組長度為128比特,密鑰長度為128比特、是使用典型的Feistel網(wǎng)絡結構的分組密碼算法,密碼算法主要包含輪密鑰算法、加密算法和解密算法[3]。
Feistel網(wǎng)絡在1973年首次踏上歷史舞臺,F(xiàn)eistel網(wǎng)絡結構中,加密算法輸入的數(shù)據(jù)是一個長度為2?棕比特的明文分組和秘鑰K,明文被分成L0和R0。L0和R0經(jīng)過n輪的處理后組合起來產(chǎn)生密文。Feistel網(wǎng)絡結構對左邊一半進行替換操作,即對數(shù)據(jù)右邊一半應用Round函數(shù)F,將此函數(shù)的輸出與左邊一半數(shù)據(jù)進行異或。每一輪Round函數(shù)都相同,只是每一輪的子密鑰Ki不相同,(FK0,F(xiàn)K1,F(xiàn)K2,F(xiàn)K3,CKi,sbox中的數(shù)據(jù)都是常數(shù))。
1.1 輪密鑰算法
RKi即為第i輪加密的密鑰。
SMS4密碼算法中主要包括異或、移位、查表等基本的運算。異或模塊的運算單元都是128位的二進制數(shù)值,其運算結果由2個操作數(shù)決定;與運算模塊是將128位的數(shù)據(jù)分割為4個32位的數(shù)據(jù);移位運算模塊在SMS4算法中使用頻率較高,其將輸入的128位數(shù)據(jù)向左循環(huán)移動i位。
1.3 解密算法
當對方接收到經(jīng)過加密運算的密文時,需要進行32輪迭代的解密運算。解密運算和加密運算的結構相同,只是密鑰的使用順序相反。
2 SMS4加解密算法的實現(xiàn)
2.1 C語言實現(xiàn)SMS4密碼算法
軟件實現(xiàn)加解密算法產(chǎn)生密鑰很麻煩,受到素數(shù)產(chǎn)生技術的限制,難以做到一次一密,而且SMS4加密算法的安全性依賴于密碼算法本身,當攻擊者竊取到密鑰和密文后,通過計算就能得到實際傳輸?shù)男畔ⅰ?/p>
2.2 Verilog HDL實現(xiàn)密碼算法
FPGA 繼承了ASIC的大規(guī)模、高集成度、高可靠性等優(yōu)點,同時又避免了設計周期長、投資大、靈活性差等缺點。完整的FPGA設計包含輸入、功能仿真、綜合、綜合后仿真、實現(xiàn)、布線后仿真和下載調試等步驟。文章采用Verilog HDL編寫代碼、Xilinx公司的ISE 14.2平臺輸入代碼,自帶的仿真器ISim進行仿真。
3 結束語
分析SMS4密碼算法的軟件和硬件實現(xiàn)方法,軟件實現(xiàn)加解密算法密鑰的管理較復雜、密鑰分配協(xié)議有缺陷,軟件加密是在用戶的計算機內部進行,攻擊者采用分析程序進行跟蹤、反編譯等手段進行攻擊。硬件實現(xiàn)加解密算法具有較高的加解密速度,將密碼算法固化在硬件中,使算法不容易被修改,提高了系統(tǒng)的安全性,加密芯片采用 EDA技術,將密碼算法固化在硬件專用芯片F(xiàn)PGA中,具有防篡改、防泄露等較高的安全性。硬件實現(xiàn)加解密算法比軟件實現(xiàn)更快捷、更安全。
參考文獻
[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-),女,貴州大學電子信息學院碩士研究生,主要研究方向:電路系統(tǒng)設計自動化。