信息安全基礎(chǔ)4_第1頁
信息安全基礎(chǔ)4_第2頁
信息安全基礎(chǔ)4_第3頁
信息安全基礎(chǔ)4_第4頁
信息安全基礎(chǔ)4_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

4對稱密鑰算法4.1概述4.2數(shù)據(jù)加密標(biāo)準(zhǔn)算法DES4.3高級數(shù)據(jù)加密標(biāo)準(zhǔn)AES4.4聯(lián)合分組密碼4.1概述分組密碼:向量x到向量y上的一個映射

:x→y=

(x)x=(x0,x1,…,xN-1),y=(y0,y1,…,yN-1)乘積密碼:t個函數(shù)(密碼)F1,…,Ft的復(fù)合,其中每個Fi是一個換位或代替。如轉(zhuǎn)輪機(jī)。Lucifer密碼的代替-移位變換乘積密碼:代替和簡單線性變換來實現(xiàn)混合變換。例:ADFGVX乘積密碼1.先造一個6*6方陣ADFGVXAK2WR1FD9B6CL5FQ7JPGXGEVY3ANV8ODH02XU4ISTM明文:PRODUCTCIPHERS變換(代替):(行標(biāo),列標(biāo))明文PFG(把原來明文的一個字母用RAG兩個字母行、列來代替)第一次加密密文:FGAGVDVFXADGXVDGXFFGVGGAAGXG2.移位變換:構(gòu)造一個移位矩陣,約定一個密鑰密鑰:DEUTSCH把第一次加密的密文按行寫入4*7矩陣,前邊加上密鑰,密鑰字母按其在字母表中出現(xiàn)的次序編號。DEUTSCH2376514FGAGVDVFXADGXVDGXFFGVGGAAGXG第二次加密(移位法):按密鑰字母在字母表中的順序一列一列寫出。密文:DXGXFFDGGXGGVVVGVGFGGDFAAAXA4.2數(shù)據(jù)加密標(biāo)準(zhǔn)算法DES背景算法描述算法概述:Li=Ri-1Ri=Li-1⊕f(Ri-1,Ki)F函數(shù):E變換按位異或S盒代替P變換密鑰PC-1C0D0循環(huán)左移循環(huán)左移C1D1PC-2循環(huán)左移循環(huán)左移C2D2PC-2PC-2循環(huán)左移循環(huán)左移C16D16……K1K2K16密鑰變換:初始變換IP:在第一圈之前(對明文移位)密鑰變換:PC-1:64位密鑰去掉8的倍數(shù)位循環(huán)左移:56位分成各28位的兩部分,分別循環(huán)左移1或2位PC-2:從56位中選出48位,為本圈子密鑰擴(kuò)展變換E:將右半部分從32位擴(kuò)展到48位S盒代替:對48位中間結(jié)果做代替操作。8個小S盒,每個有6位輸入和4位輸出設(shè)輸入為b1b2b3b4b5b6,則b1b6為行號,b2b3b4b5為列號例:S6的輸入110011,行11(3),列1001(9)處為14,輸出為1110P變換:換位操作,P變換的結(jié)果與上一圈的左半部分異或,成為新的右半部分,開始下一圈逆初始變換IP-1(移位)舉例:設(shè)M=0x0123456789abcdef,K=0xfedcba9876543210,求L1和R1。K:111111101101110010111010100110000111011001010100001100100001000064位PC-1(K):00001111001100110101010111110101010100110011000011111111表4.256位循環(huán)左移:0001111001100110101010111110101010100110011000011111111056位K1(PC-2):111101001111110110011000011001001011011001011010表4.448位M:0000000100100011010001010110011110001001101010111100110111101111IP(M):1100110000000000110011001111111111110000101010101111000010101010E(R0)011110100001010101010101011110100001010101010101E(R0)⊕K1

100011101110100011001101000111101010001100001111S盒代替:11000001101000001100100010000100P變換:00010001100001001100000100100101R1:11011101100001000000110111011010L1:加密過程:L0R0

IP(<64位明文>)FORi=1TO16Li

Ri-1Ri

Li-1⊕f(Ri-1,Ki)<64位密文>

IP-1(R16L16)解密過程:R16L16

IP(<64位密文>)FORi=16TO1Ri-1

LiLi-1

Ri

⊕f(Li,Ki)<64位明文>

