《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于3-DES算法的FPGA加密應(yīng)用

基于3-DES算法的FPGA加密應(yīng)用

2008-07-28
作者:李 騫, 汪學(xué)剛, 李漢釗

??? 摘 要: 闡述了一種針對SRAM工藝FPGA的加密保護方案,并給出了主要模塊的實現(xiàn)結(jié)構(gòu)。該方案應(yīng)用當(dāng)前流行的3-DES" title="3-DES">3-DES算法對校驗數(shù)據(jù)加密,可靠性高,占用資源少,具有較高的實際應(yīng)用價值。
??? 關(guān)鍵詞:? DES;? 3-DES;? FPGA加密;? CPLD

?

??? 在現(xiàn)代電子設(shè)計中,以FPGA為代表的數(shù)字系統(tǒng)現(xiàn)場集成技術(shù)正得到越來越廣泛的應(yīng)用。由于大規(guī)模高密度可編程邏輯器件一般都采用SRAM工藝,因此每次上電" title="上電">上電時,都要對FPGA器件重新進行配置,從而可以通過監(jiān)視配置位數(shù)據(jù)流的方法對設(shè)計進行復(fù)制。因此,對于關(guān)鍵的核心設(shè)備有必要采用加密技術(shù)" title="加密技術(shù)">加密技術(shù),以保護設(shè)計者的知識產(chǎn)權(quán)。
??? 數(shù)據(jù)加密標(biāo)準DES(Data Encryption Standard)是美國國家標(biāo)準局頒布的由IBM公司研制的一種非機密數(shù)據(jù)的正式數(shù)據(jù)加密標(biāo)準,是一種世界公認的較好的加密算法。而3-DES算法是為了克服DES算法密鑰只有56位的缺點提出的,它將密鑰擴展為168位,到目前為止還沒有人給出攻擊3-DES的有效方法。本文給出一種基于3-DES算法的FPGA加密保護的硬件實現(xiàn)方法,具有較強的健壯性,足以滿足安全需求。
1 SRAM工藝FPGA存在的保密性問題及加密方法
??? 一般來說,采用SRAM工藝的FPGA芯片的配置方法主要有三種:由計算機通過下載電纜配置,用專用配置芯片配置,采用存儲器加微控制器的方法配置,這三種方法在加電時都需要將配置數(shù)據(jù)寫入FPGA。因此,只要對配置引腳進行采樣就可以得到配置數(shù)據(jù)信息,從而可以對另一塊FPGA芯片進行配置,完成對內(nèi)部電路設(shè)計的復(fù)制。
??? 由于上電時的配置數(shù)據(jù)可以被復(fù)制,因此單獨的一塊FPGA芯片無法實現(xiàn)有效加密。FPGA芯片供應(yīng)商對位數(shù)據(jù)流的定義是不公開的,所以無法通過外部的配置數(shù)據(jù)流信息推測內(nèi)部電路。也就是說,即使得到配置信息也無法知道內(nèi)部電路結(jié)構(gòu)。因此在配置完成后使FPGA處于非工作狀態(tài),利用另外一塊保密性較強的CPU產(chǎn)生密碼驗證信息與FPGA進行信息交互,只有在驗證成功的情況下才能使FPGA正常工作,這樣就能實現(xiàn)對設(shè)計的加密。
2 DES及3-DES算法介紹
2.1 DES算法

??? DES加密技術(shù)是一種常用的對稱加密技術(shù)。該技術(shù)算法公開,加密強度大,加解密采用同一個密鑰,解密為加密的逆過程,明文長度64位,輸出密文64位,64位密鑰中包括8位奇偶效驗位,因此有效長度為56位。DES算法的總體流程如圖1所示,加密過程分成三個階段:首先,64位的明文經(jīng)過初始變換(IP)被重新排列;然后,進行l(wèi)6輪相同函數(shù)的作用,每輪的作用都含有置換和代換過程,第16輪迭代的64位輸出經(jīng)過左右32位的互換產(chǎn)生預(yù)輸出;最后,預(yù)輸出再被與初始變換(IP)互逆的逆初始變換(IP-1)作用,產(chǎn)生64位的密文。圖1的右半部分給出了使用56位密鑰的過程。開始時,密鑰經(jīng)過壓縮變換(1)得到C、D兩部分,然后經(jīng)過循環(huán)左移(1)……(16)和壓縮變換(2)分別得到子密鑰K1……K16 ,供每一輪的迭代加密使用,每輪置換函數(shù)相同,但由于密鑰位的重復(fù)迭代使得子密鑰互不相同。

