www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化
[導讀]摘要:隨著國際空間任務(wù)的交叉合作以及互聯(lián)網(wǎng)在空間任務(wù)中的應(yīng)用,空間數(shù)據(jù)安全性受到威脅,空間數(shù)據(jù)的加密日益受到設(shè)計人員的重視。CCSDS于2004年推薦AES算法作為空間數(shù)據(jù)系統(tǒng)的加密標準。本文根據(jù)高速數(shù)據(jù)處理的實際

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

1. 引言

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

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

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

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

2.1. AES 加密算法

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

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


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

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

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


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

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

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

2.2.2. 行移變換(shiftrows)

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

2.2.3. 列混合(MixColumns)

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


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

2.2.4. 密鑰加法(AddRoundKey)

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

2.2.5. 密鑰擴展(KeyExpansion)

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

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

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

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


3.2. 仿真結(jié)果

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

(1) 仿真結(jié)果

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




(2) 性能分析

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


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

4. 結(jié)論

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



來源:xinxin0次

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)控制系統(tǒng)中,Modbus RTU協(xié)議的CRC校驗如同通信網(wǎng)絡(luò)的"免疫系統(tǒng)",某石化廠DCS系統(tǒng)曾因CRC計算錯誤導致0.3%的數(shù)據(jù)包丟失,引發(fā)連鎖控制故障。本文將深入解析CRC-16/MODBUS算法原理,對比軟件...

關(guān)鍵字: Modbus RTU CRC 算法

加密算法分對稱加密和非對稱算法,其中對稱加密算法的加密與解密密鑰相同,非對稱加密算法的加密密鑰與解密密鑰不同,此外,還有一類不需要密鑰的散列算法。

關(guān)鍵字: 算法 嵌入式

在現(xiàn)代數(shù)字系統(tǒng)設(shè)計中,將算法高效地轉(zhuǎn)化為 RTL(寄存器傳輸級)實現(xiàn)是 FPGA 工程師的核心任務(wù)之一。這一過程不僅需要對算法有深入理解,還需掌握 FPGA 的硬件特性和設(shè)計技巧。本文將詳細介紹從算法到 RTL 實現(xiàn)的關(guān)...

關(guān)鍵字: 算法 寄存器傳輸級 數(shù)字系統(tǒng)

從本質(zhì)上講,算法是一種有條不紊、分步驟解決問題或完成任務(wù)的方法。無論是簡單的數(shù)字相加公式,還是復雜的機器學習協(xié)議,算法都是軟件應(yīng)用的基礎(chǔ),確保任務(wù)能夠高效有效地執(zhí)行。

關(guān)鍵字: 算法 嵌入式

在自動駕駛技術(shù)的發(fā)展歷程中,激光雷達(LiDAR)宛如一顆備受矚目的新星,其獨特的技術(shù)特性使其成為追求高安全性、高可靠性自動駕駛方案的首選。然而,這顆新星并非毫無爭議,“價格昂貴、結(jié)構(gòu)復雜、算法難度高” 等標簽,也讓一些...

關(guān)鍵字: 自動駕駛 激光雷達 算法

4月2日消息,近日,有關(guān)智能駕駛而引發(fā)的交通事故在網(wǎng)絡(luò)上引起了大家的熱烈討論,對此,央視網(wǎng)評指出,“智能駕駛”,也請握緊方向盤。

關(guān)鍵字: 算法 智能駕駛

所謂排序算法,即通過特定的算法因式將一組或多組數(shù)據(jù)按照既定模式進行重新排序。這種新序列遵循著一定的規(guī)則,體現(xiàn)出一定的規(guī)律,因此,經(jīng)處理后的數(shù)據(jù)便于篩選和計算,大大提高了計算效率。對于排序,我們首先要求其具有一定的穩(wěn)定性,...

關(guān)鍵字: 排序算法 算法

快速排序通過一趟排序?qū)⒋判蛄蟹指畛瑟毩⒌膬刹糠郑渲幸徊糠中蛄械年P(guān)鍵字均比另一部分序列的關(guān)鍵字小,則可分別對這兩部分序列繼續(xù)進行排序,以達到整個序列有序的目的。

關(guān)鍵字: 快速排序 算法

算法,作為解決問題的精確描述,是描述策略機制的系統(tǒng)方法。讓我們在周末輕松探討五個具有深遠影響的算法:Metropolis-Hastings算法、單純形法、快速傅立葉變換、快速排序算法,以及計算特征值的QR算法。這些算法在...

關(guān)鍵字: 算法 快速排序算法

服務(wù)需要保護自己,以免被太多的請求淹沒(無論是惡意或無意的),從而保持可用性。舉個生活中的例子,某個景區(qū),平時可能根本沒什么人前往,但是一旦到了國慶假日就人滿為患,這時景區(qū)管理人員就會實施一系列的限流舉措,來限制進入的人...

關(guān)鍵字: 限流 算法
關(guān)閉