日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

利用FPGA實(shí)現(xiàn)DES加密算法的動態(tài)配置

出處:姚 霽, 劉建華, 范九倫 發(fā)布于:2023-06-21 14:05:57

   隨著社會的進(jìn)步,人們生活水平的提高,隱私保密顯得越來越重要;在商業(yè)和軍用軍用領(lǐng)域,信息的保密性同樣至關(guān)重要,這在一定程度上推動了密碼學(xué)的發(fā)展。隨著密碼學(xué)技術(shù)的飛速發(fā)展,軟件加密已經(jīng)非常流行,但由于硬件加密的穩(wěn)定性和兼容性更好而且速度更快,所以仍是商業(yè)和軍事用途的主要選擇。而FPGA在實(shí)現(xiàn)算法方面具有靈活性、物理安全性和比軟件更高的速度性能,已成為硬件實(shí)現(xiàn)加密算法的選擇。

    數(shù)據(jù)加密標(biāo)準(zhǔn)DES(Data Encryption Standard)是迄今為止世界上為廣泛使用的一種分組密碼算法。本文提出了一種密鑰可配置的DES算法的FPGA實(shí)現(xiàn)方案:即在傳統(tǒng)DES算法的基礎(chǔ)上,采取密鑰可配置的方法,增加密鑰復(fù)雜度,加強(qiáng)密鑰保護(hù),利用初始密鑰選擇的隨機(jī)性,增強(qiáng)算法抗攻擊能力,通過選擇多種密鑰產(chǎn)生方法,進(jìn)行DES加密。因此,即便知道了密文和密鑰,由于不知道采取何種密鑰產(chǎn)生方式,仍然難以攻破。

1 加密算法理論

1.1 DES算法原理

    數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法是用于計(jì)算機(jī)數(shù)據(jù)加密保護(hù)的分組加密的數(shù)學(xué)算法,算法以64 bit為一個分組對數(shù)據(jù)進(jìn)行加密。使用64 bit的密鑰加密64 bit分組的信息。首先將原始數(shù)據(jù)64 bit明文進(jìn)行初始置換IP,然后與子密鑰(由加密密鑰產(chǎn)生)進(jìn)行一系列迭代運(yùn)算,再經(jīng)過逆置換IP-1,即可得到64 bit密文(加密后數(shù)據(jù))。在每一輪中,數(shù)列塊的右邊32 bit數(shù)據(jù)和密鑰(Key)一起傳送給函數(shù)f,函數(shù)f運(yùn)算的結(jié)果再與數(shù)列塊左邊32 bit數(shù)據(jù)進(jìn)行“異或”操作。其中S盒(S選擇函數(shù))是DES算法的心臟,由它實(shí)現(xiàn)非線性變換。

    解密過程與此類似,只是在應(yīng)用子密鑰時,順序顛倒為k16,k15,…k2,k1。DES加密原理??梢钥吹捷喢荑€產(chǎn)生器相對于DES算法是獨(dú)立運(yùn)算的,這就為密鑰的配置提供了可能和便利。


    因?yàn)樵撍惴ㄊ枪_的,因此64 bit的密鑰算法是極其重要的,因?yàn)樗菍?dǎo)致由64 bit的明文到64 bit密文集合的密碼運(yùn)算。故DES的加密安全依賴于對密碼的保護(hù)。

1.2 線性反饋移位寄存器

因?yàn)榻酉聛淼乃惴ㄓ杏玫骄€性反饋移位寄存器,所以先來看下什么是線性反饋移位寄存器。要理解什么是線性反饋移位寄存器,要先來看下什么是反饋移位寄存器。ai表示二值(0,1)存儲單元,ai的個數(shù)n成為反饋移位寄存器的級。在某一時刻,這些級構(gòu)成該反饋移位寄存器的一個狀態(tài),共有2n個可能狀態(tài),每一個狀態(tài)對應(yīng)于域GF(2)上的一個n維向量,用(a1,a2,a3,…an)表示。在主時鐘周期的周期區(qū)間上,每存儲器ai都將內(nèi)容向下ai-1傳遞,并根據(jù)寄存器的當(dāng)前狀態(tài)f(a1,a2,a3,…an)作為an的下一時間內(nèi)容,即從一個狀態(tài)轉(zhuǎn)移到下一個狀態(tài)。其中函數(shù)f(a1,a2,a3,…an)稱為該反饋移位寄存器的反饋函數(shù)。有了反饋移位寄存器的概念后,接下來可以來看下什么是線性反饋移位寄存器。如果反饋函數(shù)f(a1,a2,a3,…an)是a1,a2,a3,…an 的線性函數(shù)函數(shù),則該反饋移位寄存器是線性反饋移位寄存器用LFSR表示,比如:f(a1,a2,a3,…an)=kna1⊕kn-1a2⊕….⊕k2an-1⊕k1an,其中系數(shù)ki∈{0,1}(i=1,2,3,…,n)。相應(yīng)的如果反饋函數(shù)f(a1,a2,a3,…an)是a1,a2,a3,…an 的非線性函數(shù)函數(shù),則該反饋移位寄存器是非線性反饋移位寄存器。