IP-1(L0R0)DES的安全性弱密鑰弱密鑰:每一圈的子密鑰都相同。共4個。半弱密鑰:只產(chǎn)生2種不同的子密鑰,每種出現(xiàn)8次。共12個??赡苋趺荑€:只產(chǎn)生4種不同的子密鑰,每種出現(xiàn)4次。共48個?;パa(bǔ)密鑰代數(shù)結(jié)構(gòu)密鑰長度圈數(shù)S盒的設(shè)計練習(xí)1.已知DES算法中S盒的輸入為0x010101010102,求經(jīng)過S盒代替后的輸出結(jié)果。答案:11101001100111010010000000100010輸入:000000010000000100000001000000010000000100000010S1:0行0列:14--1110S2:0行8列:9--1001S3:0行2列:9--1001S4:1行0列:13--1101S5:0行0列:2--0010S6:0行8列:0--0000S7:0行2列:2--0010S8:0行1列:2--00104.3高級數(shù)據(jù)加密標(biāo)準(zhǔn)AES背景AES的數(shù)學(xué)基礎(chǔ)AES加密算法描述AES解密算法算法評價結(jié)論背景現(xiàn)代計算機(jī)速度的迅速提高,使得只有56bit密鑰的DES算法的安全性面臨著極大的挑戰(zhàn)。1997年,NIST公開征求AES(AdvancedEncryptionStandard)作為2001年以后的數(shù)據(jù)加密標(biāo)準(zhǔn)。1998年8月,AES召開第一次候選會,確定15個算法入圍。1999年3月,AES召開第二次候選會,有5個算法入圍(MARS,RC6,Rijndael,Serpent和Twofish)。2000年10月,NIST選出由比利時的JoanDaemen和VincentRijmen提交的Rijndael算法作為AES。2001年夏天,NIST頒布新的信息處理標(biāo)準(zhǔn)(FIPS),將Rijndael算法作為AES。AES的數(shù)學(xué)基礎(chǔ)(1)有限域GF(28)上定義了4種運算:“+”、“·”、“·

X”和帶系數(shù)的多項式乘運算“

”。對字節(jié)b,用多項式表示為:

b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0“+”運算:兩個字節(jié)相加,相當(dāng)于字節(jié)的每一位簡單異或。例:’57’+’83’=‘d4’(57)16=(01010111)2→x6+x4+x2+x+1(83)16=(10000011)2→x7+x+1’57’+’83’→(x6+x4+x2+x+1)+(x7+x+1)=x7+x6+x4+x2→(11010100)2=(d4)16AES的數(shù)學(xué)基礎(chǔ)(2)“·”運算:選擇一個不可約多項式:m(x)=x8+x4+x3+x+1,“·”運算為兩多項式相乘后進(jìn)行模m(x)的運算。例:’57’·’83’=‘c1’(57)16=(01010111)2→x6+x4+x2+x+1(83)16=(10000011)2→x7+x+1’57’·’83’→(x6+x4+x2+x+1)·(x7+x+1)mod(x8+x4+x3+x+1)=x13+x11+x9+x8+x7+x7+x5+x3+x2+

x+x6+x4+x2+x+1)mod(x8+x4+x3+x+1)

=(x13+x11+x9+x8+x6+x5+x4+x3+1)mod(x8+x4+x3+x+1)

=x7+x6+1→(11000001)2=(c1)16(x13+x11+x9+x8+x6+x5+x4+x3+1)mod(x8+x4+x3+x+1)

:x5+x3x8+x4+x3+x+1x13+x11+x9+x8+x6+x5+x4+x3+1x13+x9+x8+x6+x5x7+x6+1x11+x4+x3+1x11+x7+x6+

x4+x3AES的數(shù)學(xué)基礎(chǔ)(3)“·

X”運算:

b

·

X=b7x8+b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0x求乘法逆元:因為m(x)是GF(28)上的不可約多項式,所以對于任意b(x),都可以用擴(kuò)展的Euclid算法求a(x),使得

a(x)·

b(x)+c(x)·

m(x)=1因而a(x)·

b(x)modm(x)=1即b-1(x)modm(x)=a(x),m(x)=x8+x4+x3+x+1例:求(x7+x6+1)關(guān)于模m(x)=x8+x4+x3+x+1的乘法逆元。輾轉(zhuǎn)相除:

x8+x4+x3+x+1=(x

7+x

6+1)(x+1)+(x

6+x

4+x

3)

x

7+x

6+1=(x

6+x

4+x3)(x+1)+(x

5+x

3+1)x

6+x

4+x

3=(x

5+x

3+1)x+(x

3+x)x

5+x

