密碼學實驗報告_第1頁
密碼學實驗報告_第2頁
密碼學實驗報告_第3頁
密碼學實驗報告_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

江蘇大學學院計算機學院專業信息安全0902姓名***學號3090604035小組成員*******AES對稱加密算法實現一.AES對稱加密算法實現原理AES(TheAdvancedEncryptionStandard)接受一個128位的明文,并且在一個128、192或者256位秘密密鑰的控制下產生一個128位的密文。它是一個替代-置換網絡的設計,并且帶有一個稱作輪(rand)的步驟的集合,其中輪數可以是9、11或者13(取決于密鑰的長度),這樣可以將明文映射為密文。AES實際上能定義為在域GF(2)的元素上的一系列標量的運算。它實質上是在整數模2所組成的域,但是它擴展到了多項式域GF(2)[x]中。為了構造一個域,需要使用一個能夠不被任何一個具有相同底GF(2)的度數更小的多項式整除的多項式,在AES中選擇了v(x)=x^8+x^4+x^3+x+1。用整數存儲時,它表示值0x11B。域中的加法是一個簡單異或(xor)操作。乘法就是乘以其他的多項式。一個單元a的乘法逆元是另一個單元b,使得ab模AES的多項式和多項式p(x)=1是同余的。a(x)=0的逆是它本身。二.AES對稱加密算法實現過程AES算法是分組密碼算法,它的輸入分組、輸出分組以及加/解密過程中的中間分組都是128比特。(對稱密碼算法根據對明文消息加密方式的不同可分為兩大類,即分組密碼和流密碼。分組密碼將消息分為固定長度的分組,輸出的密文分組通常與輸入的明文分組長度相同。) 1、AES的加密與解密框圖如圖所示(1)加密變換設X是AES的128比特明文輸入,Y是128比特的密文輸出,則AES密文Y可以用下面的復合變換表示:Y=Ak(r+1)·R·S·Akr·C·R·S·Ak(r21)·?·C·R·S·Ak1(X)其中“·”表示復合運算。這里Aki:表示對X的一個變換Aki(X)=XYKi(Ki為第i輪的子密鑰,為比特串的異或運算)。S:S盒置換。即對每一個字節用S2Box做一個置換。S2Box是一個給定的轉換表。R:行置換。C:列置換。s′(x)=a(x)ás(x)這里á是特殊的乘法運算(2)解密變換解密變換是加密變換的逆變換。2、AES(128bits密鑰)加密解密流程如下圖所示若一個程序或者兩個程序之間沒有前后的依賴關系(即一個運算的輸入與另一個運算的輸出無關),則在具有多個處理器的條件下這些運算可以在同一時間段并行運行。AES算法中的絕大多數運算都是基于state上進行的,而state可以表示為一個四行,Nb列的矩陣,算法的變換都是獨立作用于state的字節、行或者列無關,所以可以將變換對state的運算分割成對state的每個字節、行或列的并行運算。字節替換是獨立作用在每個狀態字節上的。假設做一次S盒替換需要一個時間單位,串行模式下需要4Nb個時間單位,但在并行模式下這些S盒替代可以在一個時間單位內進行,并行模式速度是穿行模式速度的4Nb倍;位移變換是作用在獨立的行上的,若對一行做一次移位操作占用一個單位時間,串行模式下需用3個單位時間,并行模式下只用一個單位時間,是串行模速度的3倍;列變換獨立作用在state的每一列上,若對一列做一次需一個單位時間,速度是串行模式的Nb倍;密鑰系統是作用在每個獨立字節上的,若對一個字節進行操作需用一個單位時間,則在串行模式下密鑰變換需要4Nb個單位時間,并行模式下只需要一個單位時間,速度是串行模式的4Nb倍。六.分析與總結AES算法流程主要有三個大的模塊,即密鑰擴展模塊、加密模塊和解密模塊。密鑰擴展模塊由產生加密密鑰的模塊和解密密鑰的模塊組成;加、解密模塊均由AddRoundkey模塊、輪函數模塊、FinalRound變換模塊組成,其中最重要的是輪函數模塊,它是AES算法的核心模塊。通過這次課程設計,更加清晰的了解了AES算法,同時也熟悉了C++編程,由于是和同學合作完成,使用C++的封裝性很重要,一個好的類既安全又代碼效率高,可以減少大量重復的勞動,所以這次也算C++的練習吧。不過這次課設還是存在不足的,比如加密結果

溫馨提示

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

評論

0/150

提交評論