AES加解密實(shí)驗(yàn)報(bào)告

AES加解密實(shí)驗(yàn)報(bào)告

ID:39453748

大?。?61.01 KB

頁數(shù):12頁

時(shí)間:2019-07-03

AES加解密實(shí)驗(yàn)報(bào)告_第1頁
AES加解密實(shí)驗(yàn)報(bào)告_第2頁
AES加解密實(shí)驗(yàn)報(bào)告_第3頁
AES加解密實(shí)驗(yàn)報(bào)告_第4頁
AES加解密實(shí)驗(yàn)報(bào)告_第5頁
資源描述:

《AES加解密實(shí)驗(yàn)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、《信息安全體系》課程設(shè)計(jì)報(bào)告班級(jí):物聯(lián)網(wǎng)2013級(jí)1班姓名:學(xué)號(hào):課程設(shè)計(jì)題目:AES加密算法所屬課程:物聯(lián)網(wǎng)信息安全實(shí)驗(yàn)室(中心):軟件實(shí)驗(yàn)室60801指導(dǎo)教師:完成時(shí)間:2016年6月6日1.問題分析和任務(wù)定義問題分析:′AES是一個(gè)對(duì)稱分組密碼算法,根據(jù)使用的密碼長(zhǎng)度,AES最常見的有3種方案,用以適應(yīng)不同的場(chǎng)景要求,分別是AES-128、AES-192和AES-256?!銩ES加密過程涉及到4種操作:字節(jié)替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和輪密鑰加(AddRoundKey)。解密過程分

2、別為對(duì)應(yīng)的逆操作。由于每一步操作都是可逆的,按照相反的順序進(jìn)行解密即可恢復(fù)明文?!銩ES算法是基于置換和代替的。置換是數(shù)據(jù)的重新排列,而代替是用一個(gè)單元數(shù)據(jù)替換另一個(gè)。AES使用了幾種不同的技術(shù)來實(shí)現(xiàn)置換和替換。任務(wù)(功能)定義:(數(shù)據(jù)結(jié)構(gòu)部分)(1)明文轉(zhuǎn)換:Utf8.encode(strUni);//將得到的明文或密鑰通過Utf8編碼Utf8.decode(strUtf);//將UTF-8編碼的字符串解碼成多字節(jié)Unicode字符Base64.encode=function(str,utf8encode)//將UTF-8編碼得到的字符通過B

3、ase64編碼Base64.decode=function(str,utf8decode)//將UTF-8解碼得到的字符通過Base64解碼(2)輪密鑰加:Aes.addRoundKey=function(state,w,rnd,Nb)//將128位的state矩陣按位與128位密鑰異或(1)字節(jié)代替:Aes.subBytes=function(s,Nb)//將狀態(tài)矩陣的每個(gè)字節(jié),進(jìn)行4*Nb矩陣的遍歷并替換(2)列混淆:Aes.mixColumns=function(s,Nb)//將狀態(tài)矩陣逐列混合(3)行位移:Aes.shiftRows=f

4、unction(s,Nb)//狀態(tài)矩陣的第0行不變,第1行向左移一個(gè)字節(jié),第2行向左移兩個(gè)字節(jié),第三行向左移三個(gè)字節(jié)(4)密鑰擴(kuò)展:Aes.keyExpansion=function(key)//將輸入的密鑰擴(kuò)展為11組128位密鑰組,其中第0組為輸入密鑰本身1.環(huán)境簡(jiǎn)介開發(fā)環(huán)境:WebStrom11.0.2環(huán)境簡(jiǎn)介:WebStorm是jetbrains公司旗下一款JavaScript開發(fā)工具。被廣大中國(guó)JS開發(fā)者譽(yù)為“Web前端開發(fā)神器”、“最強(qiáng)大的HTML5編輯器”、“最智能的JavaScriptIDE”等。與IntelliJIDEA同源,

5、繼承了IntelliJIDEA強(qiáng)大的JS部分的功能。2.程序設(shè)計(jì)根據(jù)算法密鑰的長(zhǎng)度,AES有3種不同方案用以滿足不同的場(chǎng)景需求,分別是AES-128、AES-192和AES-256。本次內(nèi)容主要對(duì)AES-128進(jìn)行設(shè)計(jì),另外兩種的思路基本一樣,只是密鑰擴(kuò)展的過程會(huì)稍有不同,加解密的輪數(shù)會(huì)適當(dāng)增加,但加解密的操作都是一樣的。(1)AES加解密流程(2)字節(jié)替代字節(jié)代替的主要功能是通過S盒完成一個(gè)字節(jié)到另外一個(gè)字節(jié)的映射。主要算法:Aes.subBytes=function(s,Nb){for(varr=0;r<4;r++){for(varc=0;

6、c

7、個(gè)字節(jié)對(duì)應(yīng)的值只與該列的4個(gè)值有關(guān)系。此處的乘法和加法都是定義在GF(28)上的,需要注意如下幾點(diǎn):1)將某個(gè)字節(jié)所對(duì)應(yīng)的值乘以2,其結(jié)果就是將該值的二進(jìn)制位左移一位,如果該值的最高位為1(表示該數(shù)值不小于128),則還需要將移位后的結(jié)果異或00011011;2)乘法對(duì)加法滿足分配率3)此處的矩陣乘法與一般意義上矩陣的乘法有所不同,各個(gè)值在相加時(shí)使用的是模2加法(相當(dāng)于是異或運(yùn)算)。主要算法:Aes.mixColumns=function(s,Nb){for(varc=0;c

8、rray(4);for(vari=0;i<4;i++){a[i]=s[i][c];b[i]=s[i][c]&0x80?s[i][c]<<1^0x011

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。