在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA實現(xiàn)AES算法數(shù)據(jù)加密方案

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-12-30 09:31 ? 次閱讀

1. 引言

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

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

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

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

2.1. AES 加密算法

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

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

基于FPGA實現(xiàn)AES算法數(shù)據(jù)加密方案

明文可以表示為4*4B 的狀態(tài)矩陣,加密的每一輪是對狀態(tài)矩陣進行操作,得到中間結 果狀態(tài)矩陣。初始變換指的是狀態(tài)矩陣中每一列與初始密鑰進行加運算。輪變換的每一輪 包括字節(jié)替換(SubBytes)、行移位(Shiftrows)、列混合(Mixcolumns)、輪密鑰加 (AddRoundKey)。最后一輪變換不包括列混合(Mixcolumns)。經過最后一輪變換,中間狀 態(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(密鑰長度) 取模的結果為4 時,只進行字替換(Subword)。

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

基于FPGA實現(xiàn)AES算法數(shù)據(jù)加密方案

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

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

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

2.2.2. 行移變換(shiftrows)

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

2.2.3. 列混合(MixColumns)

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

基于FPGA實現(xiàn)AES算法數(shù)據(jù)加密方案

式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) 密碼和密鑰的混合。輪密鑰是由初始密鑰通過密鑰擴展得到的。

2.2.5. 密鑰擴展(KeyExpansion)

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

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

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

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

基于FPGA實現(xiàn)AES算法數(shù)據(jù)加密方案

3.2. 仿真結果

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

(1) 仿真結果

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

基于FPGA實現(xiàn)AES算法數(shù)據(jù)加密方案

基于FPGA實現(xiàn)AES算法數(shù)據(jù)加密方案

(2) 性能分析

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

基于FPGA實現(xiàn)AES算法數(shù)據(jù)加密方案

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

4. 結論

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1640

    文章

    21889

    瀏覽量

    610971
  • 仿真
    +關注

    關注

    51

    文章

    4195

    瀏覽量

    134958
  • 衛(wèi)星
    +關注

    關注

    18

    文章

    1742

    瀏覽量

    67814
