文獻(xiàn)標(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],??梢姡瑹o論從安全性方面還是高效性方面,,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)與參考文獻(xiàn)[4]中TOYOCRYPT-HS1算法實現(xiàn)的性能比較。參考文獻(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)勢,,最大吞吐率達(dá)到1.54 Gb/s,。
參考文獻(xiàn)
[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.