文獻標(biāo)識碼: A
文章編號: 0258-7998(2012)07-0144-03
序列密碼[1]又稱流密碼,是現(xiàn)代密碼學(xué)的一個重要分支,利用不斷變化的加密變換對明文消息進行逐字符(通常為二進制數(shù))的加密變換,是“一次一密”的密碼體制。因其具有實現(xiàn)簡單、加解密速度快、密文傳輸中的錯誤不會在明文中產(chǎn)生大范圍擴散等特點,已成為新一代通信系統(tǒng)的主流加密算法[2]。
前饋模型是一種典型的序列密碼結(jié)構(gòu)模型,一般由1~n個反饋移位寄存器和前饋函數(shù)構(gòu)成[3]。反饋移位寄存器的狀態(tài)值不僅參與自身反饋函數(shù)的計算,實現(xiàn)狀態(tài)更新,同時要輸出到前饋函數(shù)中完成密鑰的計算生成。TOYOCRYPT-HS1算法[4-7]是提交給日本技術(shù)信息促進機構(gòu)密碼研究評估委員會的一個序列密碼算法,是一種典型的前饋模型序列密碼。其線性反饋移位寄存器LFSR(Linear Feedback Shift Register)基于Galois配置,第i級輸出序列由第i+t級的輸出序列右移d位形成,d的值只能通過求解GF(2n)上的一個離散對數(shù)問題才能得到,且d的值一般都很大[8]??梢?,無論從安全性方面還是高效性方面,Galois配置的LFSR(下文中的LFSR特指Galois配置的LFSR)都是一種非常重要的計算結(jié)構(gòu),因而TOYOCRYPT-HS1算法具有一定的典型性,研究其高速實現(xiàn)方法具有重要的理論意義和實用價值。
寄存器堆是架構(gòu)的重要部件,根據(jù)存儲信息的不同用途,可劃分為密鑰寄存器、配置寄存器以及數(shù)據(jù)寄存器。密鑰寄存器用來存儲算法的128 bit主密鑰;配置寄存器用來存儲由特征多項式?jīng)Q定的128 bit反饋抽頭,以滿足算法中反饋抽頭位置可變的要求;數(shù)據(jù)寄存器用來存儲運算中產(chǎn)生的臨時數(shù)據(jù),既可以實現(xiàn)小于等于d的可變步數(shù)的LFSR并行更新操作,又能夠支持密鑰的并行生成。
根據(jù)LFSR的并行更新原理,依據(jù)提出的LFSR狀態(tài)轉(zhuǎn)移矩陣列向量預(yù)計算算法,LFSR并行更新電路根據(jù)LFSR的反饋抽頭、LFSR的狀態(tài)序列、并行更新時每一步對應(yīng)的狀態(tài)轉(zhuǎn)移矩陣首列反饋抽頭和首位狀態(tài)信息等,在一個時鐘周期內(nèi)計算生成1~d步的并行更新數(shù)據(jù)。
算法中非線性布爾函數(shù)f(x0,x1,…,x127)中有1個1次項、63個2次與項、1個4次與項、1個17次與項和1個63次與項。分析各種與項的構(gòu)成,考慮輸入變量數(shù)量、與項的次數(shù)和個數(shù),2次、4次低次與項可以采用查找表的方式實現(xiàn),17次、63次高次與項可以采用與陣列的方式實現(xiàn),所有與項的計算結(jié)果與1次項一起經(jīng)由“異或”運算產(chǎn)生1 bit密鑰輸出。架構(gòu)中共設(shè)置d個非線性布爾函數(shù)單元,每個單元與某一時刻LFSR狀態(tài)序列中的某些狀態(tài)位連接,能夠同時計算輸出d bit密鑰。
4 實現(xiàn)結(jié)果與性能分析
4.1實現(xiàn)結(jié)果
本文采用Verilog HDL硬件描述語言對TOYOCRYPT-HS1算法高速實現(xiàn)架構(gòu)進行RTL級建模,并選用Altera公司Stratix III系列FPGA中的EP3SL340F1760C3芯片作為目標(biāo)器件,在Quartus II 9.0環(huán)境下進行編譯和綜合。表1給出了該架構(gòu)在不同并行更新步數(shù)下基于FPGA的實現(xiàn)結(jié)果。
4.2 性能分析
圖3給出了本文提出的高速架構(gòu)與參考文獻[4]中TOYOCRYPT-HS1算法實現(xiàn)的性能比較。參考文獻[4]沒有進行并行處理,每個時鐘周期內(nèi)LFSR更新1步,同時輸出1 bit密鑰。而本文提出的高速架構(gòu)采用了并行化設(shè)計技術(shù),LFSR的并行更新和非線性布爾函數(shù)的密鑰生成分別在1個時鐘周期內(nèi)完成,所有該架構(gòu)能夠在2個時鐘周期內(nèi)輸出d bit密鑰。比較發(fā)現(xiàn),通過采用并行化的設(shè)計方法,本文提出的高速架構(gòu)大大提升了TOYOCRYPT-HS1算法的處理性能,具有明顯的性能優(yōu)勢。
本文分析了TOYOCRYPT-HS1算法的結(jié)構(gòu)特征,研究了LFSR的并行更新技術(shù),提出了一種高速實現(xiàn)TOYOCRYPT-HS1算法的硬件架構(gòu)?;诳芍貥?gòu)的設(shè)計思想,將由固定密鑰生成的特征多項式作為LFSR反饋抽頭配置信息,能夠滿足算法中LFSR特征多項式可變的要求,同時實現(xiàn)了LFSR和非線性布爾函數(shù)的并行化設(shè)計。實驗結(jié)果表明,本文設(shè)計的TOYOCRYPT-HS1算法高速實現(xiàn)架構(gòu)在處理性能上具有較大的優(yōu)勢,最大吞吐率達到1.54 Gb/s。
參考文獻
[1] 羅啟彬,張健.流密碼的現(xiàn)狀和發(fā)展[J].信息與電子工程,2006,4(1):75-80.
[2] 王相生. 序列密碼設(shè)計與實現(xiàn)的研究[D]. 上海:中國科學(xué)院上海冶金研究所,2001.
[3] 宋震.密碼學(xué)[M].北京:中國水利水電出版社,2002.
[4] Self evaluation report TOYOCRYPT-HS1[S]. October 2000.
[5] Cryptographic techniques sSpecifications TOYOCRYPT-HR1[S]. October 2000.
[6] DAWSON E, CLARK A, GUSTAFSON H, et al. Evaluation of TOYOCRYPT-HR1[D]. Information Security Research Centre Queensland University of Technology. 2001.
[7] MIHALJEVIC M, IMAI H. Cryptanalysis of Toyocrypt-HS1 stream cipher[J]. IEICE Transactions on Fundamentals, 2002(E85-A):66-73.
[8] 金晨輝,張少武,胡斌,等.密碼學(xué)[M].北京:高等教育出版社,2007:93-111.
[9] ANTHONY T D, BERSON T, GONG G. The W7 stream cipher algorithm[EB]. Internet Draft, 2002.
[10] 秦曉懿,王澣晟,曾烈光.線性和非線性寄存器系統(tǒng)的并行化技術(shù)[J].電子學(xué)報,2003,32(3):406-410.