《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 一種密鑰可配置的DES加密算法的FPGA實現(xiàn)

一種密鑰可配置的DES加密算法的FPGA實現(xiàn)

2009-10-27
作者:姚 霽, 劉建華, 范九倫

  摘 要: 在傳統(tǒng)的DES加密算法的基礎(chǔ)上,提出一種對密鑰實行動態(tài)管理的硬件設(shè)計方案,給出了其FPGA實現(xiàn)方法。通過對DES加密原理的分析,利用其子密鑰的生成與核心算法相關(guān)性較弱的特點,對密鑰進行重新配置。DES算法采用資源優(yōu)先方案,在輪函數(shù)內(nèi)部設(shè)置流水線架構(gòu),提高了整體處理速度;在FPGA上實現(xiàn)輪函數(shù)和密鑰變換函數(shù)獨立運算,減少了相鄰流水線級間的邏輯復雜度,從而實現(xiàn)了DES算法在FPGA條件下的重構(gòu)設(shè)計。最終通過對設(shè)計結(jié)果的功能仿真和測試分析,論證了整個設(shè)計的正確性。
關(guān)鍵詞: DES; 移位寄存器" title="線性反饋移位寄存器">線性反饋移位寄存器; 混沌加密; FPGA

 

  隨著密碼學技術(shù)的飛速發(fā)展,軟件加密已經(jīng)非常流行,但由于硬件加密的穩(wěn)定性和兼容性更好而且速度更快,所以仍是商業(yè)和軍事用途的主要選擇。而FPGA在實現(xiàn)算法方面具有靈活性、物理安全性和比軟件更高的速度性能,已成為硬件實現(xiàn)加密算法的最好選擇。
數(shù)據(jù)加密標準[1]DES(Data Encryption Standard)是迄今為止世界上最為廣泛使用的一種分組密碼算法。本文提出了一種密鑰可配置的DES算法的FPGA實現(xiàn)方案:即在傳統(tǒng)DES算法的基礎(chǔ)上,采取密鑰可配置的方法,增加密鑰復雜度,加強密鑰保護,利用初始密鑰選擇的隨機性,增強算法抗攻擊能力,通過選擇多種密鑰產(chǎn)生方法,進行DES加密。因此,即便知道了密文和密鑰,由于不知道采取何種密鑰產(chǎn)生方式,仍然難以攻破。
1 加密算法理論
1.1 DES算法原理

數(shù)據(jù)加密標準DES算法是用于計算機數(shù)據(jù)加密保護的分組加密的數(shù)學算法,算法以64 bit為一個分組對數(shù)據(jù)進行加密。使用64 bit的密鑰加密64 bit分組的信息。首先將原始數(shù)據(jù)64 bit明文進行初始置換IP,然后與子密鑰(由加密密鑰產(chǎn)生)進行一系列迭代運算,最后再經(jīng)過逆置換IP-1,即可得到64 bit密文(加密后數(shù)據(jù))。在每一輪中,數(shù)列塊的右邊32 bit數(shù)據(jù)和密鑰(Key)一起傳送給函數(shù)f,函數(shù)f運算的結(jié)果再與數(shù)列塊左邊32 bit數(shù)據(jù)進行“異或”操作。其中S盒(S選擇函數(shù))是DES算法的心臟,由它實現(xiàn)非線性變換。
解密過程與此類似,只是在應(yīng)用子密鑰時,順序顛倒為k16,k15,…k2,k1。圖1所示為DES加密原理。從圖中可以看到輪密鑰產(chǎn)生器相對于DES算法是獨立運算的,這就為密鑰的配置提供了可能和便利。

 


因為該算法是公開的,因此64 bit的密鑰算法是極其重要的,因為它是導致由64 bit的明文到64 bit密文唯一集合的密碼運算。故DES的加密安全依賴于對密碼的保護。
1.2 線性反饋移位寄存器
線性反饋移位寄存器LFSR(Linear Feedback Shift Register)如圖2所示,是一種非常成熟的序列生成方法,已被廣泛地應(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ù)由存儲器當前狀態(tài)計算出an下一時刻的內(nèi)容。
由于線性反饋移位寄存器易于構(gòu)造且易于應(yīng)用軟件和數(shù)字硬件實現(xiàn),所以密碼設(shè)計者常用它來構(gòu)造序列密碼。本文采用線性反饋移位寄存器作為對初始密鑰的一種配置。
1.3 混沌密碼
  由于混沌系統(tǒng)具有的寬頻譜、類隨機特性、對結(jié)構(gòu)參數(shù)及初始狀態(tài)的極端敏感性等性質(zhì),日益成為密碼學的重要分支。混沌密碼在硬件實現(xiàn)時,應(yīng)該在盡量提高精度、逼近混沌特性的同時,提高運算速度,滿足工程中實時處理的要求。而一維Logistic映射從數(shù)學形式上來看是一個非常簡單的混沌映射,但此系統(tǒng)具有極其復雜的動力學行為,在保密通信領(lǐng)域的應(yīng)用十分廣泛[2]。因此本設(shè)計就采用了Logistic映射對密鑰進行混淆。