?

?


2.2 3-DES算法
??? 隨著計算機的運算能力不斷提高,傳統(tǒng)的DES已經(jīng)不能完全滿足人們對數(shù)據(jù)傳輸?shù)陌踩砸螅?6位密鑰在窮舉攻擊之下比較脆弱,因此,新的更長密鑰的對稱加密算法逐步取代DES算法。3-DES使用三個不同的密鑰對數(shù)據(jù)塊進行三次DES加密,其中第二次DES運行在解密模式,這樣密鑰的長度就能擴展到l68位,從而充分防范窮舉攻擊。
3 系統(tǒng)設(shè)計方案
??? 本設(shè)計使用一塊CPLD芯片對FPGA進行加密處理,系統(tǒng)的加密能力主要由CPLD的加密能力決定,這就要求加密算法要足夠復(fù)雜,使得對驗證信息的捕獲與識別足夠困難。具體加密過程如下:首先產(chǎn)生兩個相同的偽隨機序列發(fā)生器:一個位于SRAM工藝的FPGA內(nèi);另一個位于CPLD內(nèi)。FPGA上電配置完畢后每隔一段時間產(chǎn)生一個新驗證數(shù)據(jù)并且向CPLD發(fā)出一個觸發(fā)信號,CPLD在接收到觸發(fā)信號后其內(nèi)部的序列發(fā)生器也生成一個相同的偽隨機數(shù)" title="隨機數(shù)">隨機數(shù)并在加密后串行發(fā)出,F(xiàn)PGA接收數(shù)據(jù)并將其解密后與自身產(chǎn)生的數(shù)據(jù)進行比較,若結(jié)果一致則通過驗證,若結(jié)果不一致或在規(guī)定的時間內(nèi)沒接收到數(shù)據(jù),則進入鎖定狀態(tài)不能正常工作。之所以采用3-DES算法進行加密是因為使用單純的偽隨機數(shù)加密在窮舉攻擊下極易被破解,而在3-DES算法加密之后通過對引腳采樣的方法只能取得當(dāng)前的數(shù)據(jù)流信息,無法實時產(chǎn)生正確的驗證信息,因而系統(tǒng)的安全性可以得到極大的提高。
4 系統(tǒng)的硬件實現(xiàn)
4.1 整體結(jié)構(gòu)

??? 本系統(tǒng)分為兩個大模塊:CPLD上的FPGA_security模塊以及FPGA上的FPGA_decrypt模塊,連接方式如圖2所示。其中,F(xiàn)PGA_security模塊用來接收觸發(fā)信號、產(chǎn)生隨機數(shù)、加密并發(fā)送數(shù)據(jù),而FPGA_decrypt模塊則負責(zé)產(chǎn)生隨機數(shù)、發(fā)送觸發(fā)信號并計時、接收數(shù)據(jù)、解密、判斷比較。兩芯片之間通過同步串行接口進行通信,TX_CLK為接口的同步時鐘,TX_BI指示數(shù)據(jù)發(fā)送的開始和結(jié)束,TXD為數(shù)據(jù)發(fā)送接口,trig_out觸發(fā)輸出,securty指示驗證是否成功。偽隨機序列發(fā)生器采用64級移位寄存器實現(xiàn)。

?


4.2? DES加密模塊
4.2.1 加密變換模塊

??? DES的初始變換和逆變換都是對數(shù)據(jù)的換位操作,在硬件實現(xiàn)上只需一些連線資源。在經(jīng)過初始變換之后,明文被分為L和R兩部分,之后要經(jīng)過16層加密變換,如圖3所示。每層變換的輸出作為下一輪迭代的輸入。每層變換的公式為:
???

?

?

