《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于AES算法的存儲測試系統設計
基于AES算法的存儲測試系統設計
2015年電子技術應用第7期
孫 汶1,2,朱 平1,2
1.中北大學電子測試技術國防科技重點實驗室,山西 太原030051; 2.中北大學儀器科學與動態測試教育部重點實驗室,山西 太原030051
摘要: 為了實現對存儲測試系統在某些應用場合中數據保密的需求,提出了一種基于AES算法的數據加密系統設計方案,并完成了系統的算法仿真與硬件設計。系統的硬件以Xilinx公司的FPGA為主要芯片,實現數據采集與加密功能。采用VHDL語言來描述AES算法的硬件實現,對AES加密系統的整體結構和各個子模塊進行了仿真與優化。從仿真測試結果看,完全能夠滿足存儲測試系統的加密要求,達到了設計要求。
中圖分類號: TH70
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.021
中文引用格式: 孫汶,朱平. 基于AES算法的存儲測試系統設計[J].電子技術應用,2015,41(7):74-76,84.
英文引用格式: Sun Wen,Zhu Ping. Design of storage testing system based on AES algorithm[J].Application of Electronic Technique,2015,41(7):74-76,84.
Design of storage testing system based on AES algorithm
Sun Wen1,2,Zhu Ping1,2
1.Science and Technology on Electronic Test & Measurement Laboratory,North University of China,Taiyuan 030051,China; 2.Key Laboratory of Instrumentation Science & Dynamic Measurement,Ministry of Education,North University of China, Taiyuan 030051,China
Abstract: In order to achieve the data encryption requirement of storage testing system, which brings a design of data encryption system based on AES algorithm. The algorithm′s simulation and the hardware design of the system are finished. This system′s hardware is based on Xilinx′s FPGA to realize data acquisition and encryption. The design uses VHDL to realize the AES algorithm in hardware and simulates every module of algorithm. Seen from the results of the simulation, the design completely meets the system′s data encryption demand and achieves the design’s requirement.
Key words : AES;storage testing;VHDL;encryption system

   

0 引言

    隨著信息技術的不斷發展與信息價值的不斷提高,人們對于信息存儲的安全問題關注度越來越高,越來越多的信息科技產品采用了加密技術對數據進行保護。由于存儲測試系統應用方面的特殊性,測試的數據大多屬于機密,目前大多數是靠回收記錄器來獲得測試數據,然而由于回收難度大的問題造成了數據安全性方面的隱患,因此對于測試系統的數據加密需求極為迫切[1-2]。高級加密標準(AES)是由美國國家標準與技術研究院于2001年12月公布的對稱密鑰分組密碼[3]。AES是一個非菲斯特爾(Feistel)密碼,可以加密和解密128 bit的數據分組,可使用10、12或14個輪。密鑰的大小可以是128 bit、192 bit或256 bit,依輪的數目而定,擁有三種版本,即AES-128、AES-192和AES-256[4]。本文基于AES-128算法提出了一種數據加密系統的設計方案,給出了基于Xilinx的FPGA硬件實現方法。

1 AES算法

1.1 AES算法概述

    AES算法利用代換、置換、混合和密鑰加來對數據進行類型轉換進而完成加密解密工作,提高系統的安全性能。字節代換、行移位、列混合、加輪密鑰和密鑰擴展是算法加密過程的主要步驟,解密過程主要步驟則為行移位反演、位代換反演、加輪密鑰、列混合反演。需要注意的是在進行加密解密的過程中除第一步加輪密鑰外還須進行十輪數據轉換,在加密過程中第十輪沒有列混合這一步驟,解密過程中第十輪同意不包含列混合反演這一步驟[5]。AES-128加密解密算法的整體工作流程如圖1所示。

ck7-t1.gif

1.2 算法流程

    AES加密算法首先將128 bit明文排列成一個4×4的矩陣,如圖2所示。同樣密鑰也被排列成4×4矩陣。AES算法的加密過程可分為輪變換和密鑰擴展(KeyExpansion),輪變換包括字節代換(SubByte)、行移位(ShiftRow)、列混合(MixColumn)和加輪密鑰(AddRoundKey)。

ck7-t2.gif

    (1)字節代換(SubByte)

    字節代換將明文狀態的每個字節做非線性變換,明文狀態中的每一個字節經過查找表操作,通過S盒變換為另一個字節。字節代換如圖3所示。