2 FPGA上的算法實現(xiàn)
采用基于SRAM技術(shù)的FPGA設(shè)計的電路雖然不具有保密性,但是基于Kerckhoff原則,所實現(xiàn)算法的硬件電路是可行且安全的。為了增強DES算法的安全性,本文提出了對密鑰進行動態(tài)配置來改進DES算法,利用線性反饋移位寄存器和Logistic映射增加初始密鑰的復雜度。具體配置方法為:根據(jù)控制信號,將輸入的64 bit密鑰進行配置,既可以直接將初始密鑰引入,參與DES加密算法,又可以經(jīng)過線性反饋移位寄存器,得到新的密鑰流參與DES加密算法,還可以經(jīng)過混沌加密進一步增強DES算法的密鑰安全性。
2.1 密鑰流生成器的選取
  本設(shè)計中,選取線性反饋移位寄存器和混沌序列作為密鑰流生成器。
由于N級線性反饋移位寄存器輸出的序列是周期性的,非常適合硬件實現(xiàn),且最大周期為2n-1,為了產(chǎn)生64 bit的密鑰序列,設(shè)計5級移位寄存器(周期為31),其狀態(tài)關(guān)系為:

這樣無需等64個時鐘周期,只需31個周期就可以得到64 bit的密鑰。
為了從混沌序列中獲得每輪64 bit的輪密鑰,需要對產(chǎn)生的混沌序列進行有限精度的二進制編碼,即把混沌序列中的每一項與一個定長的二進制編碼相對應(yīng)。當u=4時,量化后的表達式為:

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

 


為了有效地控制密鑰生成模塊的工作,同時降低系統(tǒng)功耗,本設(shè)計采用了FPGA設(shè)計中的乒乓操作技巧[4],具體操作為:對線性反饋移位寄存器(LFSR)和混沌加密模塊(logistic)分別使用獨立的時鐘信號clk_lf、clk_lo,而不使用系統(tǒng)時鐘clk。通過密鑰選擇輸入信號key_sel的取值不同,使clk_lf和clk_lo的值分別等于0或是系統(tǒng)時鐘clk。
DES加密算法作為本設(shè)計中的核心算法,以多輪的密鑰變換輪函數(shù)、密鑰和數(shù)據(jù)運算輪函數(shù)為特征,相應(yīng)的硬件實現(xiàn)方法有2種:一種是通過輪函數(shù)的16份硬件拷貝,達到深度細化的流水線處理,實現(xiàn)性能最優(yōu);另一種是通過分時復用,重復調(diào)用1份輪函數(shù)的硬件拷貝,以時間換空間,從而得到硬件資源占用的最小化。
本設(shè)計采取的是資源優(yōu)先方案:即僅用硬件實現(xiàn)一套密鑰變換和密鑰加數(shù)據(jù)運算輪函數(shù),通過反復16次調(diào)用這一硬件結(jié)構(gòu)來實現(xiàn)1次DES加密運算。這樣可以大大減少了硬件開銷,但芯片的性能有所降低。因此,又采取在輪函數(shù)內(nèi)部設(shè)置一級流水線來提高整體處理的速度。在硬件上實現(xiàn)數(shù)據(jù)加密鑰輪函數(shù)和密鑰變換函數(shù)的同步流水線架構(gòu),減少了相鄰流水線級間的邏輯復雜度,通過設(shè)置輪計數(shù)器對所進行的輪運算計數(shù),控制數(shù)據(jù)選擇器,從而實現(xiàn)輪函數(shù)復用。其硬件結(jié)構(gòu)如圖4所示。

 


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

 


