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

        ?

        基于AXIStream接口的AES加密模塊設(shè)計與驗證

        2017-03-06 00:38:50徐欣
        軟件導(dǎo)刊 2017年1期

        徐欣

        摘要:結(jié)合具體項目對信息安全的需求,研究了AES算法的實現(xiàn)過程。針對算法涉及的數(shù)論知識及實現(xiàn)步驟,對加解密算法進行了綜合優(yōu)化。在此基礎(chǔ)上,設(shè)計了一種基于AXIStream接口的加密IP核,該IP核主要是針對實際項目中需要對流數(shù)據(jù)進行快速可靠的加密要求所設(shè)計的。結(jié)合實際項目場景以及AXIStream接口特點,IP核的設(shè)計可最大限度地減少資源消耗。IP核使用兩個通道分別進行加密與解密的并行實現(xiàn),經(jīng)過Testbench模型仿真測試以及開發(fā)板真實環(huán)境的測試,其吞吐率可達(dá)1.12Gb/s,完全符合對速率要求較高的項目應(yīng)用要求。

        關(guān)鍵詞關(guān)鍵詞:AES加密算法;IP核;AXIStream

        DOIDOI:10.11907/rjdk.162271

        中圖分類號:TP309.7文獻標(biāo)識碼:A文章編號文章編號:16727800(2017)001015402

        引言

        隨著集成電路的發(fā)展、FPGA結(jié)構(gòu)與功能的改變,基于FPGA的開發(fā)模式也發(fā)生了很多變化。從傳統(tǒng)使用單一的邏輯編程,發(fā)展到如今在SOC上大量使用各種知識產(chǎn)權(quán)核(IP核)進行設(shè)計。特別是在2011年,Xilinx推出了Zynq7000首款可擴展處理平臺(EPP)[1],將業(yè)界標(biāo)準(zhǔn)的ARM雙核CortexA9 Core處理系統(tǒng)與Xilinx可擴展的28nm FPGA架構(gòu)整合在一起。因此,可以預(yù)見未來的開發(fā)模式將為“嵌入式+FPGA”。文獻[2]、[3]提出了基于AXI總線的IP核設(shè)計,但其僅采用AXI總線中的AXI4接口,而在一些對速率要求比較苛刻的項目中,所用IP核的接口必須是更為高效的AXIStream接口。在設(shè)計加密IP核的同時,需要結(jié)合實際IP核所要運用的項目場景,考慮外圍可能連接的IP核,最大化地使用官方IP核,進行自定義IP核的最優(yōu)化設(shè)計,而這些在目前許多加密IP核設(shè)計中很難找到。

        本文IP核的設(shè)計思想是在某軍工項目的調(diào)試過程中得到的,其設(shè)計的IP核并不是簡單地和SOC相連,而是通過AXISteam接口與DMA的IP核相連,對DMA輸出的數(shù)據(jù)進行加密,加密后的事務(wù)同樣通過AXIStream總線發(fā)送給其它總線矩陣。DMA有一定緩沖區(qū),由于加解密IP核與DMA相連,通過計算分析,自定義的加解密IP核不需要任何額外的存儲空間進行加解密數(shù)據(jù)存儲,進一步簡化了IP核設(shè)計。

        1AXIStream接口介紹

        AXIStream接口是一種用來連接需要交換數(shù)據(jù)的兩個部件的標(biāo)準(zhǔn)接口,它可以用于連接一個產(chǎn)生數(shù)據(jù)的主機和一個接收數(shù)據(jù)的從機,也可以用于連接多個主機和從機。AXIStream接口符合AXI(Advanced Xetensible Interface)總線標(biāo)準(zhǔn)。AXI是一種總協(xié)議,該協(xié)議是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0協(xié)議中最重要的部分,是一種面向高性能、高帶寬、低延遲的片內(nèi)總線[4]。AXI 總線有讀地址和控制、讀數(shù)據(jù)、寫地址和控制、寫數(shù)據(jù)、寫響應(yīng)5個通道。AXI總線包括AXI4、AXILite和AXIStream接口,其中AXI4和AXILite有完整的5個通道,AXIStream不包含地址通道,只有3個通道。AXI4主要面向高性能地址映射通信的需求;AXI4Lite是一個簡單的吞吐量地址映射性通信總線;AXIStream接口不存在地址映射,所以它的突發(fā)數(shù)據(jù)量是不受限制的,這也導(dǎo)致了基于AXIStream接口的IP核較一般AXI接口的IP核傳輸速率更快。AXIStream主要應(yīng)用于高速數(shù)據(jù)流的傳輸。

        2AES算法基本原理

        美國國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)在2001發(fā)布了高級加密標(biāo)準(zhǔn)(AES),用于取代之前的DES[5]。AES算法使用對稱密鑰,其加解密的密鑰相同,其實現(xiàn)也非常方便快捷。AES算法可以使用128bit、192bit或256bit的密鑰一次性加密128bit的分組長度。本文僅對128bit密鑰加密128bit分組的情況進行介紹。AES的加密過程包括字節(jié)替換、行移位、列混淆、輪密鑰加4個過程,而解密過程正好是4個步驟的逆過程:逆字節(jié)替換、逆行移位、逆列混淆和輪密鑰加。無論是加密過程中明文與密鑰的運算,還是解密過程中密文與密鑰的運算都是以4*4的矩陣為單位進行輪循環(huán)運算,并且都是在有限域上進行計算。

        3AXIStream接口加密模塊設(shè)計

        該加密IP核的設(shè)計來源是用DMA進行數(shù)據(jù)傳輸?shù)捻椖?,所以設(shè)計的IP核對外接口是與DMA的IP核進行匹配,圖1為自定義IP核與DMA的連接示意圖。從圖中可以看出,AXIStream接口比AXI4、AXILite接口的連接線要少,因此無論是硬件還是軟件實現(xiàn)起來都更加方便。

        AES的IP核設(shè)計了4個AXIStream接口,s_axis_rxd_en和m_axis_txd_en用于數(shù)據(jù)的接收并且發(fā)送加密數(shù)據(jù),s_axis_rxd_de和m_axis_txd_de用于接收加密數(shù)據(jù)并且發(fā)送解密后的數(shù)據(jù)。

        AES的IP核設(shè)計不僅在接口方面要考慮與DMA的對接,更重要的是在進行IP核內(nèi)部設(shè)計時,要考慮到DMA的特點以及其它擁有流接口的IP核特點,并同時考慮到FPGA內(nèi)部資源的充分利用以及損耗情況。AES加密算法的優(yōu)化設(shè)計如下:

        (1) 很多AES的IP核設(shè)計,如文獻[6]提出的設(shè)計,由于數(shù)據(jù)位寬不匹配,需要給IP核設(shè)置一系列的FIFO進行數(shù)據(jù)緩存。這不但造成了FPGA資源的消耗,而且也會給設(shè)計上帶來更多困難。 Xilinx提供的DMA給出了最多23bit的緩存,可以用于數(shù)據(jù)的暫時存儲區(qū),待數(shù)據(jù)位寬為128bit后,再傳輸?shù)紸ES的IP核內(nèi)進行加密。

        (2) AES的字節(jié)替換需要用到S盒,普通AES設(shè)計中的S盒一般使用查找表形式,加解密需要兩個不同的S盒,這將消耗很大的邏輯資源。所以,根據(jù)FPGA的基本結(jié)構(gòu)特點使用RAM塊進行S盒設(shè)計,通過地址訪問的方式實現(xiàn)字節(jié)置換。RAM塊是FPGA內(nèi)部的塊資源,資源使用時不會損耗任何邏輯資源。

        (3) 使用一次生成所有擴展密鑰的方式。擴展密鑰總共只需176字節(jié)進行存儲,雖然消耗了少量資源,卻可以節(jié)省等待密鑰生成的時間。

        (4) 深入研究AES的加解密流程發(fā)現(xiàn),雖然AES的解密過程與加密過程有所不同,但是通過合適的變換,可以將AES加解密過程使用同一套流程實現(xiàn),從而減少了硬件實現(xiàn)難度,降低了資源消耗。

        4仿真波形與測試

        設(shè)計使用Xilinx最新的開發(fā)集成環(huán)境Vivado進行邏輯實現(xiàn)以及相關(guān)的仿真測試。設(shè)計采用層次化設(shè)計思想,將復(fù)雜的設(shè)計簡化為模塊化設(shè)計,不但使代碼的編寫和管理更加方便,而且有利于加解密的并行化實現(xiàn)。

        由于FPGA的綜合實現(xiàn)耗時周期較長,所以設(shè)計時先采用不需要硬件的Testbench模型進行功能仿真測試。圖2為功能仿真測試結(jié)果,輸入數(shù)據(jù)包括128bit明文與128bit密鑰,在一個時鐘周期中即可對數(shù)據(jù)進行一輪AES加密操作。通過對加密結(jié)果的分析,所設(shè)計的基于AXIStream接口的AES IP核可以成功實現(xiàn)對數(shù)據(jù)的加密功能。

        為了獲取IP核的真實加密速率,使用Vivado搭建了基本的硬件測試平臺。MicroBlaze是Xilinx提供的一個處理器軟核,利用其產(chǎn)生明文數(shù)據(jù)和初始密鑰。MicroBlaze通過DMA將明文和密鑰傳輸?shù)紸ES的IP核進行加密,其使用的硬件平臺為Artix-7開發(fā)板。通過測試計算,在FPGA主時鐘為200MHZ、總線寬度為64bit的條件下,AES加密模塊的加密速度可達(dá)3.04Gb/s,而整體系統(tǒng)的加密速度可達(dá)1.12Gb/s。設(shè)計的AES加密IP核總共只需要1 392個Slice LUTs、189個Slice Registers。與文獻[2]的門數(shù)高達(dá)13.5K,文獻[7]需要3 012個Slice LUTs相比,可看出優(yōu)化后的加解密算法能夠有效減少資源消耗。

        加密模塊與整體系統(tǒng)的加密速率不同是由DMA的傳輸造成的。Xilinx提供的DMA在32bit位寬、100MHZ系統(tǒng)中的極限傳輸速率為400Mb/s。由此可以判斷,在200MHZ、64bit位寬的系統(tǒng)中,DMA核最高的理論傳輸速率只能達(dá)到1.6Gb/s,所以整個系統(tǒng)的加密速度只能達(dá)到1.12Gb/s。

        午夜熟女插插xx免费视频| 久久91精品国产91久久麻豆| 人妻丰满精品一区二区| 色欲一区二区三区精品a片| 最近中文字幕视频完整版在线看| 国产成人精品免费久久久久| 一区二区三区在线视频爽| 激情亚洲一区国产精品久久| 免费观看又色又爽又湿的视频| 一国产区在线观看| 国产一区二区三区蜜桃av| 国产一级二级三级在线观看视频| 97高清国语自产拍| 亚洲区小说区图片区| 偷柏自拍亚洲综合在线| 国产精品一区二区三区卡| 中文字字幕在线精品乱码| 亚洲一区二区婷婷久久| 国产一区精品二区三区四区| 东北少妇不戴套对白第一次 | vr成人片在线播放网站| 香蕉久久夜色精品国产| 91精品国产91综合久久蜜臀| 国产精品久久久国产盗摄| 一级二级中文字幕在线视频| 玖玖资源网站最新网站| 草草影院发布页| 999国内精品永久免费视频| 国产精品国三级国产av| 国内免费自拍9偷1拍| 中文 在线 日韩 亚洲 欧美| 四虎精品免费永久在线| 国产成人自拍视频视频| 免费观看a级毛片| 伴郎粗大的内捧猛烈进出视频观看 | 女同亚洲女同精品| 大岛优香中文av在线字幕| 好吊妞视频这里有精品| 牛鞭伸入女人下身的真视频| 国产一区二区三区亚洲天堂 | 亚洲精品色播一区二区|