線性反饋移位寄存器LFSR(Linear Feedback Shift Register)是一種非常成熟的序列生成方法,已被廣泛地應(yīng)用于密碼技術(shù)、通信技術(shù)等方面。


    若反饋函數(shù)為線性函數(shù)f(a1,a2,…an)=c1a1c2a2cnan,則稱為線性反饋移位寄存器(LFSR)。其中,a1,a2,…an為二值(0,1)存儲單元,這n個二值存儲單元稱為該反饋移位寄存器的級。任一時刻,這些級的內(nèi)容構(gòu)成反饋移位寄存器的狀態(tài),每個狀態(tài)可以用n長序列(a1,a2,…an)來表示,對應(yīng)1個GF(2)域上的n維向量。反饋函數(shù)f(a1,a2,…an)是n元布爾函數(shù)。在時鐘脈沖的控制下,每經(jīng)過1個時刻,每存儲器ai都要將自己存儲的內(nèi)容向下ai-1傳遞,反饋函數(shù)由存儲器當(dāng)前狀態(tài)計(jì)算出an下一時刻的內(nèi)容。

由于線性反饋移位寄存器易于構(gòu)造且易于應(yīng)用軟件和數(shù)字硬件實(shí)現(xiàn),所以密碼設(shè)計(jì)者常用它來構(gòu)造序列密碼。本文采用線性反饋移位寄存器作為對初始密鑰的一種配置。

1.3 混沌密碼

混沌系統(tǒng)的理論基礎(chǔ)是混沌理論,混沌理論(Chaos theory)是一種兼具質(zhì)性思考與量化分析的方法,用以探討動態(tài)系統(tǒng)中(如:人口移動、化學(xué)反應(yīng)、氣象變化、社會行為等)無法用單一的數(shù)據(jù)關(guān)系,而必須用整體、連續(xù)的數(shù)據(jù)關(guān)系才能加以解釋及預(yù)測之行為。由于混沌系統(tǒng)具有的寬頻譜、類隨機(jī)特性、對結(jié)構(gòu)參數(shù)及初始狀態(tài)的極端敏感性等性質(zhì),日益成為密碼學(xué)的重要分支?;煦缑艽a在硬件實(shí)現(xiàn)時,應(yīng)該在盡量提高、逼近混沌特性的同時,提高運(yùn)算速度,滿足工程中實(shí)時處理的要求。而一維Logistic映射從數(shù)學(xué)形式上來看是一個非常簡單的混沌映射,但此系統(tǒng)具有極其復(fù)雜的動力學(xué)行為,在保密通信領(lǐng)域的應(yīng)用十分廣泛[2]。因此本設(shè)計(jì)就采用了Logistic映射對密鑰進(jìn)行混淆。
Logistic映射是混沌模型中的一種,它是一個離散混沌系統(tǒng),表達(dá)式為:xn+1=u×xn×(1-xn),(n=1,2,),其中初始值x0∈(0,1)?;煦鐒恿ο到y(tǒng)的研究指出,當(dāng)3≤u≤4時,Logistic映射由出現(xiàn)倍分岔現(xiàn)象逐步趨于混沌狀態(tài)[3],即由初始條件在Logistic映射的作用下所產(chǎn)生的{xn,n=0,1,2,)是非周期、不收斂的,且對初始值非常敏感的混沌序列。當(dāng)u=4時,表達(dá)式為:xn+1=4×xn×(1-xn), 此時構(gòu)成的動態(tài)系統(tǒng)在連續(xù)域上是混沌的,x0取(0,1)內(nèi)的值。

2 FPGA上的算法實(shí)現(xiàn)

