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