ck7-t3.gif

    (2)行移位(ShiftRow)

    經過字節代換后明文數據要進行行移位轉換,這種轉換就是改變字節的序列,移位是在字節層上進行的,不改變字節當中的比特順序。加密過程中,行移位是向左移位,行0沒有移位,行1有一字節移位,行2有兩個字節移位,最后一行移了3個字節。

    (3)列混合(MixColumn)

    經過行移位之后還需要一個字節內交換來改變字節中的比特,列混合就是在列層上的轉換操作,把狀態的每一列轉換為一個新的列,實際上轉換就是一個狀態列和一個常數矩陣相乘。

    (4)加輪密鑰(AddRoundKey)

    加輪密鑰過程每次處理一列,把一個輪密鑰字與每一個狀態列矩陣相加。加輪密鑰的操作也可以看做是對狀態的每一列與相應的密鑰字所進行的異或運算。圖4為加輪密鑰示意圖。

ck7-t4.gif

    (5)密鑰擴展(KeyExpansion)

    AES算法需要一個密鑰擴展模塊來生成每一輪操作所需的密鑰。本設計中加密輪數為10,密鑰擴展就從一個128 bit的密碼密鑰創建成11個128 bit的輪密鑰。第一個輪密鑰用作加輪密鑰,其他的十個輪密鑰用作每一輪的轉換。

2 數據加密系統整體設計及實現

    由于存儲測試系統采集存儲數據的實時性,數據加密也必須對采集的數據進行實時加密,基于此本設計的加密程序采用了內外混合流水線結構設計的方法來滿足存儲測試系統的高速采集。

2.1 數據加密系統器件選擇

    FPGA作為一種可編程邏輯器件,結合了軟件靈活和硬件的速度特性。使用FPGA開發數字電路,可以大大縮短開發時間,提高系統的可靠性,可擦除式編程使程序更加靈活多變。基于對AES算法的分析,其復雜的數學運算可以通過查找表與組合邏輯電路實現,綜合考慮速度、功耗和應用范圍等因素,本設計采用FPGA來實現AES加密算法[6-8]

    選取Xilinx公司生產的Spartan3E系列的XC3S500E作為主控芯片,擁有最多376個可操作I/O口,500 k個系統門數,塊RAM容量為360 KB,最高主頻高達300 MHz,完全滿足系統需要。

2.2 加密系統工作結構

    根據現有存儲測試系統的設計,首先系統通過一定位數的AD采集器將輸入的模擬信號在FPGA主控芯片的控制下以一定采樣頻率轉換為數字信號進行采集,然后采集的數字信號經過AES算法加密模塊進行加密,最后在FPGA芯片的控制下將加密后的數據存儲到Flash閃存中,完成數據的加密存儲過程[9-10]。數據加密系統的硬件電路總體方案如圖5所示。

ck7-t5.gif

    為了達到高精度采集的目的,采用12 bit的高速低功耗逐次逼近型A/D轉換器AD7495。由于本系統采集的模擬信號在-5 V~5 V之間,而AD7495芯片轉換要求輸入的模擬信號幅值在0 V~2.5 V之間,故信號在輸入ADC之前先通過運放AD823進行調理,使其輸入電壓在ADC正常工作范圍之內。同時,信號經調理后消除了使用模擬多路開關帶來的開關導通電阻的影響、通道切換過程中產生的尖峰電壓、輸入信號電壓擺幅等一系列問題。

    A/D轉換的工作過程嚴格按照AD7495的工作時序設定,其工作時序如圖6所示。片選CS拉低以啟動A/D轉換器并對其進行初始化,同時把時鐘信號SCLK傳給A/D轉換器,執行模數轉換并根據SCLK逐位輸出轉換后的數字信號,按照先高8位后低8位的順序送人FIFO中,其中DB12~DB15用0來補,轉換時間由SCLK的頻率決定。

ck7-t6.gif

    在硬件電路設計方案的基礎上,設計出了FPGA與計算機通信的上位機軟件。上位機軟件利用接口單元即USB接口與存儲測試系統進行通信,用戶通過操作上位機軟件即可向FPGA芯片下發命令,完成數據的讀取、擦除和解密等功能,使上位機軟件和數據加密系統形成一個完整的系統。

2.3 加密系統實現

    FPGA的功能邏輯使用 VHDL 語言實現, 用于描述數字系統的結構、行為和功能。使用 VHDL 語言設計硬件電路時,可以使設計者免除編寫邏輯表達式或真值表的工作,這樣使硬件電路設計的難度有了大幅度的降低, 從而提高工作效率, 縮短硬件電路的設計周期。作為采集的數據為8 bit,而加密算法所加密的是128 bit,因此需要一個data8to128模塊。使用VHDL 語言實現的系統 FPGA 部分原理圖如圖7所示。

