加密引擎增速12倍的FPGA技術(shù)_第1頁(yè)
加密引擎增速12倍的FPGA技術(shù)_第2頁(yè)
加密引擎增速12倍的FPGA技術(shù)_第3頁(yè)
加密引擎增速12倍的FPGA技術(shù)_第4頁(yè)
全文預(yù)覽已結(jié)束

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

加密引擎增速12倍的FPGA技術(shù)設(shè)計(jì)人員時(shí)常需要通過(guò)增加計(jì)算能力和/或額外輸入的方式來(lái)延長(zhǎng)現(xiàn)有嵌入式系統(tǒng)的壽命。在這方面,可編程系統(tǒng)平臺(tái)大有用武之地。我們?cè)?jīng)希望采用安全網(wǎng)絡(luò)連接功能來(lái)升級(jí)一套網(wǎng)絡(luò)可編程系統(tǒng)。安全網(wǎng)絡(luò)連接功能需要加密才能運(yùn)行安全外殼(SSH)、傳輸層安全(TLS)、安全套接層(SSL)或虛擬專(zhuān)用網(wǎng)(VPN)等協(xié)議。這種安全需求伴隨各種系統(tǒng)接入因特網(wǎng)的需求同步增長(zhǎng),例如,為了啟用遠(yuǎn)程管理與分布式控制系統(tǒng)。因該領(lǐng)域仍在發(fā)展之中,而且標(biāo)準(zhǔn)尚未固定,因此成本主要取決于一次性工程費(fèi)用。所以,采用FPGA技術(shù)能實(shí)現(xiàn)最高價(jià)值。我們的系統(tǒng)基于MissingLinkElectronics(MLE)公司的“軟”硬件平臺(tái),其FPGA具有靈活的I/O,能夠連接各種傳感器和執(zhí)行器。該平臺(tái)采用可編程邏輯實(shí)現(xiàn)片上系統(tǒng),以MicroBlazeCPU或PowerPCCPU作為其核心。CPU為操作系統(tǒng)與用戶(hù)空間應(yīng)用軟件運(yùn)行MLELinux軟件棧。由于采用MicroBlaze或PowerPC作為主CPU,當(dāng)運(yùn)行嵌入式Linux操作系統(tǒng)外加強(qiáng)大加密功能時(shí),該系統(tǒng)顯然無(wú)法提供所需要的計(jì)算性能,而且也無(wú)法改變物理硬件。為了實(shí)現(xiàn)系統(tǒng)加速,我們使用可編程系統(tǒng)將計(jì)算從軟件域轉(zhuǎn)移到硬件側(cè)。協(xié)處理硬件可編程系統(tǒng)基本上是一個(gè)或幾個(gè)CPU(運(yùn)行操作系統(tǒng)與應(yīng)用軟件)的組合,外加一個(gè)FPGA。FPGA在其中用作靈活的接口“適配器”以及協(xié)處理硬件。我們可以在單獨(dú)輔助芯片上實(shí)現(xiàn)可編程系統(tǒng),或者將全部都集成到單個(gè)器件上。我們可以根據(jù)FPGA器件和CPU之間的通信方式,采用不同方法調(diào)節(jié)系統(tǒng)性能和功能。其中一種方法就是添加對(duì)等處理器,通過(guò)內(nèi)存映射狀態(tài)和控制寄存器與CPU實(shí)現(xiàn)同步。因?yàn)橥ㄟ^(guò)同一系統(tǒng)總線運(yùn)行所有通信會(huì)很快降低性能,因此我們希望把CPU數(shù)據(jù)流與對(duì)等處理器分開(kāi)。而采用賽靈思的CentralDMA或多端口儲(chǔ)存器控制器(MPMC)等片上系統(tǒng)組件能夠輕松滿(mǎn)足上述愿望。另外,也可以增加一個(gè)協(xié)處理器,這種情況下能通過(guò)增加自定義指令(也叫編譯功能)有效地?cái)U(kuò)展CPU的指令集。例如,它適合浮點(diǎn)單元,而且賽靈思的結(jié)構(gòu)協(xié)處理器模塊(FCM)技術(shù)能輕松支持上述功能。此處的優(yōu)勢(shì)是在CPU和協(xié)處理器之間使用一條從內(nèi)存到系統(tǒng)總線的專(zhuān)用通信通道。對(duì)于PowerPC,其為輔助處理單元(APU),而對(duì)于MicroBlaze,則是快速單工鏈路(FSL)。在加密和解密中,大部分運(yùn)算按行或列執(zhí)行,剩下四項(xiàng)運(yùn)算并行計(jì)算,硬件對(duì)此任務(wù)得心應(yīng)手。AES:黃金標(biāo)準(zhǔn)但是沒(méi)有重大的系統(tǒng)重新設(shè)計(jì),又該如何真正加速加密?對(duì)于加密,高級(jí)加密標(biāo)準(zhǔn)(AES)是一個(gè)事實(shí)標(biāo)準(zhǔn)。采用AES加密時(shí),無(wú)法通過(guò)定義減少計(jì)算任務(wù),從而使嵌入式系統(tǒng)很快達(dá)到性能極限。如圖1所示,其中顯示用Valgrind分析工具、通過(guò)SCP(SSH會(huì)話)進(jìn)行的文件傳輸?shù)姆治鼋Y(jié)果。此時(shí)AES加密占用三分之二計(jì)算任務(wù)。

