《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的LFSR異步加解密系統(tǒng)
基于FPGA的LFSR異步加解密系統(tǒng)
2016年電子技術(shù)應(yīng)用第6期
潘必韜,聶小龍,王祖強(qiáng)
山東大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南250100
摘要: 線性反饋移位寄存器(LFSR)偽隨機(jī)序列作為流密碼的一種,具有原理清晰、不可預(yù)測性強(qiáng)的特點,被廣泛應(yīng)用于各種加解密場合。針對目前基于LFSR的加解密系統(tǒng)只能應(yīng)用于同步工作模式的局限性,設(shè)計了一種可配置的LFSR異步加解密系統(tǒng),并對其進(jìn)行了基于FPGA的硬件實現(xiàn)。實驗結(jié)果顯示,其既具備LFSR序列的優(yōu)秀性能,又可以實現(xiàn)異步加解密,具有一定的實際應(yīng)用價值。
關(guān)鍵詞: LFSR FPGA 異步加解密
中圖分類號: TN918
文獻(xiàn)標(biāo)識碼: A
DOI: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.
Asynchronous LFSR encryption system based on FPGA
Pan Bitao,Nie Xiaolong,Wang Zuqiang
School of Information Science and Engineering,Shandong University,Jinan 250100,China
Abstract: 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.
Key words : LFSR;FPGA;asynchronous encryption

0 引言

    隨著信息技術(shù)的不斷發(fā)展,信息安全已成為全世界的熱門研究課題,而數(shù)據(jù)的有效加解密則顯得尤為重要。雖然國內(nèi)外研究者在軟件加密層面上做了大量的工作,但仍存在著信息易被竊取等問題。相對而言,硬件加密因為其加解密過程在硬件中執(zhí)行,加解密信息均存儲于專用硬件之中[1],使得其更具安全性。因此,研究加解密系統(tǒng)的硬件實現(xiàn)更具有現(xiàn)實意義。

    LFSR偽隨機(jī)序列作為一種成熟流密碼,其優(yōu)點突出,且非常適合于硬件高速實現(xiàn)[2]FPGA采用流水線和并行運(yùn)算,在數(shù)據(jù)處理中具有靈活高效的特點,很適合于硬件加解密系統(tǒng)的設(shè)計與實現(xiàn)[3]。

    雖然利用LFSR序列進(jìn)行加解密的硬件實現(xiàn)已有大量實例,但其均為同步加解密,具有很大的局限性。本文所提出的異步LFSR加解密系統(tǒng)即是針對這一問題而作出的改進(jìn)。首先對LFSR偽隨機(jī)序列產(chǎn)生的基本原理進(jìn)行了闡述;然后分析了一種基于LFSR偽隨機(jī)序列的同步加解密系統(tǒng);在此基礎(chǔ)之上,提出了可配置的LFSR異步加解密系統(tǒng)的設(shè)計及其利用FPGA的實現(xiàn),最后對全文進(jìn)行了總結(jié)。

1 LFSR原理簡介

    一個m位的線性移位寄存器(LFSR)可以由m個寄存器以及決定序列狀態(tài)轉(zhuǎn)換的反饋結(jié)構(gòu)組成。用于硬件實現(xiàn)的LFSR的拓?fù)浣Y(jié)構(gòu)如圖1所示。

qrs2-t1.gif

    該拓?fù)浣Y(jié)構(gòu)中g(shù)m代表反饋系數(shù),其值為1表示連接,0表示未連接。每一時刻的各位寄存器的輸出則為當(dāng)前的序列輸出值,下一時刻的輸出由當(dāng)前狀態(tài)和反饋支路決定。其數(shù)學(xué)抽象形式可以表示為GF(2m)上的一個多項式,反饋系數(shù)則抽象成為其多項式的系數(shù)。如果反饋系數(shù)選取得當(dāng),使得其抽象多項式為GF(2m)上的本原多項式時,由m個寄存器組成的序列發(fā)生器可以有2m-1個不同狀態(tài)[4]。所以,當(dāng)m的值增大時,該偽隨機(jī)序列發(fā)生器的周期增長是非??捎^的,在一個周期之內(nèi),其序列輸出值不可預(yù)測,保證了其安全性,從而確保了加密效果。

2 現(xiàn)有的同步LFSR加解密系統(tǒng)

    現(xiàn)有的這方面的一個典型系統(tǒng)工作原理[5]如圖2所示。該系統(tǒng)設(shè)計用LFSR偽隨機(jī)序列來加解密輸入模擬信號。其基本原理是將輸入待加密的明文信號與LFSR序列進(jìn)行兩次異或來加解密,用m、k、c分別來表示明文、密鑰、密文,則由于:

     qrs2-2-x1.gif

所以第一次異或?qū)⒚魑男畔⒓用埽诙萎惢騽t將密文解密,得出明文信號。整個過程的關(guān)鍵在于時序的控制使其達(dá)到嚴(yán)格同步。該系統(tǒng)結(jié)構(gòu)清晰,原理明確。但有幾點缺陷:

    (1)系統(tǒng)只在同步時可以進(jìn)行工作,然而大多數(shù)情況之下這種即時加解密的方法不能滿足需求。而需要先加密,傳輸,之后再解密。

    (2)由于系統(tǒng)的加解密結(jié)構(gòu),使得一幀數(shù)據(jù)加解密工作要在一個LFSR序列信號周期內(nèi)完成,將限制時鐘頻率、降低效率。

    (3)由于該系統(tǒng)需要加解密序列嚴(yán)格同步,所以容錯率低,且只要出現(xiàn)一位的偏移將影響整個系統(tǒng)。

    對于以上問題,本文提出了一種可配置LFSR序列異步加解密系統(tǒng),將在下文討論。

