《就目前科技而言.ppt》由会员分享,可在线阅读,更多相关《就目前科技而言.ppt(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、就目前科技而言,現有之DES密碼系統所使用之金鑰長度過短(僅56位元),其安全性已遭受質疑,為提高其安全性,便有了Triple-DES的構想。隨著電腦技技的發展,可預見未來Triple-DES的加密演算法也勢必淘汰,有鑑於此,美國國家標準技術局(NIST)於1997年元月二日開始著手計劃公開徵求新一代加密標準(簡稱AES)。一、傳統的加解密法:一、傳統的加解密法:AES1 11-1-Advanced Encryption Standard(AES)AES為新一代NIST/FIPS的加密標準NIST於1998年開始15個AES候選演算法之技術分析1999年選出五個候選演算法:MARS,RC6,R
2、ijndael,Serpent,TwofishNIST於2000年選定Rijndael為新一代的加密標準一、傳統的加解密法:一、傳統的加解密法:AES2 21-1-有限體有限體GF(28)一個位元組(byte)b是由8個bitsb7b6b5b4b3b2b1b0所組成的,我們可以將它視為一個係數為0或1的多項式如下:b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x1+b0 x0Example:16進位表示法57的2進位表示法為01010111,它所對應的多項式則為:x6+x4+x2+x+1.3 31-1-Example1:(x6+x4+x2+x+1)+(x7+x+1)=x7+x
3、6+x4+x2.”01010111”+”10000011”=”11010100”Example2:(x6+x4+x2+x+1)(x7+x+1)=x13+x11+x9+x8+x7+x7+x5+x3+x2+x+x6+x4+x2+x+1=x13+x11+x9+x8+x6+x5+x4+x3+1x13+x11+x9+x8+x6+x5+x4+x3+1modulox8+x4+x3+x+1=x7+x6+1有限體有限體GF(28)下之運算下之運算4 41-1-Multiplication by xMultiply b(x)with the polynomial x:b7x8+b6x7+b5x6+b4x5+b3x
4、4+b2x3+b1x2+b0 xIf b7=0,the reduction is identity operation;if b7=1,m(x)must be subtracted(i.e.EXORed).That is,multiplication by x(02)can be implemented by a left shift and a conditional EXOR with1B.5 51-1-Example57 13=FE 57 02=xtime(57)=AE57 04=xtime(AE)=4757 08=xtime(47)=8E 57 10=xtime(8E)=07 57 1
5、3=57(010210)=57AE07=FE6 61-1-Polynomials with coefficients in GF(28)Two polynomials over GF(28):a(y)=a3y3+a2y2+a1y+a0b(y)=b3y3+b2y2+b1y+b0Their product c(y)=c6y6+c5y5+c4y4+c3y3+c2y2+c1y+c0c0=a0 b0c1=a1 b0 a0 b1c2=a2 b0 a1 b1 a0 b2c3=a3 b0 a2 b1 a1 b2+a0 b3c4=a3 b1 a2 b2 a1 b3c5=a3 b2 a2 b3c6=a3 b37
6、71-1-Polynomials with coefficients in GF(28)By reducing c(y)modulo a polynomial of degree 4,the result can be reduced to a polynomial of degree below 4.M(y)=y4+1 and yi mod y4+1=yi mod 4.8 81-1-Polynomials with coefficients in GF(28)Product of a(y)and b(y):d(y)=a(y)b(y)=d3y3+d2y2+d1y+d0 d0=a0 b0 a3
7、b1 a2 b2 a1 b3d1=a1 b0 a0 b1 a3 b2 a2 b3d2=a2 b0 a1 b1 a0 b2 a3 b3d3=a3 b0 a2 b1 a1 b2 a0 b39 91-1-Polynomials with coefficients in GF(28)circulant matrix:10101-1-Rijndael 演算法演算法Rijndael是一個包含可變區塊長度和可變密鑰長度的區塊加密法,其區塊長度和密鑰長度可允許為128,192或256bits運算回合數與區塊長度和密鑰長度之關係11111-1-Example of The State and the Ciphe
8、r Key128bits之區塊長度表示法(Nb=4)128bits之密鑰長度表示法(Nk=4)12121-1-Round 函數函數 Round(State,RoundKey)ByteSub(State);ShiftRow(State);MixColumn(State);AddRoundkey(State,RoundKey);FinalRound(State,Roundkey)ByteSub(State);ShiftRow(State);AddRoundkey(State,RoundKey);13131-1-ByteSub 函數函數y011111000 x00y101111100 x11y200
9、111110 x21y300011111x30y4=10001111x4+0y511000111x50y611100011x61y711110001x7114141-1-ShiftRow 函數函數不同的區塊長度所須旋轉的大小ShiftRow運算在狀態值表的情形(Nb=4)15151-1-在MixColumn函數中,狀態值表的每一行是被視為在GF(28)中的多項式,並且乘上一個固定的多項式C(x)後再同餘於多項式y4+1,而其中C(y)=03y3+01y2+01y+02我們可將其表示矩陣乘法。令b(y)=c(y)a(y)b002030101a0b1=01020301a1b201010203a2b
10、303010102a3MixColumn 函數函數16161-1-子金匙加法函數子金匙加法函數(The Round Key Addition)(Nb=4)17171-1-Key Expansion(Nk6)KeyExpansion(CipherKey,W)for(i=0;iNk;i+)Wi=CipherKeyi;for(j=Nk;jNb*(Nr+1);j+=Nk)Wj=Wj-NkSubByte(Rotl(Wj-1)Rconj/Nk;for(i=1;iNk&i+j6)KeyExpansion(CipherKey,W)for(i=0;iNk;i+)Wi=CipherKeyi;for(j=Nk;jN
11、b*(Nr+1);j+=Nk)Wj=Wj-NkSubByte(Rotl(Wj-1)Rconj/Nk;for(i=1;i4;i+)Wi+j=Wi+j-NkWi+j-1;Wj+4=Wj+4-NkSubByte(Wj+3)for(i=5;iNk;i+)Wi+j=Wi+j-NkWi+j-1;19191-1-加密演算法加密演算法 Rijndael(State,CipherKey)KeyExpansion(CipherKey,ExpandedKey);AddRoundKey(State,ExpandedKey);For(i=1;INr;i+)Round(State,ExpandedKey+Nb*i);Fi
12、nalRound(State,ExpandedKey+Nb*Nr);20201-1-InvCipher(byte in4*Nb,byte out4*Nb,word wNb*(Nr+1)beginbytestate4,Nb;state=inAddRoundKey(state,w+Nr*Nb)for round=Nr-1 step-1 to 1 InvShiftRows(state)InvSubBytes(state)AddRoundKey(state,w+round*Nb)InvMixColumns(state)end forInvShiftRows(state)InvSubBytes(stat
13、e)AddRoundKey(state,w)out=stateendPseudo Code for the Inverse Cipher21211-1-AES的使用模式可參考DES的使用模式,有底下四種標準操作模式:(1)電子編碼模式(電子編碼模式(Electronic Codebook Mode,ECM)(2)密文塊串連模式(密文塊串連模式(Cipher Block Chaining,CBC)(3)密文反饋模式(密文反饋模式(Cipher Feedback,CFB)(4)輸出反饋模式(輸出反饋模式(Output Feedback,OFB)AES的使用模式22221-1-(1)電子編碼模式(電子編碼模式(Electronic Codebook Mode,ECM)AES的使用模式23231-1-(2)密文塊串連模式(密文塊串連模式(Cipher Block Chaining,CBC)AES的使用模式24241-1-(3)密文反饋模式(密文反饋模式(Cipher Feedback,CFB)AES的使用模式25251-1-(4)輸出反饋模式(輸出反饋模式(Output Feedback,OFB)AES的使用模式26261-1-
限制150内