??? 為節(jié)省硬件成本,16層加密變換過程通過對單層加密變換的反復(fù)調(diào)用來實現(xiàn),每個時鐘周期" title="時鐘周期">時鐘周期將輸出結(jié)果用鎖存器鎖存,以便下次調(diào)用。整個加密變換過程需16個時鐘周期。每輪的密鑰為48位子密鑰,由子密鑰生成部分提供,f{R(n),K(n)}是加密函數(shù),它是DES加密的核心。
4.2.2? f函數(shù)模塊
??? 加密函數(shù)f{R(n),K(n)}的運算主要包括擴展運算E,S盒運算和P盒運算。32位的輸入經(jīng)過E表擴展為48位,然后與48位的子密鑰進行模2加得到48位的結(jié)果。48位的數(shù)據(jù)通過S盒變換為32位,再通過P盒進行一次置換得到加密函數(shù)的輸出。E運算和P盒實際上都是一次位的置換,沒有很復(fù)雜的運算。S盒由8個特殊的6位到4位的變換構(gòu)成一個復(fù)雜的非線性變換[1],是加密函數(shù)的關(guān)鍵??紤]到所選用芯片內(nèi)部的四輸入查找表結(jié)構(gòu),先將S盒的實現(xiàn)邏輯表達式進行化簡,化簡時先固定2個變量,化簡另外4個變量,在實現(xiàn)時使用雙重case語句,外層使用2個輸入,內(nèi)層使用4個輸入,從而充分利用內(nèi)部資源。
4.2.3? 子密鑰生成
??? 64位的輸入密鑰中第8,16,…,64位包含了8個奇偶效驗位,壓縮變換除去了奇偶效驗位,并對剩下的56位進行位置換,有效的56位密鑰經(jīng)過壓縮變換后分成C和D兩部分。從第一個周期開始,每個時鐘C和D循環(huán)左移一位或兩位,鎖存后作為下一輪輸入, 同時C、D兩部分也在合并后通過壓縮變換產(chǎn)生48位的子密鑰K1、K2、K3……K16,作為f函數(shù)輸入。在解密過程中子密鑰的生成順序與加密過程正好相反,此時從第二個周期開始,每個時鐘C和D循環(huán)右移一位或兩位,即可得到K16、K15、K14……K1。
4.3? 3-DES加密/解密過程
??? 3-DES加密/解密實現(xiàn)框圖如圖4所示,其加密過程分三步:(1)使用密鑰KEY1對明文進行DES加密得到A;(2)使用密鑰KEY2對A進行DES解密運算得到B;(3)使用KEY3對B再進行一次DES加密得到密文。該算法最快速的實現(xiàn)方法是采用流水線實現(xiàn),但由于運算速度對加密保護的影響不大,在設(shè)計時應(yīng)優(yōu)先考慮電路資源的節(jié)省。DES加密過程和解密過程的區(qū)別僅在于子密鑰給出的順序不同,因此選用循環(huán)迭代的設(shè)計,即對同一DES模塊調(diào)用三次。子密鑰的生成在三次DES運算中也使用同一模塊,其輸入信號包括時鐘clk、count[1:0]、密鑰key_in[64:1]、觸發(fā)信號trig,輸出信號為子密鑰keysub[48:1],其中count[1:0]指示DES運算的次數(shù),用來控制C、D循環(huán)左/右移位。3-DES的解密過程為加密過程的反變換,即第一、三次變換為DES解密,第二次為DES加密,使用密鑰的順序與加密時相反。

?


4.4 實現(xiàn)結(jié)果
??? 本設(shè)計中選用的兩塊芯片都是ALTERA公司的,CPLD為MAXⅡ系列的EPM1270T144C5,F(xiàn)PGA為cycloneⅡ系列的EP2C50F484C6。FPGA部分共使用868個LE單元, CPLD部分使用629個LE單元,只占LE單元總量的49%。為充分利用硬件資源,將加密算法做了進一步增強,在兩芯片中各增加三個64位的隨機序列產(chǎn)生器作為密鑰的輸入。這樣一來,在通信時不但每次發(fā)送的數(shù)據(jù)不同,而且每次加密/解密的密鑰也在不斷變化,從而在原有基礎(chǔ)上又增加了算法的健壯性。最終結(jié)果如下:對于CPLD,總LE為1 039/1 270(81%),對于FPGA,總LE為1 212/50 528(2%)??梢娂用苣K只占用被加密芯片較少的硬件資源,對整個系統(tǒng)沒有造成大的負擔(dān)。圖5為仿真結(jié)果,圖中TX_CLKx為同步時鐘,trig_x為觸發(fā)信號(啟動驗證過程),TX_BI_x為數(shù)據(jù)發(fā)送起始標(biāo)志位,TXD_x為串行數(shù)據(jù)發(fā)送端,code_add為加密前的信息,word_send_add為發(fā)送的加密后的信息,code_rec_x為接收信息,code_dec_x為解密后的信息,key_x為密鑰信息。由圖可見,當(dāng)code_add與code_dec一致時驗證通過,此時驗證標(biāo)志位security保持高電平。

