亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的高級加密標(biāo)準(zhǔn)AES設(shè)計(jì)與實(shí)現(xiàn)

        2014-04-29 18:06:41孫海燕王喆
        電子世界 2014年13期
        關(guān)鍵詞:流水線

        孫海燕 王喆

        【摘要】確保網(wǎng)絡(luò)與通信安全的最重要的工具就是加密,對稱加密中又以AES加密算法最為重要,目前已成為標(biāo)準(zhǔn),研究AES加密算法對于防范信息安全泄密具有重要意義。本文對AES加密算法做簡單的介紹,并利用硬件描述語言進(jìn)行設(shè)計(jì),設(shè)計(jì)采用流水線的思想,AES-128算法共有10輪,在每一輪之間都插入流水線寄存器,提高系統(tǒng)工作頻率,最終下載到FPGA芯片CycloneIII系列的EP3C120F484I7器件中,經(jīng)驗(yàn)證功能正確。

        【關(guān)鍵詞】AES;流水線;狀態(tài)矩陣;FPGA

        Abstract:The most important tool to encrypt the security of networks and communications,is the symmetric encryption algorithm,AES is the Advanced Encryption Standard,which is now the most famous Symmetric encryption algorithm,it is meaningful to research this algorithm.This paper introduces the principle of AES encryption algorithm and the detailed description of the FPGA implementation,to make the optimization to achieve the best speed,the design of the state are designed by pipeline technology.we used the hardware description language to design each modules,fianly examed in the FPGA chip of CycloneIII EP3C120F484I7.

        Keywords:AES;pipelines;state;FPGA

        1.前言

        現(xiàn)如今,信息安全一直都是熱門話題,而密碼學(xué)又是信息安全的重要組成部分,研究密碼學(xué)具有重要意義。在密碼學(xué)中,把消息經(jīng)過運(yùn)算得到密文的過程,稱為加密,它的反過程就是解密,在加、解密過程中所需要的變量,則稱為密鑰。圖1描述了密碼體系的結(jié)構(gòu)。

        分組密碼體制[1],研究者們對這種體制的密碼展開過深入的研究,目前已有很多的密碼分組算法,例如:DES、IDEA、REDOC、CRAB以及AES算法。這其中,DES曾一度成為加密標(biāo)準(zhǔn),但是由于DES的密鑰長度不足,很容易被攻擊,利用DES加密存在嚴(yán)重的安全隱患,AES的及時(shí)出現(xiàn)彌補(bǔ)了DES的不足,最終取代DES稱為了新的加密標(biāo)準(zhǔn)。

        圖1 密鑰體系結(jié)構(gòu)

        表1 字節(jié)映射表

        表2 S盒替換表格

        圖3 行變換流程

        AES加密算法被稱為是高級加密算法,是在十九世紀(jì)初期由美國國家標(biāo)準(zhǔn)與技術(shù)研究所(NISC)宣布,由比利時(shí)密碼專家Joan Daemen和Vicent Rijnnen提交的Rijndael算法作為高級加密標(biāo)準(zhǔn)(AES) [1]。AES加密速度很快,并且具有很高的安全性,缺點(diǎn)是密鑰的管理比較復(fù)雜[2]。

        2.AES算法概述

        AES算法是分組迭代型密碼算法,也稱為Rijndael加密算法。AES加密算法共有三種長度,本文以128bit為例,介紹AES-128算法,下圖2為AES加密的完整結(jié)構(gòu)。AES-128共有10輪變換,包括有:S-盒字節(jié)替換(S-box替換)、行移位、列混淆和輪密鑰加。這些變換,其作用主要是為了提高安全性能(見圖2)。

        AES加密算法,每一輪的輪函數(shù)中主要包括以下幾個步驟 [5]。

        2.1 字節(jié)替換

        字節(jié)替換(ByteSub),也稱為S盒(Sbox)替換,每個字節(jié)包含8位,所以,128位的輸入數(shù)據(jù)可以分為16個字節(jié),把它們分別記為:

        通過使用Sbox的代換表將狀態(tài)矩陣中的每一個字節(jié)獨(dú)立的映射為一個新的字節(jié),這種映射屬于非線性的映射,具體過程如表1所示。

        在利用硬件實(shí)現(xiàn)S盒單元時(shí),由于要計(jì)算大量的有限域運(yùn)算,求逆運(yùn)算以及仿射變換,所以常常把運(yùn)算結(jié)果做成一個字節(jié)替換表(也稱為Sbox),通過查表去實(shí)現(xiàn)字節(jié)的替換,所以為了實(shí)現(xiàn)AES算法,就要構(gòu)造一個查找表,把數(shù)據(jù)存儲在FPGA中的ROM中,通過查詢地址的方式讀取對應(yīng)的數(shù)據(jù),這樣可以大量提升計(jì)算速度。

        經(jīng)過計(jì)算構(gòu)造得到的Sbox[4],(下轉(zhuǎn)第152頁)(上接第150頁)如表a所示的查找表形式(16x16個字節(jié)組成的矩陣)包含了8位值所能表達(dá)的256種變換。替換表格如表2所示。

        2.2 行移位變換

        行移位變換,也是一種字節(jié)變換,它是將狀態(tài)矩陣中的行按照不同的偏移量循環(huán)左移。轉(zhuǎn)換方式如下:第一行不變,第二行左移一個字節(jié)、依此類推,這一過程如圖表示為如圖3所示。

        2.3 列混淆變換

        Mixcolumns變換:同樣是對矩陣的操作它把矩陣的每一列當(dāng)做一個系數(shù)在有限域GF(28)上的多項(xiàng)式,這個多項(xiàng)式與GF(28)域上的固定多項(xiàng)式a(x)進(jìn)行模x4+1的乘法運(yùn)算,a(x)的定義如下:

        根據(jù)前面對列混淆的定義,我們有:

        表示為乘法矩陣形式如下:

        經(jīng)過列混淆的變換,一列上的每一個元素表示為如下:

        列混淆變換圖如圖4所示。

        圖4 列混淆變換

        圖5 輪密鑰加變換

        圖6 加密模塊框圖

        2.4 輪密鑰加變換

        輪密鑰加(Addroundkey)是每次處理一列的運(yùn)算,它是把一個輪密鑰字和狀態(tài)矩陣的一列相加。與列混淆操作不同,輪密鑰加操作是矩陣的加法(見圖5)。

        3.軟件實(shí)現(xiàn)

        根據(jù)前面說明介紹,采用FPGA常用的Top-Down方式,利用硬件描述語言Verilog分別設(shè)計(jì)AES各模塊以及整個AES加密系統(tǒng),加密算法模塊框圖如圖6所示。

        AES密碼的核心由一個密鑰擴(kuò)展模塊,一個初始置換模塊,輪排列模塊,并最終排列模塊。輪排列模塊將循環(huán)內(nèi)部進(jìn)行10次迭代(128位密鑰)。

        本設(shè)計(jì)中的AES加密模塊,采用的是128位寬度的密鑰。根據(jù)前面第四章的分析,采用FPGA設(shè)計(jì)中常使用的Top-Down的設(shè)計(jì)思想,對AES的整個結(jié)構(gòu)進(jìn)行設(shè)計(jì),采用流水線的設(shè)計(jì)思想, AES-128共有10輪迭代,每一級之間插入流水線寄存器,利用面積換取速度的思想,這樣可以使系統(tǒng)達(dá)到很高的工作頻率;采用的是硬件描述語言Verilog,使用QuartusII和Modelsim進(jìn)行仿真。同樣的,整個AES加密模塊的驗(yàn)證,是使用了高級加密標(biāo)準(zhǔn)資料所提供的測試數(shù)據(jù)[1] [7],并與之進(jìn)行對比。

        利用Altera公司的QuartusII軟件,選定器件型號為CycloneIII系列的EP3C120F484I7芯片進(jìn)行仿真綜合,得到的FPGA資源消耗的綜合結(jié)果如表3所示。

        圖7的仿真結(jié)果,只針對有限個測試數(shù)據(jù)進(jìn)行測試,測試的精確以及代碼覆蓋率達(dá)不到要求,所以在測試文件(Testbench)中隨機(jī)產(chǎn)生密鑰和數(shù)據(jù),大量的數(shù)據(jù)在覆蓋率上達(dá)標(biāo),數(shù)據(jù)如表4所示,經(jīng)過Modelsim仿真驗(yàn)證,如圖8所示,能夠正確實(shí)現(xiàn)加解密功能。

        利用Mentor公司的第三方仿真軟件Modelsim仿真結(jié)果如圖7和圖8,從仿真圖7可以看出:12個時(shí)鐘周期(10個周期為10輪,再加上一個周期的初始密鑰擴(kuò)展,一個周期用于輸出級)執(zhí)行完整的加密序列,當(dāng)‘ld信號的上升沿到來時(shí),數(shù)據(jù)和密鑰能夠正確的被加載到系統(tǒng)中;可以由初始密鑰生成每一輪所需要的密鑰字;從仿真圖8中可以看出,對于大量的測試數(shù)據(jù)輸入時(shí),加密模塊都可以在每個加密序列的開始接受其中的一組密鑰和明文。系統(tǒng)能夠在每12個時(shí)鐘周期完成一次加密運(yùn)算,滿足AES加密的時(shí)序要求;當(dāng)加密完成時(shí),“done”信號會被拉高一個時(shí)鐘周期,表明加密結(jié)束。

        在驗(yàn)證仿真結(jié)果的正確性時(shí),這里采用的是與軟件計(jì)算的結(jié)果對比的方法,即:把一組銘文和密鑰得到的加密后的數(shù)據(jù),與通過與軟件中計(jì)算出的結(jié)果進(jìn)行逐一比較,經(jīng)過對比,結(jié)果一致,說明本設(shè)計(jì)是正確的。

        表4 FPGA資源使用情況

        結(jié)構(gòu) Slices 4輸入LUTs RAMs 頻率Mhz

        AES(流水線) 3393(13%) 2353(4%) 64(19%) 178.176

        AES(非流水) 2393(9%) 1353(2%) 81(25%) 120.785

        4.結(jié)論

        本文仔細(xì)分析AES 算法結(jié)構(gòu)與輪函數(shù)各個變換的特點(diǎn),設(shè)計(jì)實(shí)現(xiàn)了128位密鑰長度的AES加密系統(tǒng),采用CycloneIII 系列的FPGA芯片進(jìn)行設(shè)計(jì),通過仿真結(jié)果驗(yàn)證了設(shè)計(jì)的正確性。從實(shí)驗(yàn)結(jié)果可以看出,本設(shè)計(jì)在與非流水線結(jié)構(gòu)的AES進(jìn)行對比時(shí),面積消耗較大,但是系統(tǒng)的時(shí)鐘頻率得到了一定的提升。本設(shè)計(jì)適用于對速度要求較高的加密場合。

        參考文獻(xiàn)

        [1]FIPS PUB 197,Advanced Encryption Standard,http://csrc.nist.gov/publications,NIST,2001.

        [2]W.Stallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全—原理與實(shí)踐(第三版)[M].劉玉珍等,譯.電子工業(yè)出版社,2005.

        [3]楊波.現(xiàn)代密碼學(xué)[M].清華大學(xué)出版社,2003.

        [4]A.Rudra,P.Dubey,C.Jutla,V.Kumar,J.Rao,P.Rohatgi,Efficient Rijndael Encryption Implementation with Composite Field Arithmetic,CHES 2001,LNCS 2162,pp.171-184.

        [5]Y.Huang,Y.Lin,K.Huang,K.Lin,Efficient Implementation of AES IP,IEEE Asia Pacific Conference on Circuits Systems,2006,pp.1418-1421,IEEE,2006.

        [6]D.Canright,A Very Compact S-Box for AES,CHES 2005,LNCS 3659,pp.441-455,Intenational association for Cryptologic Research,2005.

        [7]X.Zhang,K.Parhi,High-Speed VLSI Architectures for the AES Algorithm,IEEE Transactions on Very Large Scale Integration(VLSI) Systems,vol.12,issue 9,pp.957-967,20.

        猜你喜歡
        流水線
        Gen Z Migrant Workers Are Leaving the Assembly Line
        流水線
        報(bào)廢汽車拆解半自動流水線研究
        流水線生產(chǎn)殺死藝術(shù)
        福建人(2015年10期)2015-02-27 10:23:19
        汽車噴漆流水線的應(yīng)用與研究
        SIMATIC IPC3000 SMART在汽車流水線領(lǐng)域的應(yīng)用
        自動化博覽(2014年6期)2014-02-28 22:32:05
        一本一道久久综合狠狠老| 一区二区三区字幕中文| 国产激情视频在线观看大全| 偷拍一区二区三区高清视频| 亚洲一区毛片在线观看| 狂野欧美性猛xxxx乱大交| 熟女少妇内射日韩亚洲| 久久午夜夜伦鲁鲁片免费无码| 日韩人妻无码一区二区三区久久99| 成人无码视频| 久久久久夜夜夜精品国产| 成年人视频在线播放麻豆| 欧美日韩一区二区三区自拍| 亚洲av无码一区二区三区网站| 欧美激情αv一区二区三区| 国产精品国产三级国产专区5o | 亚洲 暴爽 AV人人爽日日碰 | 蜜桃av福利精品小视频| 亚洲av乱码国产精品观| 色综合久久中文综合网亚洲| 欧美精品国产综合久久| 116美女极品a级毛片| 欧美日韩一区二区三区视频在线观看 | 精品亚洲成在人线av无码| 人妻无码一区二区在线影院| 在线看亚洲十八禁网站| 亚洲图文一区二区三区四区| 在线视频观看国产色网| 国产精品无码专区av在线播放 | 亚洲AV秘 片一区二区三区| 黑丝国产精品一区二区| av免费资源在线观看| 日韩熟女系列中文字幕| 亚洲精品乱码久久久久久金桔影视| 久久精品国产亚洲av忘忧草18| 欧美日本视频一区| 国产av精品久久一区二区| 一区二区三区国产内射| 国精产品一区一区三区有限公司杨 | 国产精品高清视亚洲乱码| 亚洲精品无码永久在线观看|