3+1=(x

3+x)x

2+1擴(kuò)展的Euclid算法:1=(x

5+x

3+1)+(x

3+x)x

2

=(x

5+x

3+1)+((x

6+x

4+x

3)+(x

5+x

3+1)x)x

2

=(x

5+x

3+1)(1+x

3)+(x

6+x

4+x

3)x

2

=[(x

7+x

6+1)+(x

6+x

4+x

3)(x+1)](1+x

3)+(x

6+x

4+x

3)x

2

=(x

7+x

6+1)(1+x

3)+(x

6+x

4+x

3)(x

4+x

3+x

2+x+1

)=(x

7+x

6+1)(1+x

3)+[(x

8+x

4+x

3+x+1)+(x

7+x

6+1)(x+1)](x

4+x

3+x

2+x+1

)=(x

7+x

6+1)(x

5+x

3)+(x

8+x

4+x

3+x+1)(x

4+x

3+x

2+x+1

)因此,(x

7+x

6+1)-1mod(x

8+x

4+x

3+x+1)=x

5+x

3

AES的數(shù)學(xué)基礎(chǔ)(4)帶系數(shù)的多項式乘運算“

”:令a(x)=a3x3+a2x2+a1x+a0,b(x)=b3x3+b2x2+b1x+b0,其乘積

c(x)=a(x)·b(x)=c6x6+c5x5+c4x4+c3x3+c2x2+c1x+c0其中,c0=a0

·b0

c1=a1·b0

a0

·b1

c2=a2·b0

a1

·b1

a0

·b2

c3=a3·b0

a2

·b1

a1

·b2

a0

·b3

c4=a3·b1

a2

·b2

a1

·b3

c5=a3·b2

a2

·b3

c6=a3

·b3對(x4+1)取模得d(x):d(x)=a(x)

b(x)=d3x3+d2x2+d1x+d0其中,d0=a0

·b0

a3·b1

a2

·b2

a1

·b3

d1=a1·b0

a0

·b1

a3·b2

a2

·b3

d2=a2·b0

a1

·b1

a0

·b2

a3

·b3

d3=a3·b0

a2

·b1

a1

·b2

a0

·b3注意:ximod(x4+1)=ximod4AES加密算法描述加密算法概述一圈變換密鑰擴(kuò)展加密算法描述加密算法概述(1)AES算法與以往的基于Feistel網(wǎng)的密碼(如DES)不同,算法的每一步都是可逆的。算法的明文塊長可以為128bit,192bit或256bit,密鑰也可以分別為128bit,192bit或256bit。算法有多圈相同的運算,每一圈包括4個步驟:非線性代替(S-盒)行循環(huán)左移(ShiftRow)列混合變換(MixColum)與擴(kuò)展密鑰相異或每一圈的子密鑰從擴(kuò)展密鑰中取出密鑰擴(kuò)展過程同時應(yīng)用了非線性變換和循環(huán)左移算法定義的所有運算都是在有限域GF(28)上進(jìn)行的加密算法概述(2)算法中進(jìn)行運算的單位包括:1個字節(jié)1列1行用字節(jié)數(shù)組表示的整個加密塊加密塊數(shù)組中,n可以是3,5,7,所代表的加密塊分別表示128bit,192bit和256bit。ai,ja0,ja1,ja2,ja3,jai,0ai,1…ai,3a0,2a0,3a1,2a1,3a2,2a2,3a0,0a0,1a1,0a1,1a2,0a2,1a3,0a3,1a3,2a3,3…a0,n…a1,n…a2,n…a3,n加密算法概述(3)令Nr代表算法的圈數(shù),Nk代表密鑰長度/32,Nb代表塊長度/32,則算法的圈數(shù)Nr的取值與Nk和Nb的關(guān)系為:除最后一圈不做列混合變換外,每一圈都經(jīng)過4步相同的操作:NrNb=4Nb=6Nb=8Nk=4101214Nk=6121214Nk=8141414Round(State,RoundKey){ByteSub(State);//S-盒ShiftRow(State);//行循環(huán)左移MixColumn(State);//列混合變換AddRoundKey(State,RoundKey);//與擴(kuò)展密鑰相異或}一圈變換(1)非線性代替(S-盒):包括2步在GF(28)上求每個字節(jié)關(guān)于模m(x)的乘法逆元素,‘00’的逆元定義為‘00’;(000110001163,01011111007c)應(yīng)用GF(2)上的一個仿射變換:一圈變換(2)每個字

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論