音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

淺談以可編程方式打造加密引擎的應用

出處:互聯網 發(fā)布于:2011-09-05 15:02:25

  設計人員時常需要通過增加計算能力和/或額外輸入的方式來延長現有嵌入式系統的壽命。在這方面,可編程系統平臺大有用武之地。我們曾經希望采用安全網絡連接功能來升級一套網絡可編程系統。安全網絡連接功能需要加密才能運行安全外殼(SSH)、傳輸層安全(TLS)、安全套接層(SSL)或虛擬專用網(VPN)等協議。這種安全需求伴隨各種系統接入因特網的需求同步增長。

  我們的系統基于Missing Link Electronics(MLE)公司的“軟”硬件平臺,其FPGA具有靈活的I/O,能夠連接各種傳感器和執(zhí)行器。該平臺采用可編程邏輯實現片上系統,以MicroBlaze CPU或PowerPC CPU作為其。CPU為操作系統與用戶空間應用軟件運行MLE Linux軟件棧。由于采用MicroBlaze或PowerPC作為主CPU,當運行嵌入式Linux操作系統外加強大加密功能時,該系統顯然無法提供所需要的計算性能,而且也無法改變物理硬件。

  協處理硬件

  可編程系統基本上是一個或幾個CPU(運行操作系統與應用軟件)的組合,外加一個FPGA。FPGA在其中用作靈活的接口“適配器”以及協處理硬件。我們可以根據FPGA器件和CPU之間的通信方式,采用不同方法調節(jié)系統性能和功能。

  其中一種方法就是添加對等處理器,通過內存映射狀態(tài)和控制寄存器與CPU實現同步。因為通過同一系統總線運行所有通信會很快降低性能,因此我們希望把CPU數據流與對等處理器分開。而采用賽靈思的Central DMA或多端口儲存器控制器(MPMC)等片上系統組件能夠輕松滿足上述愿望。

  另外,也可以增加一個協處理器,這種情況下能通過增加自定義指令(也叫編譯功能)有效地擴展CPU的指令集。例如,它適合浮點單元,而且賽靈思的結構協處理器模塊(FCM)技術能輕松支持上述功能。此處的優(yōu)勢是在CPU和協處理器之間使用一條從內存到系統總線的專用通信通道。對于PowerPC,其為輔助處理單元(APU),而對于MicroBlaze,則是快速單工鏈路(FSL)。

  在加密和解密中,大部分運算按行或列執(zhí)行,剩下四項運算并行計算,硬件對此任務得心應手。

  AES:黃金標準

  密碼學中的加密標準(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美國聯邦政府采用的一種區(qū)塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,加密標準由美國國家標準與技術研究院 (NIST)于2001年11月26日發(fā)布于FIPS PUB 197,并在2002年5月26日成為有效的標準。2006年,加密標準已然成為對稱密鑰加密中的算法之一。

  AES的基本要求是,采用對稱分組密碼體制,密鑰長度的少支持為128、192、256,分組長度128位,算法應易于各種硬件和軟件實現。1998年NIST開始AES輪分析、測試和征集,共產生了15個候選算法。1999年3月完成了第二輪AES2的分析、測試。2000年10月2日美國政府正式宣布選中比利時密碼學家Joan Daemen 和 Vincent Rijmen 提出的一種密碼算法RIJNDAEL 作為 AES.   在應用方面,盡管DES在安全上是脆弱的,但由于快速DES芯片的大量生產,使得DES仍能暫時繼續(xù)使用,為提高安全強度,通常使用獨立密鑰的三級DES。但是DES遲早要被AES代替。流密碼體制較之分組密碼在理論上成熟且安全,但未被列入下一代加密標準。

  AES加密數據塊和密鑰長度可以是128比特、192比特、256比特中的任意一個。AES加密有很多輪的重復和變換。大致步驟如下:1、密鑰擴展(KeyExpansion),2、初始輪(Initial Round),3、重復輪(Rounds),每一輪又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、終輪(Final Round),終輪沒有MixColumns。

  但是沒有重大的系統重新設計,又該如何真正加速加密?對于加密,加密標準(AES)是一個事實標準。

  采用AES加密時,無法通過定義減少計算任務,從而使嵌入式系統很快達到性能極限。如圖1所示,其中顯示用Valgrind分析工具、通過SCP(SSH會話)進行的文件傳輸的分析結果。此時AES加密占用三分之二計算任務。

《電子系統設計》

  圖1:在采用Valgrind工具的SCP傳輸中,AES加密占用三分之二的計算任務。

  AES-128采用密鑰和128位塊大小,使用許多并發(fā)8字節(jié)運算。AES屬于分組密碼,基于按4x4字節(jié)陣列組織的固定分組大小運算。我們曾經采用128位分組大小,它能抵擋所有已知攻擊,安全性甚至強于192位和256位版本。

  一個回合稍有不同,因為其中省略了一些步驟。加密過程采用所謂的S盒(其提供非線性)執(zhí)行替代。我們可以把它安置到一個16?16?8位矩陣中,從而能夠適應常見的賽靈思BRAM原語。多個S盒實例可以加速IP核,并在適當的位置為內核提供所需數據,而無需等待對主存儲器的長時間總線存取。解密過程大同小異,其采用相同密鑰,但方向相反,并且使用不同S盒。

  增速12倍

  在加密和解密中,大部分運算按行或列執(zhí)行,剩下四項運算并行計算—而硬件對此任務得心應手。這樣就能夠通過不同來源實現AES硬件的各個部分。為了加速系統,我們從龐大、快速增長的OpenCores.org資源庫獲取AES內核。

  我們刪除了原有的總線接口(因為它適用于另一種FPGA架構),另外為APU添加了一個接口,以便把AES內核作為FCM協處理器連接到PowerPC上。我們共使用8個所謂的UDI指令在PowerPC和AESFCM之間傳輸數據。

  工作結果非常令人滿意(見圖2)。硬件加速的系統比原實現方案快了12倍。原來用以300MHz運行的獨立的PowerPC加密一個單塊需要17.8微秒,而采用以150MHz運行的AESFCM只需1.5微秒。如果只以升級到速度稍快的CPU來加速運算,我們采用硬件加速后的1.5微秒速度表現超過基于Intel Atom1.6GHz CPU的純軟件實現(其需要2.7微秒)。上述結果證明了使用FPGA技術的硬件加速的卓越潛能。

《電子系統設計》

  圖2:硬件加速系統(中間綠條)快于獨立的PowerPC或Atom處理器。


  

版權與免責聲明

凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://m.58mhw.cn,違反者本網將追究相關法律責任。

本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。

OEM清單文件: OEM清單文件
*公司名:
*聯系人:
*手機號碼:
QQ:
有效期:

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

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網站技術支持

13606545031

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

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯系人:

聯系方式:

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