ck7-t7.gif

    取實際測試采集的128 bit數據作為測試明文,轉換為16進制后的數據即為:08 A6 08 A5 08 A5 08 A4 08 A2 08 A1 08 9F 08 9F。初始密鑰在程序中設置,設初始密鑰為:4A 5B 68 2C 32 E1 B3 AC F2 35 24 A2 4B 3C 2F E6。對128 bit明文的加密轉換為表1所示。

ck7-b1.gif

    圖8為AES加密模塊的整體功能仿真圖,仿真軟件使用Modelsim SE 10.0c。從圖中可看出,完成一次128 bit數據加密從開始到結束需要12個時鐘周期,最終程序加密所得到的數據與加密軟件驗證的一致。

ck7-t8.gif

    本文所設計的系統程序通過ISE12.2進行綜合編譯后進行時序仿真。

    AES算法內部設計的理論處理時延是2 ns,為了數據加密系統能夠穩定工作,因此建議主時鐘周期在10 ns以上。設FPGA的主時鐘頻率為100 MHz,完成128 bit的數據加密需要12個時鐘周期才能完成,計算可得出滿負荷運行時加密速度可以達到1.06 Gb/s。考慮到受器件、延時、邏輯和噪聲等多種條件影響,AES加密核不能保證在更高時鐘下運行正確,實驗測試結果表明:在輸出結果完全正確,時序符合設計要求和系統能正確執行AES加解算法的情況下,加密系統加密過程的吞吐量可達到0.98 Gb/s,完全滿足存儲測試系統的高速采集需求。

3 結束語

    本文首先介紹了ASE算法的結構流程,對存儲測試系統數據加密需求進行了分析,提出了數據加密系統的硬件電路設計方案,編寫了基于VHDL語言的AES加密算法,對算法進行了仿真驗證。最后,對加密系統的整體功能進行了驗證。經實際系統測試,本方法可以有效地保護存儲測試系統采集的數據。

參考文獻

[1] 張文棟.存儲測試系統的設計理論與應用研究及其在導彈動態數據測試中的實現[D].北京:北京理工大學,1995.

[2] 祖靜,申湘南,張文棟.存儲測試技術[J].測試技術學報,1994,8(2):25-31.

[3] (美)Behrouz A.Forouzan.密碼學與網絡安全[M].北京:清華大學出版社,2009.

[4] 李洪剛,楊林楠,張麗蓮,等.基于FPGA的高速多通道數據采集系統的設計[J].計算機測量與控制,2006,14(10).

[5] PONGYUPINPANICH S,PHATHUMVANH S,CHOOMCHUAY S.A32 bits Architecture For An AES System[C].ISCIT,2004:70-73.

[6] 田耘,徐文波.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2010.

[7] 韋寶典.高級加密標準AES中若干問題的研究[D].西安:西安電子科技大學,2003.

[8] 鹿欽鶴,任濤.AES算法的研究[J].長春理工大學學報,2007,30(1):83-85.

[9] 高磊,戴冠中.AES算法中SubBytes變換的高速硬件實現[J].微電子學與計算機,2006,23(7):47-49.

[10] 何德彪,胡進,陳建華.基于FPGA的高速AES實現[J].華中科技大學學報,2010,38(2):101-103.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 男女男精品视频在线播放 | 波多野结衣最新 | 国内精品综合九九久久精品 | 大又大又粗又爽又黄毛片女人 | 日韩黄色片视频 | 男女一进一出无遮挡黄 | 一区二区三区波多野结衣 | 永久视频在线观看 | 视色在线 | 欧美一区日韩一区中文字幕页 | 欧美一区二区三区不卡 | 成人看的羞羞视频免费观看 | 国产成人精品免费视频动漫 | 2020国产成人精品视频人 | aaaaaaa毛片| 天天干夜夜爽天天操夜夜爽视频 | 国产成人精品999在线 | 国产精品福利小视频 | 久操视频免费在线观看 | 日韩在线一区二区三区 | 爽爽窝窝午夜精品一区二区 | 中国黄色网址 | 中国一级毛片免费观看 | 久久成人免费观看全部免费 | 一本大道香蕉高清视频视频 | 色偷偷网址 | 美女黄页在线观看 | 久青草国产97香蕉在线视频xx | 免费看黄色大片 | 天天做天天玩天天爽天天 | 日韩免费高清一级毛片 | 九九国产精品视频 | 欧美综合区自拍亚洲综合天堂 | 欧美日韩在线观看区一二 | 中文字幕第一页在线视频 | 国产haodiaose最新 | 欧美性视频一区二区三区 | 中国一级特黄高清免费的大片 | 啪啪免费网站入口链接 | 亚洲综合网在线观看 | 尤物视频一区 |