freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文aes加密算法(編輯修改稿)

2025-07-25 11:22 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 1 ⊕ a1? b2 ⊕ a0?b3 () c4= a3?b1⊕ a2?b2 ⊕ a1?b3 () c5= a3?b2 ⊕ a2?b3 () c6 = a3?b3 () 可以看出,c ( x )不是一個(gè)4字節(jié)的字。通過對(duì)c ( x )模一個(gè)4次多項(xiàng)式求余可以得到一個(gè)次數(shù)小于4的多項(xiàng)式。在AES中,這一模多項(xiàng)式為:M ( x ) = x4+ 1。 AES中兩個(gè)GF(28)上的多項(xiàng)式的乘法定義為模M(x)乘法,這種乘法可以用表示。 設(shè) d ( x ) = a ( x )b ( x) 可計(jì)算為:d ( x )= d3 x3 + d2 x2 + d 1x + d0,其中 d3 = a3?b0 ⊕ a2?b1 ⊕ a1?b2 ⊕ a0?b3 () d2 = a2?b0 ⊕ a1?b1 ⊕ a0?b2 ⊕ a3?b3 () d1 = a1?b0 ⊕ a0?b1 ⊕ a3?b2 ⊕ a2?b3 () d0 = a0?b0 ⊕ a3?b1 ⊕ a2?b2 ⊕ a1?b3 ()可以看出,用一個(gè)固定的多項(xiàng)式a ( x )與多項(xiàng)式b ( x )作運(yùn)算可以寫成矩陣乘法,即 ()其中矩陣是一個(gè)循環(huán)矩陣。由于x4 + 1不是GF(28)上的不可約多項(xiàng)式,因此多項(xiàng)式 a ( x )= a3x3 + a2x2 + a1x + a0,ai ∈ GF(28)不一定有可逆元素,但是如果 gcd( a ( x ), x4 + 1) = 1,則a ( x )在GF(28)[ x ] / ( x4 + 1)中有可逆元。那么在 AES 中選擇一個(gè)由逆元的固定多項(xiàng)式: a ( x ) = {03}? x3 + {01}? x2 + {01}?x+{02} () a1( x ) = {0b} ?x3 + {0d} ?x2 + {09}?x + {0e} () a ( x ) a 1( x ) = a ( x ) a 1( x) = {01} ()考慮用多項(xiàng)式x乘b ( x ),顯然 x b ( x )= b2 x3 + b1 x2 + b0 x +b3假設(shè) c ( x ) = x b ( x )= c3x3 + c2x2 + c1x + c0則矩陣形式表示為 ()因此,用x或者x的方冪GF(28)上的多項(xiàng)式等于一個(gè)4字節(jié)的左循環(huán)移位。 AES 算法描述AES分組長(zhǎng)度為128位,有三種可選的密鑰長(zhǎng)度,即128位、192位和256位。AES是一個(gè)迭代型密碼;輪數(shù)Nr依賴于密鑰長(zhǎng)度。如果密鑰長(zhǎng)度為128位,則Nr = 10。如果密鑰長(zhǎng)度位192位,Nr = 12;如果密鑰長(zhǎng)度位256位,則Nr = 14。AES的密鑰長(zhǎng)度與加密輪數(shù)之間的變動(dòng)。 AES的密鑰長(zhǎng)度與加密輪數(shù)的對(duì)照 標(biāo)準(zhǔn) 密鑰長(zhǎng)度 加解密輪數(shù)(Nr) AES128 AES192 AES256 128 192 256 10 12 14AES 算法中分組長(zhǎng)和密鑰長(zhǎng)的組合決定了需要加密多少輪后才能達(dá)到安全性的要求。,Nb 是分組長(zhǎng)度的列數(shù),Nr 加密輪數(shù),Nk 密鑰長(zhǎng)的列數(shù)。 加密輪數(shù)與分組長(zhǎng)和密鑰長(zhǎng)的對(duì)照表 AES中的操作都是以字節(jié)為基礎(chǔ)的,所有用到的變量都是由適當(dāng)數(shù)量的字節(jié)組成。中間變量State用4 * 4字節(jié)矩陣表示。 四行四列的矩陣 a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a30 a31 a32 a33下面給我出AES加密的總體描述: ,將State初始化為M,并將輪密鑰和State異或(稱為AddRoundKey); ,用S盒進(jìn)行一次替換操作(稱為SubBytes);對(duì)替換結(jié)果State做行移位操作(稱為ShiftRows);再對(duì)State做列混合變換(MixColumns,也稱為列混淆變換);然后進(jìn)行AddRoundKey操作。 ,ShiftRows和AddRoundKey操作。AES的加密過程可用如下的偽代碼進(jìn)行描述。AESCipher(byte in[16],byte out[16],word w[4*(Nr + 1)])//in[]、out[]和w[]分別表示AES加密的輸入、輸入和子密鑰{ byte state[4,4]。 //中間變量 state = in。 //用輸入以列為順序來初始化中間變量,即,state[r,c] = in[r+4c],0 = r、4 c AddRoundKey(state,w[0,3])。 //前Nr 1輪加密 for(int round = 1。round Nr 1。round++) { SubBytes(state)。 ShiftRows(state)。 MixColumns(state)。 AddRoundKey(state,w[4 * round,4 * round + 3])。 } //最后一輪加密 SubBytes(state)。 ShiftRows(state)。 AddRoundKey(state,w[4 * Nr,4 * Nr + 3])。 out = state。} 算法的基本變換a. 字節(jié)替換變換(SubBytes) 字節(jié)替換操作使用一個(gè)S盒對(duì)State的每個(gè)字節(jié)都進(jìn)行獨(dú)立的替換。 與DES的S盒相比,AES的S盒能進(jìn)行代數(shù)上的定義,而不是DES的S盒那樣是比較明顯的“隨機(jī)”代換。 S盒按如下的方式構(gòu)造:(1) 行x列y的字節(jié)初始化為十六進(jìn)制的{xy}。(2)把S盒中的每一個(gè)字節(jié)映射為在有限域GF(28)中的逆;{00}不變。(3)把S盒中的每一個(gè)字節(jié)轉(zhuǎn)換為二進(jìn)制表示(b7,b6,b5,b4,b3,b2,b1,b0),然后進(jìn)行如下的仿射變化 () AES的S盒 b. 行移位變換(ShiftRows)State的第一行保持不動(dòng),第二行循環(huán)左移動(dòng)一個(gè)字節(jié),第三行循環(huán)左移動(dòng)兩個(gè)字節(jié),第四行移動(dòng)循環(huán)左移動(dòng)三個(gè)字節(jié)。 行移位變換c. 列混淆變換(MixColumns)列混合變換對(duì)State中的每列進(jìn)行獨(dú)立的操作,它把每個(gè)列都看成GF(28)中的一個(gè)四項(xiàng)多項(xiàng)式s(x),再與GF(28)上的固定多項(xiàng)式a(x) = {03}x3 + {01}x2 + {01}x + {02}進(jìn)行x4 + 1的乘法運(yùn)算。如對(duì)第c列(0 = c = 3),其對(duì)應(yīng)的GF(28)中的多項(xiàng)式sc(x) = s0,c + s1,cx + s2,cx2+ s3,cx3,則列混合變換后的值為s`c(x) = sc(x)a(x)。其矩陣乘法表示如下 ()其中0 = c =3。 密鑰擴(kuò)展算法 AES 算法中每輪加密的輪密鑰是利用密鑰擴(kuò)展算法對(duì)加密密鑰擴(kuò)展得到的。密鑰擴(kuò)展及輪密鑰選擇的原理是:對(duì)加密密鑰擴(kuò)展得到輪密鑰,輪密鑰的總位數(shù)等于分組長(zhǎng)度乘以輪數(shù)加 1;在密鑰擴(kuò)展得到的輪密鑰中依次選取與分組長(zhǎng)度相同數(shù)目的密鑰用于輪密鑰加運(yùn)算。采用密鑰擴(kuò)展函數(shù)對(duì)加密密鑰的擴(kuò)展算法如下。ExpandedKey (byte K[4*Nk] word W[Nb*(Nr+1)])//K[]表示初始密鑰,w[]表示擴(kuò)展后的密鑰,Nk為密鑰長(zhǎng)度(以字節(jié)為單位){for (i=0。iNk。i++)//擴(kuò)展密鑰的前Nk個(gè)字節(jié)是初始密鑰W[i]=(K[4*i], K[4*i+1], K[4*i+2], K[4*i+3])。//把四個(gè)單位字節(jié)按照從高到低位的順序表示為一個(gè)字for(i=Nk。iNb。i++){ temp=W[i1]。if(Nk≤6){if(i%Nk==0)temp=SubBytes(RotByte(temp)^Rcon[i/Nk])。}else{if(i%Nk==0)temp=SubBytes(RotByte(temp)^Rcon[i/Nk])。elseif(i%Nk==4)temp=SubBytes(temp)。}W[i]=W[iNk]^temp。}} 其中Nb是分組長(zhǎng)的列數(shù),Nr加密輪數(shù),Nk密鑰長(zhǎng)的列數(shù)。SubByte(W)返回四字節(jié)向量 W 的每個(gè)字節(jié)的 S盒置換值;RotByte(W)將 W 循環(huán)向左移動(dòng)一個(gè)字節(jié),如(a,b,c,d)經(jīng)過變換后返回(b,c,d,a);輪常數(shù) Rcon[i]是與輪數(shù)有關(guān)的常數(shù),Rcon[i]=(RC[i],‘00’,‘00’,‘00’),RC[1]=‘01’,RC[i]=xi1(x一般為‘02’)。 解密算法AES的解密算法與加密算法有較大的不同,它的偽代碼描述如下:AESDecipher(byte in[16],byte out[16],word w[4*(Nr + 1)]){ byte state[4,4]。 state = in。 AddRoundKey(state,w[4*Nr,4*Nr+3])。 for(int round = Nr 1。round0。round)//前Nr1輪解密 { InvShiftRows(state)。 InvSubBytes(state)。 AddRoundKey(state,w[4*round,4*round+3])。 InvMixColumns(state)。 }//最后一輪加密 InvShiftRows(state)。 InvSubBytes(state)。 AddRoundKey(state,w[0,3])。}容易看出,AES的解密過程使用了四種的逆變換,即InvSubBytes()、InvShiftRows()、InvMixColumns()及AddRoundKey()(AddRoundKey的逆變換是它本身),以相反的順序?qū)τ擅芪挠成涞玫綘顟B(tài)矩陣進(jìn)行變換完成。另外,AES的解密過程使用的子密鑰相同,但使用的順序相反。a. InvSubBytes變換 InvSubBytes變換是字節(jié)替換變換(SubBytes)的逆變換,即先用到了仿射變換的逆變換,在計(jì)算GF(28)中的乘法逆。逆S盒對(duì)狀態(tài)矩陣中的每一字節(jié)進(jìn)行逆變換。 InvShiftRows變換是行移位變換(ShiftRows)的逆變換,即它對(duì)狀態(tài)矩陣的各行按相反的方向進(jìn)行循環(huán)移位操作。因此,狀態(tài)矩陣各行的移位情況如下:第一行保持不變;第二行循環(huán)右移一個(gè)字節(jié);第三行循環(huán)右移兩個(gè)字節(jié);第四行循環(huán)右移三個(gè)字節(jié)。 InMixColumns變換是列混合變換(MixColumns)的逆變換。InMixColumns()同樣逐列處理狀態(tài)矩陣,它把每一列都當(dāng)作系數(shù)GF(28)有限域上的四項(xiàng)多項(xiàng)式。與MixColumns變換對(duì)應(yīng),InMixColumns變換把列多項(xiàng)式與多項(xiàng)式a(x)相對(duì)于模多項(xiàng)式x4+1的逆a1(x)相乘 a1(x) = {0b}?x3 + {0d}?x2 + {09}?x + {0e} ()設(shè)列多項(xiàng)式為sc(x) = s0,c + s1,cx + s2,cx2+ s3,cx3,0=c=3,InMixColumns變換可以寫為如下矩陣的形式 () AES解密過程的逆S盒 AES安全性能分析 針對(duì)各種攻擊,對(duì)用戶的隱私進(jìn)行保護(hù),使用戶可以很安全的將自己的信息存儲(chǔ)在各種服務(wù)器終端。 針對(duì)某一特定的分組密碼算法,其攻擊方法可以分為通用攻擊方法和專用攻擊方法。所謂通用攻擊方法就是對(duì)所有的分組加密算法攻擊都有效的方法,而專用攻擊方法只對(duì)該特定算法有效,一般與具體密碼算法某種特定的結(jié)構(gòu)有關(guān)。設(shè)計(jì)現(xiàn)代實(shí)用密碼算法時(shí),為了有效的抵抗通用攻擊,一般都遵循香農(nóng)所提出的混亂原則和擴(kuò)散原則。同時(shí),混亂和擴(kuò)散也是分組密碼算法的設(shè)計(jì)理論中
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1