采用基于SRAM技術(shù)的FPGA設(shè)計(jì)的電路雖然不具有保密性,但是基于Kerckhoff原則--“所有算法都是公開的,只有密鑰是保密的”,所實(shí)現(xiàn)算法的硬件電路是可行且安全的。為了增強(qiáng)DES算法的安全性,本文提出了對密鑰進(jìn)行動態(tài)配置來改進(jìn)DES算法,利用線性反饋移位寄存器和Logistic映射增加初始密鑰的復(fù)雜度。具體配置方法為:根據(jù)控制信號,將輸入的64 bit密鑰進(jìn)行配置,既可以直接將初始密鑰引入,參與DES加密算法,又可以經(jīng)過線性反饋移位寄存器,得到新的密鑰流參與DES加密算法,還可以經(jīng)過混沌加密進(jìn)一步增強(qiáng)DES算法的密鑰安全性。

2.1 密鑰流生成器的選取

本設(shè)計(jì)中,選取線性反饋移位寄存器和混沌序列作為密鑰流生成器。由于N級線性反饋移位寄存器輸出的序列是周期性的,非常適合硬件實(shí)現(xiàn),且周期為2n-1,為了產(chǎn)生64 bit的密鑰序列,設(shè)計(jì)5級移位寄存器(周期為31),其狀態(tài)關(guān)系為:
                               
    這樣無需等64個時鐘周期,只需31個周期就可以得到64 bit的密鑰。為了從混沌序列中獲得每輪64 bit的輪密鑰,需要對產(chǎn)生的混沌序列進(jìn)行有限的二進(jìn)制編碼,即把混沌序列中的每一項(xiàng)與一個定長的二進(jìn)制編碼相對應(yīng)。當(dāng)u=4時,量化后的表達(dá)式為:
                         
    初始值x0為(0,2n-1)之間的整數(shù),取n=16 bit,使用映射函數(shù)把4個連續(xù)的序列項(xiàng)映射成1個輪密鑰,即rkey={key1,key2,key3,key4}。這樣產(chǎn)生的輪密鑰既有隨機(jī)性又有獨(dú)立性。

2.2 硬件實(shí)現(xiàn)結(jié)構(gòu)

傳統(tǒng)的DES算法主要有2組輸入信號:明文datain[63:0]、密鑰keyin[63:0];2組輸出信號:密文dataout[63:0]以及有效信號dataout_en。為了實(shí)現(xiàn)對密鑰的配置,增加了密鑰選擇輸入信號key_sel[1:0]:當(dāng)取00或者11時,直接將密鑰keyin送至DES模塊中的密鑰產(chǎn)生模塊;當(dāng)取01時,將密鑰keyin先送至線形反饋移位寄存器中生成新的序列密碼作為新的密鑰送至密鑰產(chǎn)生模塊中;當(dāng)keyin取10時,將密鑰keyin先送至混沌加密模塊中生成新的混沌序列作為新的密鑰參與后續(xù)的加密運(yùn)算。這2個模塊不可能同時工作,當(dāng)其中1個工作時,另1個關(guān)閉時鐘。采取關(guān)閉時鐘法選擇對應(yīng)的加密算法,既能簡化電路,減少控制信號,減少門的翻轉(zhuǎn)次數(shù),又能降低芯片集成度,進(jìn)而達(dá)到降低功耗的目的。