?


??? 本文提出了一種FPGA加密保護的硬件方案,使用一塊CPLD與FPGA芯片進行實時信息交互,使用3-DES算法采用循環(huán)迭代方法對驗證信息加密,每次加密/解密運算需花費48個時鐘周期,使用三個56位的密鑰,且通信雙方的密鑰在每次信息驗證時都會不斷更新,每個密鑰序列的最大長度可達264-1,若對其密鑰空間中密鑰進行窮舉搜索,由于空間太大,這實際上是不可行的。實驗證明,該方案電路簡單、可靠性高,可以在FPGA芯片上正常工作。
參考文獻
[1] ?National institute of standards and technology.Data Encryptlon Standard(DES).FIPS PUB 46-3,1999.
[2] ?SCHAFFER T, GLASER A, FRANZON P D. Chip-package co-implementation of a triple DES processor, advanced Packaging. IEEE Transaction 2004,27(1):194-202.
[3] ?KITSOS P, GOUDEVENOS S, KOUFOPAVLOU O. VLSI implementations of the triple-DES block cipher Electronics, Circuits and Systems. Proceedings of the 2003 10th IEEE International Conference, 2003,1(14-17):76-79.
[4] ?郭棟,孫峰,唐值明.加密與解密實戰(zhàn)攻略.北京:清華大學(xué)出版社,2003:225-229.

