【正文】
用相關(guān)工具進(jìn)行仿真(如 Modelsim)、生成相應(yīng)的目標(biāo)文件(如 EDA),最后再用 ASIC 或者 FPGA 方式來實(shí)現(xiàn)電路。 AES加密算法的工作流程如圖 23 所示。 ② P 層(線性混合層):進(jìn)行列混淆變換 MixColumn 和行移位變換 ShiftRow,主要是為了確保多輪迭代后的數(shù)據(jù)高度擴(kuò)散。 2)密文鏈接模式( CBC) 密文鏈接模式,先將一個(gè)明文分組進(jìn)行加密,其結(jié)果存儲(chǔ)在寄存器中,然后明文分組再與寄存器中的密文進(jìn)行逐位異或,異或的結(jié)果與密鑰分組一齊被送入加密電路。 AES 加密算法工作模式 本文的第一章節(jié)里面就曾提到, AES 加密算法屬于分組密碼,分組密碼的設(shè)計(jì)思想就是將不同位寬的明文和密鑰分成固定長(zhǎng)度的明文組和密鑰組。因此只 有 4 個(gè) 16 位的 SBox 共享密鑰更新 的 計(jì)算。此外 , 在 Rijndae1 系統(tǒng) 中 數(shù)據(jù) 以最初始的 字節(jié)格式 存在 。工作在復(fù)合材料領(lǐng)域,乘法逆元素是相對(duì)自由的。好消息是,前人已經(jīng)總結(jié)了一套實(shí)用的 Sbox 計(jì)算方法。 1}63{ 56)( ????? xxxC x 加密 1}05{ 2)( ??? xC x 令 )()( 1 xx AB ?? 要實(shí)現(xiàn) AES 兩個(gè)子步驟,通常需要 SubBytes 轉(zhuǎn)換,如表 2 所示。 多項(xiàng)式表示為: )1()1( 7246 ??????? xxxxxx )1()()( 24623577891113 ??????????????? xxxxxxxxxxxxxx 13456891113 ????????? xxxxxxxx () 1)1m o d ()1( 673483456891113 ??????????????? xxxxxxxxxxxxxx () 在有限域 )2( 8GF 中還有一種乘法運(yùn)算叫做 x 乘 ,記作 : )()())(( m o d xxxb mbxxtime ?? 多項(xiàng)式表示為: 東南大學(xué)成賢學(xué)院畢業(yè)論文 7 ))(( m o d01223344556677)( xmbxbxbxbxbxbxbxbbx x ????????? () 在這個(gè)式子中,要是 7b 為 0,多項(xiàng)式的系數(shù)依次向左移動(dòng) 1 比特,最右邊空出來的 1 個(gè)比特我們用 0來填充,這樣的改變并不影響該等式的結(jié)果;如若 7b 為 1 的話。 1)有限域上多項(xiàng)式的加法運(yùn)算 AES 加密算法中,通過我們?nèi)藶榈囟x,把一個(gè)字節(jié)(即 8 位的二進(jìn)制數(shù))的數(shù)據(jù)轉(zhuǎn)換成數(shù)學(xué)中常用的多項(xiàng)式,這就 把不易計(jì)算分析的二進(jìn)制數(shù)直觀地用符合我們正常思維的數(shù)學(xué)多項(xiàng)式的計(jì)算來表示。使密文的多樣性得到極大的拓展,使線性攻擊等手段對(duì)其無能為力。 AES 算法運(yùn)用的是迭代型分組算法,安全性高,靈活性好,并且迭代型分組易于在軟硬件中實(shí)現(xiàn)。因此,本次課題的學(xué)習(xí)目標(biāo)是重點(diǎn)掌握優(yōu)勢(shì)更為明顯的硬件實(shí)現(xiàn)方法。 優(yōu)點(diǎn):便捷、經(jīng)濟(jì),使用靈活,方便移植。 AES 的先進(jìn)性決定了其篩選的嚴(yán)格程度,這個(gè)征集過程歷時(shí) 3 年,進(jìn)行三輪層層篩選,第一輪選出 15 種候選算法,第二輪對(duì)前一輪結(jié)果 進(jìn)行篩選,只剩下 5 個(gè)算法晉級(jí),最后一輪又經(jīng)過詳細(xì)論證及三次研討會(huì)議,才最終確立了 Rijndael 算法 的先進(jìn)地位,并于 20xx 年將其命名為 AES 新一代高級(jí)加密標(biāo)準(zhǔn)。從上世紀(jì)七十年代到當(dāng)今的 21 世紀(jì),這近 30 年間在加密標(biāo)準(zhǔn)領(lǐng)域, DES 可謂是獨(dú)占鰲頭。另一種則打破了常規(guī)思路,把量子密碼學(xué)、 DNA 技術(shù)以及混沌技術(shù)等一系列非常規(guī)手段應(yīng)用到了信息加密上,不可不謂是另辟蹊徑。 然而,伴隨著電子技術(shù)的快速發(fā)展,計(jì)算機(jī)硬件的表現(xiàn)可以說在穩(wěn)步飆升,數(shù)據(jù)交換量空前, DES 加密標(biāo)準(zhǔn)的安全性面臨空前的挑戰(zhàn),事實(shí)上,實(shí)踐表明 DES 已漸漸不堪復(fù)用,無法滿足高端用戶的需求。 Encryption Standard 。如何才能保證私密信息不被外界竊取已經(jīng)成為現(xiàn)在學(xué)者們研究的重點(diǎn)項(xiàng)目。因此, 網(wǎng)絡(luò)信息安全 這個(gè)名詞逐漸進(jìn)入人們的眼球。 關(guān)鍵字: AES;加密標(biāo)準(zhǔn);算法; Verilog HDL; Modelsim . II The design of AES encryption circuit based on Verilog HDL Abstract Nowadays , the puter technology is in a rapid development in the direction of fast and portable in the information society . This means that the electronic form of data and personal information is widely used by us . Therefore , the work information security has aroused people’s attention . The way of how to keep the private information away from the outside world to steal has became the focus of the scholars study now . This topic is put forward in the background I mentioned before in purpose that design a circuit of AES encryption based on Verilog HDL . There are serval tasks to be done according to the subject , including the principle of AES encryption algorithm in the process of analysis and the subsequent hardware implementation . Firstly , the core of the design of AES encryption circuit is the implementation of AES encryption algorithm . Therefore , this article introduces the principle of AES algorithm , including the Sbox 、 shiftrows、mixcoloumns and AES line ranks , etc . Secondly , this paper pared the AES encryption circuit module partition and introduced Verilog HDL description and Modelsim simulation one by one . Finally , it gives the design process of use Synopsys DC and Astro to finish the prehensive and automatic wiring . Key Words : AES 。 自 上世紀(jì) 70 年代起, DES 加密標(biāo)準(zhǔn) 一直都是數(shù)據(jù)加密領(lǐng)域的重量級(jí)角色 。 從目前已經(jīng)被提出的加密思 想來看,一種就是公鑰密碼、分組密碼、序列密碼等基于數(shù)學(xué)思想的加密技術(shù)。在之后的幾年里, DES 加密標(biāo)準(zhǔn)迅速升溫,東南大學(xué)成賢學(xué)院畢業(yè)論文 2 全球范圍內(nèi) DES 開始滲透到各行各業(yè),當(dāng)然了,加密算法最新都是為軍事服務(wù)的,后來逐漸進(jìn)入民用領(lǐng)域。此次征集的目的就是要確立一個(gè)適用于全球范圍內(nèi)各行各業(yè),具有較強(qiáng)通用能力的新一代加密標(biāo)準(zhǔn),并且替代現(xiàn)有的即將過時(shí)的 DES 加密算法。 軟件實(shí)現(xiàn)方式:即使用一種語言在一個(gè)操作系統(tǒng)或單片機(jī)上編寫加密程序。但是在很多實(shí)際應(yīng)用中,軟件加密方案并不能完全滿足現(xiàn)實(shí)需求。相反,解密過程就是一個(gè)逆運(yùn)算,加、解密過程中使用的密鑰分組是相同的。 SP 結(jié)構(gòu)中的 P 層主要承擔(dān)著擴(kuò)散的工作,經(jīng)過這一層的計(jì)算,明文分組中的任何一點(diǎn)變動(dòng),都會(huì)引起相應(yīng)密文的無規(guī)律變化。舉個(gè)列子,現(xiàn)在有一個(gè)多項(xiàng)式 157 ??? xxx ,那么它對(duì)應(yīng)的 8 位二進(jìn)制數(shù)就是 1010011,因此,其對(duì)應(yīng)的十六進(jìn)制數(shù)就是 {A3}。 為了定義字節(jié)乘法,被廣泛地用于 AES 加密算法的多項(xiàng)式為: 1348)( ????? xxxxm x () 如在有限域 )2( 8GF 中, 16 進(jìn)制數(shù) {57} 和 {83} 所表示的多項(xiàng)式的乘積可以用 16 進(jìn)制數(shù) {C1} 表示。每個(gè)字節(jié)的乘法逆元素運(yùn)算: )()( 1 xx AB ?? 1348)( ????? xxxxm x () 仿射變換(這個(gè)步驟執(zhí)行 )(28GF ): )()( )18m o d ( xxx CBD x ?? ??)( () 1}{1 234 ?????? xxxxF? 加密過程 xxxA ???? 36}4{? 解密過程 東南大學(xué)成賢學(xué)院畢業(yè)論文 8 添加常數(shù) )(xC ,是為了防止 Sbox 沒有定點(diǎn) ,或沒有相反的定點(diǎn)。大部分的作者和設(shè)計(jì)工程師都認(rèn)為 )()( 1 xx AB ?? 的計(jì)算是相當(dāng)復(fù)雜的。沒有必要進(jìn)一步分解復(fù)合場(chǎng)最低的地場(chǎng)。 因?yàn)榭倲?shù)據(jù)字節(jié)比較小, 反演使用直接 映射真值表的方法,在消耗較少的資源下查找數(shù)據(jù) 。然而只有32 位 :4 字節(jié)替換 8 位的需求。 5)密鑰擴(kuò)展( ExpendedKey) AES 加密算法是十輪迭代型分組密碼算法,密鑰擴(kuò)展和加、解密過程是分開的,因此密鑰擴(kuò)展在整個(gè)加密算法中就顯得尤為重要,密鑰擴(kuò)展主要是由密鑰分組的位寬以及迭代輪數(shù)決定的,主要負(fù)責(zé)為加密或解密算法提供各輪運(yùn)算所需要的密鑰。由于 AES 加密算法的特性,決定了電子密碼本模式只能在明文分組較少的實(shí)例中擁有良好表現(xiàn),一旦碰到分組數(shù)量較多且重 復(fù)率較高的情況, ECB 模式速度快的優(yōu)勢(shì)就無法彌補(bǔ)其安全隱患的缺陷了。 AES算法的整體結(jié)構(gòu) AES 加密算法為替代 /置換( SP)型網(wǎng)絡(luò)結(jié)構(gòu),輪變換的輪函數(shù)由以下三層組成: 東南大學(xué)成賢學(xué)院畢業(yè)論文 11 ① S 層(非線性層):由字節(jié)代換函數(shù)( SubBytes)組成,進(jìn)行非線性 S 盒 變換,起混淆作用,確保達(dá)到掩蓋明文、密文、密鑰關(guān)系的目的。 事實(shí)上 AES 的加密過程和解密過程相類似,加密過程是正運(yùn)算,解密過程就是相應(yīng)的逆運(yùn)算。它不僅用于描述已有的電路,還可通過對(duì)預(yù)期功能的描述達(dá)到設(shè)計(jì)電路的目的。個(gè)性化的圖形界面以及可自由配置的用戶接口等因素都讓 Modelsim 成為仿真軟件的首選。另外,與 AES 其它模塊一樣,位變換是可逆的。另外,由于 shiftrows 模塊是一個(gè)簡(jiǎn)單的以字節(jié)為單位的循環(huán)移動(dòng)過程,所以該模塊可以在列混合變換模塊中體現(xiàn),從而節(jié)省空間,提高運(yùn)算效率。同時(shí)解密過程還需要與之匹配的解密密鑰的擴(kuò)展電路,這就造成了一定的資源浪費(fèi)。轉(zhuǎn)譯是軟件根據(jù)預(yù)設(shè)自動(dòng)地將硬件描述語言翻譯成與其相對(duì)應(yīng)的功能模塊(包括模塊之間的拓?fù)浣Y(jié)構(gòu))的過程。 DesignCompiler可以針對(duì)層次化的組合電路或者時(shí)序電路的速度、面積和可布性進(jìn)行優(yōu)化,按照所定義的電路的測(cè)量特征所達(dá)到的目標(biāo), DC 綜合一個(gè)電路并將其放入目標(biāo)庫(kù),這樣可以生成適用于計(jì)算機(jī)輔助設(shè)計(jì)工程( CAE)工具的原理圖或網(wǎng)表。并用 ASIC 方法實(shí)現(xiàn) AES 加密電路。密碼學(xué)的研究從來沒有停止,隨著時(shí)間的推進(jìn),技術(shù)的發(fā)展,相信未來密碼學(xué)會(huì)有新的突破。 東南大學(xué)成賢學(xué)院畢業(yè)論文 27 參考文獻(xiàn) [1] 集成電路 CAD 與實(shí)踐,李冰編著,電子工業(yè)出版社, 20xx [2] AES 算法的安全性分析及其優(yōu)化改進(jìn),賈旭,吉林大學(xué), 20xx [3] 基于 VERILOG 的 AES 加密算法的實(shí)現(xiàn),虞歡,東南大學(xué) [4] AES 算法原