行為級仿真通過后,又采用了FPGA專用綜合工具Synplify對算法進行了綜合。結(jié)果表明:該組合加密模塊耗費3 056 LE,該模塊下載到Virtex-II芯片中,最高工作頻率可達50 MHz。由于本設(shè)計采用16級流水總線設(shè)計,所以最高數(shù)據(jù)編碼/解碼速率可達3 Gb/s。綜合完成后,又使用XILINX的ISE軟件進行布局布線,并提取了網(wǎng)表和延時文件,在Modelsim后仿其環(huán)境中進行了時序后仿真,結(jié)果完全符合時序要求,達到了設(shè)計目的。
加密數(shù)據(jù)的安全不僅依賴于加密算法的保密,更依賴于加密密鑰的安全。本文通過對整個加密算法的分析,提出了較為合理的密鑰動態(tài)配置的DES加密算法的設(shè)計方法和實現(xiàn)途徑,并在FPGA平臺上進行了測試和驗證,數(shù)據(jù)的連續(xù)加/解密傳輸達到了預先的設(shè)計要求。這種實現(xiàn)方法整體處理速度高,相鄰流水線級間的邏輯復雜程度低,程序?qū)幾g器的依賴性少,提高了算法的整體性能。通過適當改進,可以設(shè)計出通用型芯片,實現(xiàn)對通信數(shù)據(jù)的實時、可靠加密傳輸,在通信、軍事、加密等領(lǐng)域有著廣泛的應(yīng)用前景。


