摘 要: 提出了一種TOYOCRYPT-HS1算法高速實現(xiàn)架構(gòu),不僅能夠滿足算法中LFSR特征多項式可變的要求,而且實現(xiàn)了LFSR和非線性布爾函數(shù)的并行化設(shè)計,顯著提高了算法的處理性能。最后通過實驗驗證和性能比較可以看出,該TOYOCRYPT-HS1算法高速實現(xiàn)架構(gòu)具有較大的性能優(yōu)勢,最大吞吐率達到1.54 Gb/s。
關(guān)鍵詞:序列密碼; TOYOCRYPT-HS1; 線性反饋移位寄存器; 非線性布爾函數(shù); 并行處理
序列密碼[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芯片作為目標器件,在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)勢。





