日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

面向空間應(yīng)用的AES算法在FPGA上的實(shí)現(xiàn)

出處:blaise 發(fā)布于:2009-11-09 11:53:51

  摘要:隨著國(guó)際空間任務(wù)的交叉合作以及互聯(lián)網(wǎng)在空間任務(wù)中的應(yīng)用,空間數(shù)據(jù)安全性受到威脅,空間數(shù)據(jù)的加密日益受到設(shè)計(jì)人員的重視。CCSDS于2004年推薦AES算法作為空間數(shù)據(jù)系統(tǒng)的加密標(biāo)準(zhǔn)。本文根據(jù)高速數(shù)據(jù)處理的實(shí)際需求,采用了在FPGA上實(shí)現(xiàn)AES算法的數(shù)據(jù)加密方案,仿真結(jié)果表明,AES是一種優(yōu)選的加密算法,能夠滿足高保密性、加密速率快、硬件資源占用少等任務(wù)要求。

  1. 引言

  隨著國(guó)際空間任務(wù)交叉合作增加,應(yīng)用地面公共數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行空間任務(wù)控制和數(shù)據(jù)監(jiān) 測(cè)越來(lái)越多,空間飛行器迫切需要數(shù)據(jù)安全保護(hù)機(jī)制[1]。隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,原 來(lái)衛(wèi)星(如SPOT 衛(wèi)星)上使用的DES 加密算法已能夠被窮舉法破譯。為此,美國(guó)國(guó)家標(biāo)準(zhǔn) 和技術(shù)協(xié)會(huì)(NIST)于2000 年10 月2 日宣布采用Rijndael 作為下一代先進(jìn)加密標(biāo)準(zhǔn)(AES) 的正式算法[2]。2004 年,CCSDS(國(guó)際空間數(shù)據(jù)系統(tǒng)咨詢委員會(huì))建議將AES 作為空間 數(shù)據(jù)加密算法標(biāo)準(zhǔn)[3][4]。目前,AES 加密算法已在NASA、FBI、CCSDS 等機(jī)構(gòu)得到廣泛 應(yīng)用。

  隨著我國(guó)空間技術(shù)的快速發(fā)展,未來(lái)需要考慮空間數(shù)據(jù)安全性設(shè)計(jì)。傳統(tǒng)的星上加密 需要一個(gè)專門的裝置,占用的體積、功耗等資源均較大。AES 算法適用于軟硬件資源有限 的應(yīng)用中,同時(shí)與軟件加密相比,采用FPGA 進(jìn)行物理加密具有很好的防攻擊性,實(shí)時(shí)性好, 可實(shí)現(xiàn)高速數(shù)據(jù)處理,資源占用非常小,是空間數(shù)據(jù)加密的重要發(fā)展方向。

  本文對(duì)AES 算法進(jìn)行了研究,并在一片F(xiàn)PGA 上進(jìn)行了仿真分析,確定了適合空間應(yīng) 用的AES 算法。

  2. AES 加密算法及優(yōu)化實(shí)現(xiàn)

  2.1. AES 加密算法

  AES 是一種可變密鑰長(zhǎng)度的迭代分組加密算法,明文被分成以128bit 為一塊進(jìn)行加密, 密鑰長(zhǎng)度可分別為128bit、192bit、256bit。

  AES 加密算法包括密鑰擴(kuò)展過(guò)程和加密過(guò)程。加密過(guò)程又包括一個(gè)作為初始輪的初始密鑰加法(AddRoundKey),接著進(jìn)行若干次輪變換(Round),再使用一個(gè)輪變換(FinalRound),如圖2.1.1 所示。

  明文可以表示為4*4B 的狀態(tài)矩陣,加密的每一輪是對(duì)狀態(tài)矩陣進(jìn)行操作,得到中間結(jié) 果狀態(tài)矩陣。初始變換指的是狀態(tài)矩陣中每一列與初始密鑰進(jìn)行加運(yùn)算。輪變換的每一輪 包括字節(jié)替換(SubBytes)、行移位(Shiftrows)、列混合(Mixcolumns)、輪密鑰加 (AddRoundKey)。一輪變換不包括列混合(Mixcolumns)。經(jīng)過(guò)一輪變換,中間狀 態(tài)矩陣將輸出4*4B 的密文。

  密鑰擴(kuò)展是對(duì)給定初始密鑰進(jìn)行運(yùn)算,得到每個(gè)輪變換的輪密鑰。主要包括三步:字 替換(Subword)、周期置換(Rotword)、圈常數(shù)字序列加運(yùn)算[2]。AES-128 與AES-192 密 鑰擴(kuò)展的每一輪都包括三個(gè)步驟,對(duì)于AES-256,并不是每一輪都包括三個(gè)步驟,當(dāng)密鑰 替換循環(huán)次數(shù)小于Nb*(Nr+1)(Nb 數(shù)據(jù)塊長(zhǎng)度、Nr 圈數(shù)),同時(shí)循環(huán)次數(shù)對(duì)Nk(密鑰長(zhǎng)度) 取模的結(jié)果為4 時(shí),只進(jìn)行字替換(Subword)。

  表 2.1.1 給出了三種AES 加密的明文塊長(zhǎng)度,密鑰長(zhǎng)度,加密輪變換次數(shù)之間的關(guān)系。

  2.2. AES 算法優(yōu)化實(shí)現(xiàn)

  2.2.1. 字節(jié)替換(SubBytes)

  SubBytes 主要通過(guò)兩步來(lái)完成,一步是在GF(28)中取乘法逆,另外一步是通過(guò)特別 定義的GF(2)上的仿射作用。為了避免復(fù)雜的乘法運(yùn)算,在FPGA 上具體實(shí)現(xiàn)時(shí),構(gòu)造了 16*16B 的置換表,通過(guò)查表完成了字節(jié)替換,節(jié)省了運(yùn)算時(shí)間。

  2.2.2. 行移變換(shiftrows)

  ShiftRows 與列混合運(yùn)算相互影響,在多輪變換后,使密碼信息達(dá)到充分的混亂。行變 換是在狀態(tài)的每個(gè)行間進(jìn)行的,是狀態(tài)中的行按不同的偏移量進(jìn)行循環(huán)左移運(yùn)算[10]。通過(guò) 對(duì)每個(gè)字節(jié)的行移位實(shí)現(xiàn)該變換。

  2.2.3. 列混合(MixColumns)

  假設(shè)列混合運(yùn)算輸入為a,輸出為b,加密的列混合運(yùn)算可做如下表示:

  式2.1 所示的矩陣運(yùn)算是伽羅華域上常數(shù)乘法運(yùn)算。伽羅華域上乘以任何常數(shù)的乘法 都可以通過(guò)反復(fù)的乘以02 和異或運(yùn)算來(lái)實(shí)現(xiàn)[5]。將GF(28)域中的每一個(gè)元素與02 的乘積 存儲(chǔ)在一張16*16 B 查找表中,通過(guò)異或運(yùn)算和查表即可實(shí)現(xiàn)列混合運(yùn)算。

  2.2.4. 密鑰加法(AddRoundKey)

  AddRoundKey 是將輪密鑰中的各個(gè)字節(jié)與狀態(tài)中的各個(gè)字節(jié)進(jìn)行逐位異或運(yùn)算,實(shí)現(xiàn) 密碼和密鑰的混合[10]。輪密鑰是由初始密鑰通過(guò)密鑰擴(kuò)展得到的。

  2.2.5. 密鑰擴(kuò)展(KeyExpansion)

  初始密鑰和擴(kuò)展后的整個(gè)密鑰表可以看作是一個(gè)字(word)序列。密鑰擴(kuò)展是針對(duì)字進(jìn) 行的,為此又引入了兩個(gè)對(duì)字進(jìn)行處理的函數(shù):字替代(Subword)和字旋轉(zhuǎn)(RotWord)。字 旋轉(zhuǎn)將字的4 個(gè)字節(jié)循環(huán)右移一個(gè)單位。密鑰擴(kuò)展還包括引入輪常數(shù)Rcon。字替換和引入 輪常數(shù)均可使用查表法完成。字旋轉(zhuǎn)可以用簡(jiǎn)單的交換字的順序?qū)崿F(xiàn)。

  在FPGA 的實(shí)現(xiàn)過(guò)程中,若不進(jìn)行上述諸如查表法的優(yōu)化,將會(huì)造成資源占用過(guò)度,運(yùn) 行速率低下的情況。 3. AES 算法實(shí)現(xiàn)與仿真

  3.1. AES 算法實(shí)現(xiàn)方案

  圖3.1 為AES 加密算法實(shí)現(xiàn)框圖,其中明文有效標(biāo)志和密鑰有效標(biāo)志輸入給控制模塊, 初始密鑰送給密鑰擴(kuò)展模塊,明文輸入到初始變換模塊。控制模塊輸出加密完成標(biāo)志, 終變換模塊輸出密文[7]。其中粗箭頭為數(shù)據(jù)線,細(xì)箭頭為控制線。為滿足加密過(guò)程的時(shí)序 要求,控制模塊對(duì)輸入的明文有效信號(hào)及密鑰有效信號(hào)進(jìn)行控制。密鑰擴(kuò)展模塊在不同輪 數(shù)下產(chǎn)生的擴(kuò)展密鑰分別送給初始變換模塊,輪變換模塊以及終變換模塊。初始變換模 塊對(duì)明文加了初始輪密鑰;輪變換模塊進(jìn)行了四個(gè)變換步驟。終變換模塊與輪變換模塊 不同在于沒(méi)有進(jìn)行混合列操作。

  3.2. 仿真結(jié)果

  本設(shè)計(jì)采用VHDL 語(yǔ)言,在Xilinx 公司的一款FPGA 上實(shí)現(xiàn)了AES 算法。分別對(duì)AES-128、 AES-192、AES-256 加密算法實(shí)現(xiàn)進(jìn)行仿真,在FPGA 資源占用率、數(shù)據(jù)處理速率等方面進(jìn) 行了對(duì)比分析。

 ?。?) 仿真結(jié)果

  圖3.2.1、3.2.2、3.2.3 分別是AES-256、AES-192、AES-128 的FPGA 實(shí)現(xiàn)仿真結(jié)果, 從圖中可以看出AES-256 可以在15 個(gè)時(shí)鐘周期內(nèi)完成,AES-192 可以在13 個(gè)周期實(shí)現(xiàn)加 密算法,AES-128 可以在12 個(gè)時(shí)鐘周期內(nèi)實(shí)現(xiàn)加密算法。



  (2) 性能分析

  在Xilinx 公司的一款X2V 系列FPGA 上所占用的資源情況對(duì)比如表3.1.1。

  根據(jù)密碼學(xué)理論,密鑰長(zhǎng)度越長(zhǎng),其安全性能越好。AES-256 占用硬件資源較AES-128、 AES-192 多,但AES-256 可以提供的安全性。三種加密算法占用的資源數(shù)相當(dāng),數(shù)據(jù) 吞吐率隨著密鑰長(zhǎng)度加長(zhǎng)而變小。

  4. 結(jié)論

  本文對(duì)AES 算法進(jìn)行了研究,提出了面向空間應(yīng)用的AES 算法的FPGA 實(shí)現(xiàn)方案。通過(guò) 仿真分析,表明利用FPGA 進(jìn)行AES 進(jìn)行數(shù)據(jù)加密具有占用硬件資源較少,數(shù)據(jù)吞吐率高, 安全性好的特點(diǎn),門數(shù)在10 萬(wàn)左右的小型FPGA 即可實(shí)現(xiàn)該算法。考慮到安全性,在實(shí)際 應(yīng)用中,AES-256 算法是適合的。


  
關(guān)鍵詞:面向空間應(yīng)用的AES算法在FPGA上的實(shí)現(xiàn)FPGA

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

1000萬(wàn)的FPGA芯片長(zhǎng)什么樣?
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

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

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

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

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!