本站內(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)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲视屏在线播放| 欧美二区在线观看| 99精品久久| 亚洲国产精品一区二区久| 亚洲欧美日韩另类| 亚洲特色特黄| 一区二区欧美在线观看| 亚洲区免费影片| 91久久线看在观草草青青| 亚洲第一页在线| 亚洲大黄网站| 亚洲国产综合视频在线观看| 亚洲国产日韩一区| 亚洲激情成人在线| 91久久久久久国产精品| 亚洲高清视频一区二区| 亚洲国产精品福利| 亚洲高清不卡一区| 亚洲精品乱码久久久久久蜜桃91 | 国产日韩精品一区| 国产日韩欧美成人| 国内精品视频一区| 亚洲国产二区| av成人天堂| 亚洲一卡久久| 性伦欧美刺激片在线观看| 欧美一区二区三区喷汁尤物| 久久成人免费日本黄色| 欧美在线免费看| 亚洲黄色毛片| 一区二区三区久久| 午夜久久福利| 久久久久欧美| 欧美精品乱人伦久久久久久| 欧美日韩在线一区二区| 国产精品视频久久一区| 好看的亚洲午夜视频在线| 亚洲大胆av| 夜夜夜精品看看| 性久久久久久| 日韩视频亚洲视频| 亚洲欧美一区二区激情| 久久久视频精品| 欧美精品一区二区久久婷婷| 国产精品成人免费精品自在线观看 | 欧美极品在线视频| 欧美午夜一区二区福利视频| 国产精品一区一区| 1024亚洲| 亚洲色图综合久久| 久久精品国产一区二区三区| 亚洲麻豆av| 欧美一二三区在线观看| 欧美1区免费| 国产精品久久久久久久久果冻传媒 | 国产一区二区视频在线观看| 亚洲国产日韩在线一区模特| 亚洲视频你懂的| 亚洲高清不卡在线观看| 亚洲一级二级在线| 久久综合网络一区二区| 国产精品v一区二区三区| 狠狠色伊人亚洲综合网站色| av成人激情| 91久久极品少妇xxxxⅹ软件| 亚洲欧美制服中文字幕| 免费日韩精品中文字幕视频在线| 欧美性一区二区| 亚洲电影观看| 午夜久久一区| 亚洲一区www| 免费成人高清视频| 国产婷婷色一区二区三区在线| 亚洲乱码国产乱码精品精98午夜| 久久不见久久见免费视频1| 中文成人激情娱乐网| 巨乳诱惑日韩免费av| 国产精品99免费看 | 亚洲国产高清在线| 午夜在线观看免费一区| 亚洲靠逼com| 久久久精品动漫| 国产精品日韩精品欧美精品| 亚洲精品婷婷| 亚洲区一区二| 久久男人资源视频| 国产毛片久久| 9l国产精品久久久久麻豆| 亚洲欧洲精品天堂一级| 久久久亚洲一区| 国产日韩欧美成人| 亚洲一区二区三区成人在线视频精品| 亚洲乱码国产乱码精品精| 久久青青草原一区二区| 国产精品亚洲综合色区韩国| 一区二区不卡在线视频 午夜欧美不卡在 | 久久国产手机看片| 国产精品区一区二区三| 日韩网站免费观看| 亚洲黄色免费电影| 久久综合99re88久久爱| 国产一级久久| 午夜精品一区二区三区四区| 亚洲欧美卡通另类91av| 欧美四级在线| 日韩视频一区| 一区二区三区四区精品| 欧美国产高清| 91久久国产自产拍夜夜嗨| 亚洲黄色成人| 欧美大片免费观看| 亚洲国产精品久久久久| 亚洲精品久久久久久久久| 免费成人高清视频| 亚洲电影欧美电影有声小说| 亚洲国产精品高清久久久| 美日韩精品视频| 亚洲国产精品成人一区二区| 亚洲日本免费| 欧美精品午夜| 亚洲毛片在线观看| 亚洲性av在线| 国产精品伦子伦免费视频| 亚洲一区免费看| 久久国产精品久久w女人spa| 国产亚洲激情视频在线| 欧美亚洲系列| 葵司免费一区二区三区四区五区| 在线看日韩av| 99综合电影在线视频| 欧美日本一区二区视频在线观看| 日韩一区二区精品| 亚洲欧美另类国产| 国产欧美二区| 久久精品亚洲精品国产欧美kt∨| 免费成人在线观看视频| 亚洲人成网站在线观看播放| 一本色道久久综合亚洲精品婷婷| 欧美午夜片欧美片在线观看| 亚洲小视频在线观看| 久久久久国产一区二区三区四区 | 欧美区一区二| 亚洲视频在线观看三级| 羞羞漫画18久久大片| 国产日韩av在线播放| 久久精品国产亚洲高清剧情介绍| 欧美a级大片| 艳妇臀荡乳欲伦亚洲一区| 亚洲欧美日韩一区在线| 国产亚洲一本大道中文在线| 久久精品五月| 欧美日韩国产成人在线免费| 中文久久精品| 久久久www成人免费精品| 亚洲第一久久影院| 亚洲小说欧美另类婷婷| 国产亚洲精品aa| 亚洲日本欧美天堂| 国产精品福利在线| 久久国产主播| 欧美日本在线视频| 亚洲在线一区二区三区| 久久综合精品一区| 日韩亚洲视频| 久久久久久久成人| 亚洲人妖在线| 欧美影院成年免费版| 亚洲福利视频在线| 亚洲欧美在线网| 亚洲第一天堂av| 午夜视频在线观看一区| 激情综合网址| 亚洲一区区二区| 精品福利av| 亚洲综合视频1区| 精品二区视频| 亚洲欧美综合一区| 亚洲国产91| 久久成人综合视频| 亚洲美女色禁图| 久久夜色撩人精品| 亚洲少妇中出一区| 嫩草影视亚洲| 亚洲欧美日韩综合国产aⅴ| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲视频中文字幕| 欧美成人在线免费观看| 亚洲欧美日韩精品综合在线观看| 欧美黄色一级视频| 欧美一区视频在线| 欧美午夜精品久久久久免费视| 亚洲黄色精品| 国产日韩欧美二区| 亚洲视频导航| 亚洲电影中文字幕| 久久久91精品国产| 亚洲一区二区三| 欧美日韩一区自拍| 91久久久亚洲精品| 国产亚洲人成网站在线观看|