目前常用的FPGA/CPLD設(shè)計(jì)思想與技巧有四種,分別是乒乓操作、串并轉(zhuǎn)換設(shè)計(jì)技巧、流水線操作設(shè)計(jì)思想、數(shù)據(jù)接口的同步方法。乒乓操作具有如下的有點(diǎn):1):乒乓操作的特點(diǎn)是通過“輸入數(shù)據(jù)選擇單元”和“輸出數(shù)據(jù)選擇單元”按節(jié)拍、相互配合的切換,將經(jīng)過緩沖的數(shù)據(jù)流沒有停頓地送到“數(shù)據(jù)流運(yùn)算處理模塊”進(jìn)行運(yùn)算與處理。2):乒乓操作的第二個優(yōu)點(diǎn)是可以節(jié)約緩沖區(qū)空間。比如在WCDMA基帶應(yīng)用中,1個幀是由15個時隙組成的,有時需要將1整幀的數(shù)據(jù)延時一個時隙后處理,比較直接的辦法是將這幀數(shù)據(jù)緩存起來,然后延時1個時隙進(jìn)行處理。這時緩沖區(qū)的長度是1整幀數(shù)據(jù)長,假設(shè)數(shù)據(jù)速率是3.84Mbps,1幀長10ms,則此時需要緩沖區(qū)長度是38400位。如果采用乒乓操作,只需定義兩個能緩沖1個時隙數(shù)據(jù)的RAM(單口RAM即可)。3):另外,巧妙運(yùn)用乒乓操作還可以達(dá)到用低速模塊處理高速數(shù)據(jù)流的效果?;诖?,同時為了有效地控制密鑰生成模塊的工作,降低系統(tǒng)功耗,本設(shè)計(jì)采用了FPGA設(shè)計(jì)中的乒乓操作技巧,具體操作為:對線性反饋移位寄存器(LFSR)和混沌加密模塊(logistic)分別使用獨(dú)立的時鐘信號clk_lf、clk_lo,而不使用系統(tǒng)時鐘clk。通過密鑰選擇輸入信號key_sel的取值不同,使clk_lf和clk_lo的值分別等于0或是系統(tǒng)時鐘clk。


    DES加密算法作為本設(shè)計(jì)中的算法,以多輪的密鑰變換輪函數(shù)、密鑰和數(shù)據(jù)運(yùn)算輪函數(shù)為特征,相應(yīng)的硬件實(shí)現(xiàn)方法有2種:一種是通過輪函數(shù)的16份硬件拷貝,達(dá)到深度細(xì)化的流水線處理,實(shí)現(xiàn)性能;另一種是通過分時復(fù)用,重復(fù)調(diào)用1份輪函數(shù)的硬件拷貝,以時間換空間,從而得到硬件資源占用的化。


    本設(shè)計(jì)采取的是資源優(yōu)先方案:即僅用硬件實(shí)現(xiàn)一套密鑰變換和密鑰加數(shù)據(jù)運(yùn)算輪函數(shù),通過反復(fù)16次調(diào)用這一硬件結(jié)構(gòu)來實(shí)現(xiàn)1次DES加密運(yùn)算。這樣可以大大減少了硬件開銷,但芯片的性能有所降低。因此,又采取在輪函數(shù)內(nèi)部設(shè)置流水線來提高整體處理的速度。在硬件上實(shí)現(xiàn)數(shù)據(jù)加密鑰輪函數(shù)和密鑰變換函數(shù)的同步流水線架構(gòu),減少了相鄰流水線級間的邏輯復(fù)雜度,通過設(shè)置輪計(jì)數(shù)器對所進(jìn)行的輪運(yùn)算計(jì)數(shù),控制數(shù)據(jù)選擇器,從而實(shí)現(xiàn)輪函數(shù)復(fù)用。


3 仿真及驗(yàn)證


    本文所有算法均采用Verilog HDL實(shí)現(xiàn),并在Modelsim仿真環(huán)境下,編寫了測試激勵,進(jìn)行RTL級功能仿真。此時key_sel和arith_sel輸入為1時,密鑰流采取了混沌加密,算法采用了DES算法,輸入明文為:636F6D7075746572,密鑰數(shù)據(jù)為7365637572697479,經(jīng)過組合加密后得到的密文為49D28E37281FFFB2。




    行為級仿真通過后,又采用了FPGA專用綜合工具Synplify對算法進(jìn)行了綜合。結(jié)果表明:該組合加密模塊耗費(fèi)3056 LE,該模塊到Virtex-II芯片中,工作頻率可達(dá)50 MHz。由于本設(shè)計(jì)采用16級流水總線設(shè)計(jì),所以數(shù)據(jù)編碼/解碼速率可達(dá)3 Gb/s。綜合完成后,又使用XILINX的ISE軟件進(jìn)行布局布線,并提取了網(wǎng)表和延時文件,在Modelsim后仿其環(huán)境中進(jìn)行了時序后仿真,結(jié)果完全符合時序要求,達(dá)到了設(shè)計(jì)目的。


    加密數(shù)據(jù)的安全不僅依賴于加密算法的保密,更依賴于加密密鑰的安全。本文通過對整個加密算法的分析,提出了較為合理的密鑰動態(tài)配置的DES加密算法的設(shè)計(jì)方法和實(shí)現(xiàn)途徑,并在FPGA平臺上進(jìn)行了測試和驗(yàn)證,數(shù)據(jù)的連續(xù)加/解密傳輸達(dá)到了預(yù)先的設(shè)計(jì)要求。這種實(shí)現(xiàn)方法整體處理速度高,相鄰流水線級間的邏輯復(fù)雜程度低,程序?qū)幾g器的依賴性少,提高了算法的整體性能。通過適當(dāng)改進(jìn),可以設(shè)計(jì)出通用型芯片,實(shí)現(xiàn)對通信數(shù)據(jù)的實(shí)時、可靠加密傳輸,在通信、軍事、加密等領(lǐng)域有著廣泛的應(yīng)用前景。

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!