收藏 人收藏

    評論

    相關推薦

    FPGA參賽作品】基于FPGAAES分組加密系統(tǒng)

    。本方案FPGA實現(xiàn)AES加密算法為目的,硬件角度加速AES
    發(fā)表于 06-12 23:12

    有木有知道使用RSA算法數(shù)據(jù)加密滴?

    有木有知道使用RSA算法數(shù)據(jù)加密滴?本人小小采購員一枚,工程那邊說要數(shù)據(jù)加密,采購加密芯片,還要有RSA
    發(fā)表于 11-26 13:59

    最強加密算法AES加密算法的Matlab和Verilog實現(xiàn) 精選資料推薦

    目錄背景AES加密的幾種模式基本運算AES加密原理Matlab實現(xiàn)Verilog實現(xiàn)Testbe
    發(fā)表于 07-28 07:34

    基于AES算法的無線加密數(shù)字傳輸系統(tǒng)

    本文實現(xiàn)了一種基于AES 算法的無線加密數(shù)字傳輸系統(tǒng),給出了該系統(tǒng)的結構,完成了AES 算法
    發(fā)表于 01-22 15:09 ?5次下載

    基于FPGAAES加密算法的高速實現(xiàn)

    介紹AES 算法的原理以及基于FPGA 的高速實現(xiàn)。結合算法FPGA 的特點,采用查表法優(yōu)化處
    發(fā)表于 01-25 14:26 ?29次下載

    基于FPGAAES加密算法的高速實現(xiàn)

    介紹AES算法的原理以及基于FPGA的高速實現(xiàn)。結合算法FPGA的特點,采用查表法優(yōu)化處理了字
    發(fā)表于 07-17 18:09 ?46次下載

    基于FPGA加密芯片的DPA實現(xiàn)與防御研究

    差分功耗分析是破解AES密碼算法最為有效的一種攻擊技術,為了防范這種攻擊技術本文基于FPGA搭建實驗平臺實現(xiàn)了對AES
    發(fā)表于 12-05 14:14 ?52次下載
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>加密</b>芯片的DPA<b class='flag-5'>實現(xiàn)</b>與防御研究

    基于AES和ECC的混合加密系統(tǒng)的設計

    基于AES加密算法具有速度快、強度高、便于實現(xiàn)等優(yōu)點和ECC加密算法具有密鑰分配與管理簡單、安全強度高等優(yōu)點,采用AES
    發(fā)表于 03-20 10:24 ?42次下載
    基于<b class='flag-5'>AES</b>和ECC的混合<b class='flag-5'>加密</b>系統(tǒng)的設計

    基于AES算法加密模塊設計

    文中介紹了高級加密算法AES)的基本原理,并給出了基于AES算法硬件加密模塊設計方案。通過Mo
    發(fā)表于 02-21 15:52 ?0次下載
    基于<b class='flag-5'>AES</b><b class='flag-5'>算法</b>的<b class='flag-5'>加密</b>模塊設計

    AES加密算法說明

    1 引 言 AES加密算法的一種優(yōu)化的FPGA實現(xiàn)方法 隨著密碼分析水平,芯片處理能力和計算技術的不斷進步,des的安全強度已經難以適應新的安全需要,其
    發(fā)表于 11-30 01:31 ?2287次閱讀

    用matlab實現(xiàn)AES加密算法

    AES加密算法是密碼學中的高級加密標準(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美
    發(fā)表于 05-25 15:18 ?11次下載
    用matlab<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>AES</b><b class='flag-5'>加密算法</b>

    使用FPGA實現(xiàn)AES算法的優(yōu)化設計

    AES算法作為DES算法的替代者應用非常廣泛,其硬件實現(xiàn)方法已有不少討論,主要是通過提高算法頻率來提高吞吐量。但是在實際運行中,為了保證整個
    的頭像 發(fā)表于 04-18 08:15 ?3775次閱讀
    使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>AES</b><b class='flag-5'>算法</b>的優(yōu)化設計

    如何低成本實現(xiàn)AES密碼算法的硬件

    Rijndael算法為高級加密標準AESAES密碼算法加密速度快,安全級別高,已經成為
    發(fā)表于 03-19 17:16 ?7次下載
    如何低成本<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>AES</b>密碼<b class='flag-5'>算法</b>的硬件

    使用FPGA實現(xiàn)AES分組密碼統(tǒng)一框架的詳細資料說明

    通過將AES算法模塊化、運算一般化,給出了類AES算法的統(tǒng)一框架。在此框架下不僅可以同時實現(xiàn)AES
    發(fā)表于 03-26 15:58 ?16次下載

    aes加密的常見錯誤及解決方案

    的歸納以及相應的解決方案: 常見錯誤 編碼問題 : 在將字節(jié)數(shù)組轉換成字符串時,如果使用了不同的編碼格式,可能會導致解密后的數(shù)據(jù)出現(xiàn)亂碼。 密鑰長度問題 : AES算法支持128位、1
    的頭像 發(fā)表于 11-14 15:13 ?3367次閱讀
    主站蜘蛛池模板: 免费看欧美理论片在线 | 黄色三级网站免费 | www.色老头.com| 好黄好硬好爽好刺激 | 新激情五月 | 午夜小视频免费 | 日韩欧美印度一级毛片 | 91久久夜色精品国产网站 | 涩涩涩综合在线亚洲第一 | 久久九色 | 天天摸夜班摸天天碰 | 国产精品一久久香蕉产线看 | 九色伊人 | 国模在线视频一区二区三区 | 久久久伊香蕉网站 | 一区二区免费视频 | 99香蕉精品视频在线观看 | 国产亚洲卡二卡3卡4卡乱码 | 高清欧美一级在线观看 | 天堂一区二区在线观看 | 黄黄的网站 | 国产卡1卡2卡三卡网站免费 | 日韩精品一区二区三区毛片 | 激情五月婷婷综合网 | 色婷婷综合激情 | 国产亚洲卡二卡3卡4卡乱码 | 亚洲国产人久久久成人精品网站 | 4438全国最大成人免费高清 | 亚洲аv电影天堂网 | 久久香蕉综合精品国产 | 亚洲视频1 | 亚洲欧美高清在线 | 综合色影院 | 亚洲精品你懂的 | 狠狠色噜噜狠狠狠狠91 | 亚洲成a人片777777久久 | 91大神精品视频 | 草草影院ccyy国产日本欧美 | 狠狠色依依成人婷婷九月 | 亚洲国产综合视频 | 色综合久久中文字幕网 |