3-DES算法的FPGA高速實(shí)現(xiàn)_第1頁
3-DES算法的FPGA高速實(shí)現(xiàn)_第2頁
3-DES算法的FPGA高速實(shí)現(xiàn)_第3頁
3-DES算法的FPGA高速實(shí)現(xiàn)_第4頁
3-DES算法的FPGA高速實(shí)現(xiàn)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

3-DES算法的FPGA高速實(shí)現(xiàn)摘要介紹3-算法的概要;以公司結(jié)構(gòu)的2100為例,闡述用高速實(shí)現(xiàn)3-算法的設(shè)計(jì)要點(diǎn)及關(guān)鍵部分的設(shè)計(jì)。關(guān)鍵詞3-高速實(shí)現(xiàn)引言從技術(shù)角度講,網(wǎng)絡(luò)安全除了依賴安全的網(wǎng)絡(luò)通信協(xié)議及應(yīng)用協(xié)議外,更多地取決于網(wǎng)絡(luò)設(shè)備如交換機(jī)、路由器等所提供的加解密功能。目前,基于算法的加解密硬件仍在廣泛應(yīng)用于國內(nèi)衛(wèi)星通信、網(wǎng)關(guān)服務(wù)器、機(jī)頂盒、視頻傳輸以及其它大量的數(shù)據(jù)傳輸業(yè)務(wù)中。然而,隨著密碼分析技術(shù)的不斷發(fā)展,超期服役的算法已被攻破,隨即美國商業(yè)部提出采用以算法的作為新一代的加密算法。在不對原有應(yīng)用系統(tǒng)作大的改動的情況下,3-算法有了很大的生存空間,被大量用來替換已不安全的算法。所以對3-算法的高速實(shí)現(xiàn),仍具有一定的實(shí)際應(yīng)用意義。13-算法介紹1999年,將3-指定為過渡的加密標(biāo)準(zhǔn)。3-是的一個(gè)更安全的變形關(guān)于算法的詳細(xì)資料,可見參考文獻(xiàn)[1]、[2]。算法運(yùn)算的框圖如圖1。其中盒是3-算法的心臟,靠它實(shí)現(xiàn)非線性變換。表示用算法對64位的位串的加密和解密,密鑰為;則64位的密文是通過執(zhí)行下面的運(yùn)算得到的其中1、2、3是56位的密鑰。從密文導(dǎo)出明文的3的解密過程是加密過程的反過程,其描述如下其結(jié)構(gòu)如圖2。為了獲得更高的安全性,三個(gè)密鑰應(yīng)該是互不相同的。這樣,本質(zhì)上就相當(dāng)于用一個(gè)長為168位的密鑰進(jìn)行加密。多年來,它在對付強(qiáng)力攻擊時(shí)是比較安全的。對安全性需要不那么高的數(shù)據(jù),1可以等于3。在這種情況下,密鑰的有效長度為112位。在通常使用的所有64位的分組密碼中,3是最安全的;但是,如果用軟件來實(shí)現(xiàn),它也是這些分組密碼中最慢的。通過硬件設(shè)計(jì),3的性能勝過大多數(shù)其它用軟件實(shí)現(xiàn)的分組密碼。2實(shí)現(xiàn)設(shè)計(jì)本設(shè)計(jì)采用實(shí)驗(yàn)室現(xiàn)有試驗(yàn)開發(fā)板上公司結(jié)構(gòu)的2100作為算法載體,在其中實(shí)現(xiàn)控制器和三個(gè)模塊以及密鑰的生成,通過控制器實(shí)現(xiàn)加、解密功能。從上邊的介紹可以看到,3算法沒有大量的復(fù)雜數(shù)學(xué)計(jì)算如乘、帶進(jìn)位的加、模等,在加解密過程和密鑰生成過程中僅有邏輯運(yùn)算和查表運(yùn)算。這些特點(diǎn)為采用進(jìn)行高速設(shè)計(jì)提供了契機(jī)。21模塊的設(shè)計(jì)結(jié)構(gòu)每個(gè)模塊的實(shí)現(xiàn)是用一個(gè)輪函數(shù)實(shí)現(xiàn)的16份拷貝通過深度細(xì)化的流水線處理來完成的,以獲得最高的性能。采用循環(huán)全部打開和流水線結(jié)構(gòu)來設(shè)計(jì)。循環(huán)全部打開后,實(shí)現(xiàn)全部16輪結(jié)構(gòu)并串在一起,只要一個(gè)時(shí)鐘周期就可以完成一個(gè)數(shù)據(jù)塊的加密或解密;通過多占很大的空間來換得速度上的大幅度提高,然后再在每輪的中間加上寄存器來實(shí)現(xiàn)流水線。在第一時(shí)鐘周期,第一塊數(shù)據(jù)經(jīng)過第一輪處理存入寄存器1中。在下一個(gè)時(shí)鐘周期,寄存器1中的結(jié)果經(jīng)過第二輪處理存入寄存器2中;同時(shí),第二塊數(shù)據(jù)可以經(jīng)過第一輪處理存入寄存器1。這樣,多塊數(shù)據(jù)實(shí)現(xiàn)了同時(shí)處理。另外,在設(shè)計(jì)中通過使用16個(gè)寄存器,使得加解密速度可以提高近16倍。在模塊的每一輪中設(shè)計(jì)3級流水線,盡管這樣增加了48個(gè)周期的時(shí)延,但卻進(jìn)一步提高了整體處理的速度性能;同時(shí),將數(shù)據(jù)加解密部分和密鑰生成部分分開單獨(dú)設(shè)計(jì),可以減少相鄰流水線級間的邏輯層數(shù)目。22盒設(shè)計(jì)通過時(shí)間分析發(fā)現(xiàn),盒在整個(gè)設(shè)計(jì)中占了很大的比重。盒性能的提高對于整個(gè)設(shè)計(jì)性能會有很大的改善,因此盒是整個(gè)設(shè)計(jì)優(yōu)化的重點(diǎn)。的8個(gè)盒分別是一個(gè)滿足特殊性能的6~4位的變換。在或語言中,可以直接用語句來實(shí)現(xiàn)。這是最簡單的實(shí)現(xiàn)方法,但是語言都屬于高級語言,它們強(qiáng)烈依賴于編譯器的優(yōu)化能力,往往對設(shè)計(jì)者來說,涉及得越少、編程越簡單,代碼效率越不高,這對于高速實(shí)現(xiàn)來說是不可取的。在實(shí)現(xiàn)過程中通過分析工具也發(fā)現(xiàn),依賴于編譯器的實(shí)現(xiàn)不但復(fù)雜,而且占用大量的空間。這樣,盒成了速度的瓶頸,為此,采用來實(shí)現(xiàn)。2100的可以配置為16x1位的,把輸入的6位作為地址,對應(yīng)的地址空間里存放的就是輸出的4位,從而實(shí)現(xiàn)了6~4位的查找表,所需時(shí)間只是中的傳輸時(shí)間加上傳輸線上的延時(shí),如圖3。23密鑰生成器設(shè)計(jì)密鑰生成器的設(shè)計(jì)是獨(dú)立于輪函數(shù)運(yùn)算實(shí)現(xiàn)的,采用3級流水線來與輪函數(shù)中的流水線相平衡,單輪的實(shí)現(xiàn)如圖4。其中,3級流水線由移位寄存器和1個(gè)觸發(fā)器構(gòu)成,在中完成兩級流水線,在中實(shí)現(xiàn)第三級。2100的中的每個(gè)查找表可以用來生成1?16個(gè)移位寄存器,而且在一個(gè)單獨(dú)的可配置邏輯功能塊中連接8個(gè)移位寄存器來構(gòu)成一個(gè)128位的移位寄存器。圖53實(shí)現(xiàn)的結(jié)構(gòu)243的實(shí)現(xiàn)將上述所設(shè)計(jì)的三份模塊在中組合,實(shí)現(xiàn)如圖5所示的完整連接。整個(gè)時(shí)延約為單個(gè)模塊的三倍。結(jié)語我們在的開發(fā)平臺42下用完成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論