圖1:在采用Valgrind工具的SCP傳輸中,AES加密占用三分之二的計(jì)算任務(wù)

AES-128采用密鑰和128位塊大小,使用許多并發(fā)8字節(jié)運(yùn)算。AES屬于分組密碼,基于按4x4字節(jié)陣列組織的固定分組大小運(yùn)算。我們?cè)?jīng)采用128位分組大小,它能抵擋所有已知攻擊,安全性甚至強(qiáng)于192位和256位版本。采用128位AES時(shí),執(zhí)行加密與解密需要12個(gè)回合,每個(gè)回合需要幾步運(yùn)算。第一項(xiàng)任務(wù)是通過(guò)所謂的密鑰擴(kuò)展過(guò)程從密鑰中算出回合金鑰。每個(gè)回合都采用純文本自身的回合密鑰執(zhí)行純文本的逐位異或運(yùn)算。然后進(jìn)行字節(jié)代替、行位移和列混合運(yùn)算,并再次執(zhí)行回合金鑰的異或運(yùn)算。最后一個(gè)回合稍有不同,因?yàn)槠渲惺÷粤艘恍┎襟E。加密過(guò)程采用所謂的S盒(其提供非線性)執(zhí)行替代。我們可以把它安置到一個(gè)16?16?8位矩陣中,從而能夠適應(yīng)常見(jiàn)的賽靈思BRAM原語(yǔ)。多個(gè)S盒實(shí)例可以加速I(mǎi)P核,并在適當(dāng)?shù)奈恢脼閮?nèi)核提供所需數(shù)據(jù),而無(wú)需等待對(duì)主存儲(chǔ)器的長(zhǎng)時(shí)間總線存取。解密過(guò)程大同小異,其采用相同密鑰,但方向相反,并且使用不同S盒。增速12倍在加密和解密中,大部分運(yùn)算按行或列執(zhí)行,剩下四項(xiàng)運(yùn)算并行計(jì)算—而硬件對(duì)此任務(wù)得心應(yīng)手。這樣就能夠通過(guò)不同來(lái)源實(shí)現(xiàn)AES硬件的各個(gè)部分。為了加速系統(tǒng),我們從龐大、快速增長(zhǎng)的OpenC資源庫(kù)(,avs_aes)獲取AES內(nèi)核。我們刪除了原有的總線接口(因?yàn)樗m用于另一種FPGA架構(gòu)),另外為APU添加了一個(gè)接口,以便把AES內(nèi)核作為FCM協(xié)處理器連接到PowerPC上。我們共使用8個(gè)所謂的UDI指令在PowerPC和AESFCM之間傳輸數(shù)據(jù)。工作結(jié)果非常令人滿(mǎn)意(見(jiàn)圖2)。硬件加速的系統(tǒng)比原實(shí)現(xiàn)方案快了12倍。原來(lái)用以300MHz運(yùn)行的獨(dú)立的PowerPC加密一個(gè)單塊需要17.8微秒,而采用以150MHz運(yùn)行的AESFCM只需1.5微秒。如果只以升級(jí)到速度稍快的CPU來(lái)加速運(yùn)算,我們采用硬件加速后的1.5微秒速度

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論