潘必韜,聶小龍,王祖強(qiáng)
(山東大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南 250100)
基于FPGA的LFSR異步加解密系統(tǒng)
潘必韜,聶小龍,王祖強(qiáng)
(山東大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南 250100)
線性反饋移位寄存器(LFSR)偽隨機(jī)序列作為流密碼的一種,具有原理清晰、不可預(yù)測(cè)性強(qiáng)的特點(diǎn),被廣泛應(yīng)用于各種加解密場(chǎng)合。針對(duì)目前基于 LFSR的加解密系統(tǒng)只能應(yīng)用于同步工作模式的局限性,設(shè)計(jì)了一種可配置的LFSR異步加解密系統(tǒng),并對(duì)其進(jìn)行了基于FPGA的硬件實(shí)現(xiàn)。實(shí)驗(yàn)結(jié)果顯示,其既具備LFSR序列的優(yōu)秀性能,又可以實(shí)現(xiàn)異步加解密,具有一定的實(shí)際應(yīng)用價(jià)值。
LFSR;FPGA;異步加解密
隨著信息技術(shù)的不斷發(fā)展,信息安全已成為全世界的熱門研究課題,而數(shù)據(jù)的有效加解密則顯得尤為重要。雖然國(guó)內(nèi)外研究者在軟件加密層面上做了大量的工作,但仍存在著信息易被竊取等問(wèn)題。相對(duì)而言,硬件加密因?yàn)槠浼咏饷苓^(guò)程在硬件中執(zhí)行,加解密信息均存儲(chǔ)于專用硬件之中[1],使得其更具安全性。因此,研究加解密系統(tǒng)的硬件實(shí)現(xiàn)更具有現(xiàn)實(shí)意義。
LFSR偽隨機(jī)序列作為一種成熟流密碼,其優(yōu)點(diǎn)突出,且非常適合于硬件高速實(shí)現(xiàn)[2]。FPGA采用流水線和并行運(yùn)算,在數(shù)據(jù)處理中具有靈活高效的特點(diǎn),很適合于硬件加解密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[3]。
雖然利用LFSR序列進(jìn)行加解密的硬件實(shí)現(xiàn)已有大量實(shí)例,但其均為同步加解密,具有很大的局限性。本文所提出的異步LFSR加解密系統(tǒng)即是針對(duì)這一問(wèn)題而作出的改進(jìn)。首先對(duì)LFSR偽隨機(jī)序列產(chǎn)生的基本原理進(jìn)行了闡述;然后分析了一種基于LFSR偽隨機(jī)序列的同步加解密系統(tǒng);在此基礎(chǔ)之上,提出了可配置的LFSR異步加解密系統(tǒng)的設(shè)計(jì)及其利用FPGA的實(shí)現(xiàn),最后對(duì)全文進(jìn)行了總結(jié)。
一個(gè)m位的線性移位寄存器(LFSR)可以由 m個(gè)寄存器以及決定序列狀態(tài)轉(zhuǎn)換的反饋結(jié)構(gòu)組成。用于硬件實(shí)現(xiàn)的LFSR的拓?fù)浣Y(jié)構(gòu)如圖1所示。
該拓?fù)浣Y(jié)構(gòu)中g(shù)m代表反饋系數(shù),其值為1表示連接,0表示未連接。每一時(shí)刻的各位寄存器的輸出則為當(dāng)前的序列輸出值,下一時(shí)刻的輸出由當(dāng)前狀態(tài)和反饋支路決定。其數(shù)學(xué)抽象形式可以表示為GF(2m)上的一個(gè)多項(xiàng)式,反饋系數(shù)則抽象成為其多項(xiàng)式的系數(shù)。如果反饋系數(shù)選取得當(dāng),使得其抽象多項(xiàng)式為GF(2m)上的本原多項(xiàng)式時(shí),由m個(gè)寄存器組成的序列發(fā)生器可以有2m-1個(gè)不同狀態(tài)[4]。所以,當(dāng) m的值增大時(shí),該偽隨機(jī)序列發(fā)生器的周期增長(zhǎng)是非常可觀的,在一個(gè)周期之內(nèi),其序列輸出值不可預(yù)測(cè),保證了其安全性,從而確保了加密效果。
現(xiàn)有的這方面的一個(gè)典型系統(tǒng)工作原理[5]如圖2所示。該系統(tǒng)設(shè)計(jì)用LFSR偽隨機(jī)序列來(lái)加解密輸入模擬信號(hào)。其基本原理是將輸入待加密的明文信號(hào)與 LFSR序列進(jìn)行兩次異或來(lái)加解密,用 m、k、c分別來(lái)表示明文、密鑰、密文,則由于:
所以第一次異或?qū)⒚魑男畔⒓用?,而第二次異或則將密文解密,得出明文信號(hào)。整個(gè)過(guò)程的關(guān)鍵在于時(shí)序的控制使其達(dá)到嚴(yán)格同步。該系統(tǒng)結(jié)構(gòu)清晰,原理明確。但有幾點(diǎn)缺陷:
(1)系統(tǒng)只在同步時(shí)可以進(jìn)行工作,然而大多數(shù)情況之下這種即時(shí)加解密的方法不能滿足需求。而需要先加密,傳輸,之后再解密。
(2)由于系統(tǒng)的加解密結(jié)構(gòu),使得一幀數(shù)據(jù)加解密工作要在一個(gè)LFSR序列信號(hào)周期內(nèi)完成,將限制時(shí)鐘頻率、降低效率。
(3)由于該系統(tǒng)需要加解密序列嚴(yán)格同步,所以容錯(cuò)率低,且只要出現(xiàn)一位的偏移將影響整個(gè)系統(tǒng)。
對(duì)于以上問(wèn)題,本文提出了一種可配置LFSR序列異步加解密系統(tǒng),將在下文討論。
圖2 一種同步LFSR加解密系統(tǒng)
針對(duì)現(xiàn)有LFSR同步加解密系統(tǒng)所存在的問(wèn)題,設(shè)計(jì)了一種異步加解密系統(tǒng)。該系統(tǒng)將在加密之前對(duì)LFSR進(jìn)行配置,設(shè)置其初值和反饋結(jié)構(gòu)。傳輸數(shù)據(jù)時(shí)將初值信號(hào)與反饋的配置信息封裝于密文之前,解密時(shí)再根據(jù)其接收到的密文中的配置信息進(jìn)行解密端配置,然后進(jìn)行解密。整個(gè)過(guò)程將實(shí)現(xiàn)異步加解密,其結(jié)構(gòu)如圖3所示。
圖3 異步LFSR加解密系統(tǒng)
其中最關(guān)鍵的部分為可配置 LFSR序列發(fā)生器,其總體結(jié)構(gòu)如圖4所示。為m個(gè)單個(gè)配置結(jié)構(gòu)的并聯(lián)。單個(gè)寄存器的配置器如圖5所示。其中初值賦值部分為寄存器賦初值,而反饋系數(shù)賦值部分則用來(lái)配置反饋網(wǎng)絡(luò)。
圖4 可配置LFSR序列發(fā)生器
對(duì)于m位的LFSR序列產(chǎn)生器,其整體的配置模塊
圖5 單個(gè)寄存器配置示意圖
其中初值配置模塊如圖6所示。它接收初值信號(hào),當(dāng)初值為1,即 input為1時(shí),prn輸出 0,clrn輸出1,完成寄存器的置1設(shè)置。反之,當(dāng)初值為0時(shí),clrn輸出 0,prn輸出1,完成寄存器的置0設(shè)置。
其中反饋結(jié)構(gòu)配置模塊如圖7所示。其接收到的輸入信號(hào)為Qm與 gi,且當(dāng) gi為1時(shí),表示連接,output輸出Qm的值,當(dāng) gi為0時(shí),表示未連接,則 output輸出為0,因?yàn)閤⊕0=x,與無(wú)連接的效果一樣。
圖6 初值配置示意圖
圖7 反饋信息配置示意圖
基于前文所述的硬件結(jié)構(gòu),設(shè)計(jì)了整個(gè)加解密系統(tǒng)的工作流程,其加密與解密流程相對(duì)稱,分別如圖8和圖9所示。
5.1 系統(tǒng)仿真時(shí)序圖
圖10為可配置 LFSR加解密裝置的加密過(guò)程仿真時(shí)序圖。仿真所用的 LFSR生成器為8位,其最大周期為255。選用的反饋系數(shù)為g(8)=01110001(由于 g0默認(rèn)為1,故從 g1開始配置)。
Reset信號(hào)觸發(fā)之后,EN為初始配置信號(hào)變?yōu)橛行?,其占?2個(gè)時(shí)鐘周期,完成的工作為將初始的配置信息中的 Q0=10011100(156)與g(8)=01110001(q的ASCII碼)存入輸出信號(hào) cout,并配置 LFSR生成器。當(dāng)配置結(jié)束后,加密工作開始進(jìn)行。輸出密文c為明文m與LFSR輸出密鑰k的異或,最終輸出 cout為加入配置信息的密文。相應(yīng)地,其解密過(guò)程的仿真時(shí)序圖如圖11所示。
圖8 加密流程圖
圖9 解密流程圖
圖10 加密過(guò)程的FPGA仿真圖示
圖11 解密過(guò)程的FPGA仿真圖示
Reset信號(hào)觸發(fā)之后,初始配置信號(hào) EN變?yōu)橛行?,其占?個(gè)時(shí)鐘周期,完成的工作為將接收到密文c中的前兩幀數(shù)據(jù)讀出,并配置LFSR生成器。當(dāng)配置結(jié)束后,解密工作開始進(jìn)行,解密輸出的明文從EN無(wú)效后開始。由圖10、圖11所示,其加解密過(guò)程都可以完美運(yùn)行。
5.2 實(shí)際加解密測(cè)試結(jié)果
用上述加解密裝置對(duì)一幅 512×512的灰度圖像進(jìn)行加密、解密可得其結(jié)果分別如圖12、圖13所示??梢娂咏饷苄Ч昝溃梢詫?shí)際使用。
圖12 加密前原始圖像
圖13 解密后的圖像
本文設(shè)計(jì)了一種可配置的LFSR序列生成器以及其所應(yīng)用的異步加解密裝置。在對(duì)原始 LFSR加解密系統(tǒng)進(jìn)行了闡述與分析后,提出了一種可配置的LFSR異步加解密系統(tǒng),并對(duì)其進(jìn)行了基于 FPGA的硬件實(shí)現(xiàn)。觀察實(shí)驗(yàn)結(jié)果可知,其不僅具有異步加解密的實(shí)用性,又具有LFSR序列的可靠性。
[1]賈立愷,黃國(guó)慶,趙敬,等.基于 FPGA的PCI硬件加解密卡設(shè)計(jì)[J].電子設(shè)計(jì)工程,2010,18(5):142-145.
[2]胡向東.應(yīng)用密碼學(xué)[M].北京:電子工業(yè)出版社,2011.
[3]劉景亞,季曉勇.基于FPGA的CPRS混沌加解密算法高效實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2008,31(11):175-177.
[4]WADE TRAPPE(美).密碼學(xué)與編碼理論(第2版)[M].北京:人民郵電出版社,2008.
[5]劉衛(wèi)玲,常曉明,王云才.基于FPGA和PSoC的混沌音頻加解密系統(tǒng)[J].電子技術(shù)應(yīng)用,2014,40(7):54-57.
Asynchronous LFSR encryption system based on FPGA
Pan Bitao,Nie Xiaolong,Wang Zuqiang
(School of Information Science and Engineering,Shandong University,Jinan 250100,China)
As a kind of stream cipher,linear feedback shift register(LFSR)pseudo random binary sequence(PRBS)has widely applied in many encryption occasions with characters like succinct principle and strong unpredictability,to solve the limitation that encryption system based on LFSR can only work in synchronous condition,this paper proposed a asynchronous configurable LFSR encryption system,and has implemented the system in hardware based on FPGA.The experiment results shows it not only applied the LFSR sequence′s outstanding performance but also implemented asynchronous encryption.It has a certain value of practical application.
LFSR;FPGA;asynchronous encryption
TN918
:ADOI:10.16157/j.issn.0258-7998.2016.06.015
潘必韜,聶小龍,王祖強(qiáng).基于 FPGA的 LFSR異步加解密系統(tǒng)[J].電子技術(shù)應(yīng)用,2016,42(6):56-58.
英文引用格式:Pan Bitao,Nie Xiaolong,Wang Zuqiang.Asynchronous LFSR encryption system based on FPGA[J].Application of Electronic Technique,2016,42(6):56-58.
2016-01-18)
潘必韜(1992-),男,碩士研究生,主要研究方向:FPGA在數(shù)字加密中的應(yīng)用。
聶小龍(1992-),男,碩士研究生,主要研究方向:FPGA視頻在視頻編碼器中的應(yīng)用。
王祖強(qiáng)(1957-),男,碩士生導(dǎo)師,教授,主要研究方向:電子設(shè)計(jì)自動(dòng)化及 ASIC設(shè)計(jì)。