qrs2-t2.gif

3 可配置的LFSR序列加解密系統(tǒng)

    針對現(xiàn)有LFSR同步加解密系統(tǒng)所存在的問題,設(shè)計了一種異步加解密系統(tǒng)。該系統(tǒng)將在加密之前對LFSR進(jìn)行配置,設(shè)置其初值和反饋結(jié)構(gòu)。傳輸數(shù)據(jù)時將初值信號與反饋的配置信息封裝于密文之前,解密時再根據(jù)其接收到的密文中的配置信息進(jìn)行解密端配置,然后進(jìn)行解密。整個過程將實現(xiàn)異步加解密,其結(jié)構(gòu)如圖3所示。

qrs2-t3.gif

    其中最關(guān)鍵的部分為可配置LFSR序列發(fā)生器,其總體結(jié)構(gòu)如圖4所示。

qrs2-t4.gif

    對于m位的LFSR序列產(chǎn)生器,其整體的配置模塊為m個單個配置結(jié)構(gòu)的并聯(lián)。單個寄存器的配置器如圖5所示。其中初值賦值部分為寄存器賦初值,而反饋系數(shù)賦值部分則用來配置反饋網(wǎng)絡(luò)。

qrs2-t5.gif

    其中初值配置模塊如圖6所示。它接收初值信號,當(dāng)初值為1,即input為1時,prn輸出0,clrn輸出1,完成寄存器的置1設(shè)置。反之,當(dāng)初值為0時,clrn輸出0,prn輸出1,完成寄存器的置0設(shè)置。

    其中反饋結(jié)構(gòu)配置模塊如圖7所示。其接收到的輸入信號為Qm與gi,且當(dāng)gi為1時,表示連接,output輸出Qm的值,當(dāng)gi為0時,表示未連接,則output輸出為0,因為xqrs2-t6-7-x1.gif0=x,與無連接的效果一樣。

qrs2-t6-7.gif

4 加解密系統(tǒng)控制流程

    基于前文所述的硬件結(jié)構(gòu),設(shè)計了整個加解密系統(tǒng)的工作流程,其加密與解密流程相對稱,分別如圖8和圖9所示。

qrs2-t8-9.gif

5 系統(tǒng)仿真及測試結(jié)果

5.1 系統(tǒng)仿真時序圖

    圖10為可配置LFSR加解密裝置的加密過程仿真時序圖。仿真所用的LFSR生成器為8位,其最大周期為255。選用的反饋系數(shù)為g(8)=01110001(由于g0默認(rèn)為1,故從g1開始配置)。

qrs2-t10.gif

    Reset信號觸發(fā)之后,EN為初始配置信號變?yōu)橛行?,其占?個時鐘周期,完成的工作為將初始的配置信息中的Q0=10011100(156)與g(8)=01110001(q的ASCII碼)存入輸出信號cout,并配置LFSR生成器。當(dāng)配置結(jié)束后,加密工作開始進(jìn)行。輸出密文c為明文m與LFSR輸出密鑰k的異或,最終輸出cout為加入配置信息的密文。相應(yīng)地,其解密過程的仿真時序圖如圖11所示。

qrs2-t11.gif

    Reset信號觸發(fā)之后,初始配置信號EN變?yōu)橛行?,其占?個時鐘周期,完成的工作為將接收到密文c中的前兩幀數(shù)據(jù)讀出,并配置LFSR生成器。當(dāng)配置結(jié)束后,解密工作開始進(jìn)行,解密輸出的明文從EN無效后開始。由圖10、圖11所示,其加解密過程都可以完美運(yùn)行。

5.2 實際加解密測試結(jié)果

    用上述加解密裝置對一幅512×512的灰度圖像進(jìn)行加密、解密可得其結(jié)果分別如圖12、圖13所示??梢娂咏饷苄Ч昝?,可以實際使用。

qrs2-t12-13.gif

6 結(jié)語

    本文設(shè)計了一種可配置的LFSR序列生成器以及其所應(yīng)用的異步加解密裝置。在對原始LFSR加解密系統(tǒng)進(jìn)行了闡述與分析后,提出了一種可配置的LFSR異步加解密系統(tǒng),并對其進(jìn)行了基于FPGA的硬件實現(xiàn)。觀察實驗結(jié)果可知,其不僅具有異步加解密的實用性,又具有LFSR序列的可靠性。

參考文獻(xiàn)

[1] 賈立愷,黃國慶,趙敬,等.基于FPGA的PCI硬件加解密卡設(shè)計[J].電子設(shè)計工程,2010,18(5):142-145.

[2] 胡向東.應(yīng)用密碼學(xué)[M].北京:電子工業(yè)出版社,2011.

[3] 劉景亞,季曉勇.基于FPGA的CPRS混沌加解密算法高效實現(xiàn)[J].電子測量技術(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。