參考文獻
[1] 盧開澄.計算機密碼學(第三版). 北京:清華大學出版社,2003.
[2] 姜麗, 金衛(wèi)雄. 混沌加密技術(shù)及算法的研究.淮海工學院學報, 2004,13(4):39-42.
[3] 呂金虎,陸君安,陳士華.混沌時間序列分析及其應(yīng)用.武漢:武漢大學出版社, 2002.
[4] 華清軟件嵌入式培訓中心.FPGA應(yīng)用開發(fā)入門與典型實例.北京:人民郵電出版社,2008. 

 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美mv日韩mv国产网站| 猛男gaygay欧美视频| 欧美在线国产精品| 亚洲无限乱码一二三四麻| 亚洲精品美女在线观看| 亚洲盗摄视频| 狠狠色丁香久久婷婷综合丁香| 欧美午夜理伦三级在线观看| 欧美一级在线播放| 亚洲一区精品电影| 亚洲午夜av在线| 一区二区三区视频观看| 日韩视频中文| av成人免费| 亚洲视频观看| 亚洲男人天堂2024| 午夜激情综合网| 欧美一区二区视频在线观看2020 | 欧美伊久线香蕉线新在线| 亚洲欧美激情诱惑| 亚洲欧美中文另类| 欧美一级专区| 夜夜嗨av一区二区三区网页 | 亚洲精选视频免费看| 亚洲人成网站777色婷婷| 亚洲国产天堂久久国产91| 亚洲福利视频网| 亚洲人成人一区二区在线观看| 亚洲欧洲一区二区天堂久久| 亚洲精品亚洲人成人网| 日韩视频欧美视频| 中文欧美在线视频| 亚洲在线视频| 欧美在线观看网址综合| 久久久久九九九九| 欧美a级片网| 欧美日韩亚洲视频| 国产精品久久国产三级国电话系列| 欧美日韩成人综合在线一区二区| 欧美日韩精品一区二区三区| 国产精品久久久久久妇女6080| 国产欧美不卡| 在线精品视频一区二区| 亚洲精品国产欧美| 亚洲一本视频| 欧美一级理论片| 亚洲国产一区二区三区高清| 亚洲精品免费看| 亚洲男人av电影| 欧美伊人精品成人久久综合97| 久久亚洲一区二区三区四区| 欧美国产日韩一区二区| 国产精品久久久久久久浪潮网站| 国产色综合网| 亚洲区免费影片| 亚洲欧美日韩精品综合在线观看| 亚洲高清不卡在线| 中文无字幕一区二区三区| 日韩视频在线免费观看| 欧美一区二区三区日韩| 麻豆九一精品爱看视频在线观看免费| 欧美精品自拍偷拍动漫精品| 国产精品视频专区| 在线观看日产精品| 亚洲手机视频| 91久久在线观看| 亚洲欧美综合精品久久成人 | 欧美日韩亚洲视频一区| 国产午夜亚洲精品羞羞网站| 亚洲国产日韩欧美在线图片| 亚洲一区三区视频在线观看| 91久久综合亚洲鲁鲁五月天| 午夜日韩在线观看| 欧美粗暴jizz性欧美20| 国产伦精品一区二区三区免费迷 | 噜噜噜躁狠狠躁狠狠精品视频 | 韩国一区电影| 一区二区三区日韩欧美精品| 亚洲国产精品女人久久久| 亚洲自拍三区| 欧美成人一区二免费视频软件| 国产精品一区一区| 亚洲另类一区二区| 久久精品国产精品亚洲| 亚洲香蕉在线观看| 免费日本视频一区| 国产日韩欧美精品在线| 亚洲高清不卡在线| 午夜一区二区三区不卡视频| 一本色道久久综合亚洲精品不卡| 久久久久国产一区二区| 国产精品av一区二区| 最近中文字幕mv在线一区二区三区四区| 亚洲欧美在线aaa| 亚洲综合色在线| 欧美国产在线观看| 韩国三级在线一区| 篠田优中文在线播放第一区| 亚洲视频一二| 欧美精品在线网站| 亚洲欧洲日本国产| 亚洲国产欧美在线| 久久久亚洲国产天美传媒修理工| 国产精品久久久久9999高清| 91久久久精品| 亚洲日本va午夜在线电影| 久久久久久久综合日本| 国产精品亚洲аv天堂网| 中文日韩欧美| 欧美一乱一性一交一视频| 亚洲欧美在线高清| 国产精品v欧美精品v日本精品动漫| 亚洲精品免费在线播放| 亚洲人成啪啪网站| 欧美成人精品福利| 在线观看日韩专区| 亚洲国产欧美在线| 免费久久99精品国产自在现线| 国产一区在线观看视频| 性欧美暴力猛交69hd| 久久成人免费网| 国产日韩成人精品| 亚洲另类黄色| 亚洲视频成人| 国产精品地址| 亚洲一区二区三区视频| 午夜精品久久| 国产美女精品视频免费观看| 亚洲女人av| 欧美在线视频网站| 国产一区二区av| 欧美呦呦网站| 久热re这里精品视频在线6| 很黄很黄激情成人| 亚洲缚视频在线观看| 麻豆av福利av久久av| 在线观看三级视频欧美| 亚洲免费高清| 欧美视频在线免费| 亚洲一区二区av电影| 久久gogo国模啪啪人体图| 国产偷国产偷精品高清尤物| 欧美与黑人午夜性猛交久久久| 欧美专区日韩专区| 国内综合精品午夜久久资源| 亚洲国产精品久久久| 免费一级欧美片在线播放| 亚洲欧洲一区| 亚洲一区在线看| 国产精品伦理| 亚洲黄色毛片| 91久久精品美女| 日韩一区二区免费高清| 欧美区二区三区| 亚洲视频香蕉人妖| 久久国产婷婷国产香蕉| 在线观看不卡| 一本色道久久综合狠狠躁篇怎么玩| 欧美午夜精品伦理| 亚洲欧美综合国产精品一区| 狂野欧美激情性xxxx| 亚洲精品资源| 欧美综合激情网| 亚洲国产人成综合网站| 亚洲欧美在线观看| 伊人成人网在线看| 亚洲一区区二区| 国产精品亚洲综合天堂夜夜| 亚洲高清不卡av| 欧美三区在线观看| 久久成人精品一区二区三区| 欧美大片免费久久精品三p | 亚洲激情视频| 亚洲欧美国产va在线影院| 国产在线拍揄自揄视频不卡99| 亚洲精选在线观看| 国产精品一区2区| 亚洲精品中文在线| 国产午夜亚洲精品不卡| 99香蕉国产精品偷在线观看| 国产亚洲成av人在线观看导航| 日韩视频精品| 国产一区二区三区日韩| 这里只有精品丝袜| 一区二区亚洲精品国产| 亚洲一区二三| 在线免费高清一区二区三区| 亚洲一区欧美一区| 在线精品视频一区二区三四| 亚洲欧美日韩天堂| 亚洲黄色免费网站| 久久福利资源站| 日韩系列在线| 欧美成年人视频| 午夜精品一区二区三区在线| 欧美激情视频一区二区三区在线播放 | 一本色道久久综合亚洲91| 玖玖国产精品视频| 亚洲欧美区自拍先锋| 欧美日韩国内|