2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、AES算法原理及實現(xiàn),2015.4.20,AES算法簡介,AES(The Advanced Encryption Standard),又稱Rijndael加密法,該演算法為比利時密碼學(xué)家Joan Daemen和Vincent Rijmen所設(shè)計,結(jié)合兩位作者的名字,以Rijdael命名。是美國聯(lián)邦政府采用的一種分塊加密標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過五年的甄選流程,高級加密標(biāo)準(zhǔn)由美國國家標(biāo)準(zhǔn)與技

2、術(shù)研究院 (NIST)于2001年11月26日發(fā)布于FIPS PUB 197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006年,高級加密標(biāo)準(zhǔn)已然成為對稱密鑰加密中最流行的演算法之一。它被預(yù)期能成為人們公認(rèn)的加密包括金融、電信和政府?dāng)?shù)字信息的方法。美國國家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)在2002年5月26日建立了新的高級數(shù)據(jù)加密標(biāo)準(zhǔn)(AES)規(guī)范。 AES 是一個新的可以用于保護電子數(shù)據(jù)的加密算法。明確地說,AES 是一個迭

3、代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,并且用 128 位(16字節(jié))分組加密和解密數(shù)據(jù)。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數(shù)據(jù)。通過分組密碼返回的加密數(shù)據(jù) 的位數(shù)與輸入數(shù)據(jù)相同。迭代加密使用一個循環(huán)結(jié)構(gòu),在該循環(huán)中重復(fù)置換(permutations )和替換(substitutions)輸入數(shù)據(jù)。,AES算法描述,AES 算法是基于置換和代替的。置換是數(shù)據(jù)的重新排列,而代

4、替是用一個單元數(shù)據(jù)替換另一個。AES 使用了幾種不同的技術(shù)來實現(xiàn)置換和替換,包括: 字節(jié)代換(SubBytes),行循環(huán)移位(ShiftRows),列混合(MixColumn)運算,密鑰加(AddRoundKey)。,表 1-1 AES的密鑰長度和加密輪數(shù)列表,,圖 1-1 AES的加密/解密流程圖,密文輸出,輪密鑰加,,,,,,,,,明文輸入,,密鑰,擴展密鑰,,第1輪,,,,,第9輪,,第10輪,,,,,,第10輪,第9輪,第1輪

5、,,ω[4,7],ω[36,39],ω[40,43],,,,,,,,ω[0,3],字節(jié)代換,行移位,列混合,列混合,行移位,字節(jié)代換,字節(jié)代換,輪密鑰加,輪密鑰加,行移位,輪密鑰加,…,…,密文輸入,明文輸出,輪密鑰加,逆字節(jié)代換,逆列混合,逆行移位,逆字節(jié)代換,逆字節(jié)代換,逆行移位,輪密鑰加,逆行移位,逆列混合,…,…,輪密鑰加,輪密鑰加,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1.字節(jié)代換(byteSub),字節(jié)

6、代換是非線性變換,獨立地歲狀態(tài)的每個字節(jié)進行。代換表(即S-盒)是可逆的,由以下兩個變換得到:首先,將字節(jié)看作GF(28)上的元素,映射到自己的乘法逆元,’00’映射到自己。其次,對字節(jié)做如下的(GF(2)上的,可逆的)仿射變換:,y0y1y2y3y4y5y6y7,1 0 0 0 1 1 1 11 1 0 0 0 1 1 11 1 1 0 0 0 1 11 1 1

7、1 0 0 0 11 1 1 1 1 0 0 00 1 1 1 1 1 0 00 0 1 1 1 1 1 00 0 0 1 1 1 1 1,x0x1x2x3x4x5x6x7,11000110,=,,,,,,,,,x,⊕,字節(jié)代換,狀態(tài)矩陣按照下面的方式映射成為一個新的字節(jié):把該字節(jié)的高4位作為行值,低4位作為列值,得到S盒或逆S盒的對應(yīng)

8、元素作為輸出。例如輸入字節(jié)0x12,取S盒的第0x01行盒0x02列,得到0xC9。,字節(jié)代換(ByteSub),,S盒,aij,bij,2.行移位(ShiftRow),在行循環(huán)移位變換中,狀態(tài)陣列的后3行循環(huán)移位不同的偏移量。第0行不移動。第1行循環(huán)移位C1字節(jié),第2行循環(huán)移位C2字節(jié),第3行循環(huán)移位C3字節(jié)。 偏移量C1、C2、C3與分組長度Nb有關(guān),如下表所示:,行移位示意圖,左移0位,左移1位,左移2位,左移3位,3.列混合(

9、MixColumn),列混合運算將狀態(tài)(State)的列看作是有限域GF(28)上的多項式a(x),與多項式c(x) = ’03’ x3 + ’01’ x2 + ’01’ x +’02’相乘(在模(x4+1)下)。b(x)=c(x) x a(x)(mod x4 + 1),b0b1b2b3,,,=,02 03 01 0101 02 03 01

10、01 01 02 0303 01 01 02,,,a0a1a2a3,,,圖 1-2 列混合運算示意圖,a0j,a1j,a3j,a2j,b0j,b1j,b3j,b2j,☉c(x),,,,,4.密鑰加,密鑰加是將輪密鑰簡單地與狀態(tài)進行逐比特異或。輪密鑰由種子密鑰通過密鑰編排算法得到,輪密鑰長度等于分組長度Nb。,⊕,=,圖 1-3 密鑰加運算示意圖,

11、AES的密鑰調(diào)度,密鑰bit的總數(shù) = 分組長度 x ( 輪數(shù)Round + 1 )當(dāng)分組長度為128bit且輪數(shù)為10時,輪密鑰長度為:128 x ( 10 + 1 ) = 1408 bit 將初始密鑰擴展成擴展密鑰輪密鑰從擴展密鑰中取,第1輪輪密鑰取擴展密鑰的前Nb個字,第2輪輪密鑰取接下來的Nb個字,以此類推。,密鑰擴展,,,,,密鑰擴展,以128bit為例,對數(shù)組ω擴充40個新列,構(gòu)成總共44列的擴展密鑰數(shù)組。新列按照以

12、下的方式遞歸產(chǎn)生:(1) 如果i不是4的倍數(shù),那么第i列由等式ω[i]= ω[i-4] ⊕ ω[i-1] 確定;(2) 如果i是4的倍數(shù),那么第i列由等式ω[i]= ω[i-4] ⊕ T(ω[i-1]) 確定;,,AES密鑰擴展圖,⊕,T,⊕,⊕,⊕,密鑰擴展,函數(shù)T由三部分組成:字循環(huán)移位、字節(jié)代換和輪常量異或。(1)字循環(huán)移位:將1個字中的4個字節(jié)循環(huán)左移1個字節(jié),即將輸入字[b0, b1 , b2 , b3]變換為[b1,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論