密码学与网路安全5章高阶加密标准.ppt_第1页
密码学与网路安全5章高阶加密标准.ppt_第2页
密码学与网路安全5章高阶加密标准.ppt_第3页
密码学与网路安全5章高阶加密标准.ppt_第4页
密码学与网路安全5章高阶加密标准.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密碼學與網路安全 第5章 高階加密標準,AES的起源,DES應只用在舊系統,新系統應改用3DES,但3DES的軟體實作效能低落 為了要取代DES/3DES,NIST在1997年徵求新的AES計畫書,並要求新標準的安全強度要等同或強過3DES,而且也要大幅加強效能 NIST是在2001年11月完成整個評估,並且發表最終的標準(FIPS PUB 197) NIST最終選擇Rijndael作為AES演算法的建議規格 AES最終會取代3DES,但這個過程需要好幾年。在可預見的未來,NIST預期3DES仍會是美國政府公認的演算法標準,評選AES,安全性 實際的安全性:以相同長度的金鑰及區塊,和其他送交的演算法相互比較 隨機性:隨機重排輸入區塊而讓演算法的輸出無法辨識的程度 強固性:演算法安全性的數學基礎 其他安全因素:在評選過程公開接受挑戰,包括任何能證明演算法實際的安全性並無提交者所宣稱的攻擊,評選AES,成本 授權要求:讓全世界都能非獨佔、免權利金的使用AES所指定的演算法 計算效率:計算效率的評估結果將同時適用於硬體和軟體的實作 記憶體需求:評選過程也會考慮以硬體和軟體實作演算法所需要的記憶體 記憶體需求的考量因素包含硬體實作所需要的邏輯閘數量,以及軟體實作所需要的RAM,評選AES,演算法和實作特性 彈性:演算法越彈性,就越能符合更多人的需求,但有些極端的功能並不實用 硬體和軟體適用性:不應將演算法實作限制在硬體,如果可以有效的以韌體實作,就是演算法彈性的一大優點 簡易性:演算法應該以設計的簡易程度而評斷其優劣,AES加密法 - Rijndael,由比利時的 Rijmen-Daemen 所設計 金鑰長度 128/192/256 位元,區塊長度 128 位元 不採用菲仕托架構,而是在每回合以取代和重排來平行處理整個資料區塊 每回合的回合金鑰由4個不同的字組(128位元)組成 有4種不同的階段,其一是重排,其他則是取代 特性: 能抵抗所有已知的攻擊 能在各種平台上快速執行,且程式碼小巧緊湊 簡明易懂的設計,圖解AES的加密與解密過程,AES-128加解密,AES-128金鑰安排把輸入的128位元金鑰擴展成11組各128位元的回合金鑰(round key) AES加解密時有四種基本運算(稱作層,layer)分別是AddRoundKey、SubBytes、ShiftRows、及MixColumns等四層 每次進行AddRoundKey都需用到回合金鑰,其餘運算層與回合金鑰無關。 明文先用回合金鑰依序進行AddRoundKey、SubBytes、ShiftRows,然後再做MixColumns,這四個運算稱為一個回合 總共需重複做九個回合 最後再進行 AddRoundKey、SubBytes、ShiftRows、及AddRoundKey即得到密文,AES的資料結構,位元組的取代,位元組的正向取代方式稱為SubBytes 位元組的反向取代稱為InvSubBytes 稱為S-boxes的16 16 位元組矩陣,包含了所有8 位元數值(256個) 每個位元組最左邊的4 個位元所形成的數值,會當成列編號,而最右邊的4 個位元所形成的數值,則當成行編號 例如16進位數值95參照到S-boxes第9列、第5行的值2A 因此95就對映到2A,位元組的取代,AES 位元組取代(S-Box),例如 S-Box(00)=63,S-Box(f0)= 8c,S-Box(ff)=16,列的移位,列的正向移位稱為ShiftRows 第1列並未改變 第2列的每個元素向左循環位移1個位元組 第3列向左循環位移2個位元組 第4列向左循環位移3個位元組 列的反向移位稱為InvShiftRows 讓後三列以反方向循環位移 也就是第2列向右循環位移l個位元 完整移位之後,一行裡的4位元組會分散到不同的四行,列的移位,行的混合,行的正向混合稱為MixColumns,是在每一行個別運作 每行裡的每個位元組會對映到新的數值,而此數值是行內所有4個位元組的函數 乘積矩陣是以質數多項式 m(x) =x8+x4+x3+x+1 在GF(28)執行,行的混合,AES之MixColumns,0 c 4,行的混合,行的反向混合稱為InvMixColumns,是以下列的矩陣乘法定義: 解密需使用反向矩陣 AES文件以其他方式描述MixColumns的特徵 定義MixColumns是考量狀態的每一行都是4個項目的多項式 其係數定義在 GF(28) 每一行都會乘以固定的多項式a(x),再取 (x4+1) 的同餘,新增回合金鑰,新增回合金鑰的正向轉換稱為AddRoundKey AddRoundKey (state, wround*4, round*4 +3) 是將16位元組的state與16位元組(4字組)的回合金鑰中的每個對應位元進行XOR運算,並將運算結果重新放於state 狀態裡的128個位元會和回合金鑰的128個位元進行逐一位元的XOR運算 此運算能視為狀態裡某一行的4個位元組,和回合金鑰裡一個字元組的交互運算 也能視為位元組層級的運算 新增回合金鑰的反向轉換,與新增回合金鑰的正向轉換相同 因為XOR運算是其本身的反向運算,新增回合金鑰,AES的金鑰擴充,將128位元 (4字組) 金鑰擴充成 44/52/60 字組的陣列 金鑰擴充演算法的虛擬程式碼如下:,AES SubWord(RotWord(temp),RotWord是將一個字組內的四個位元組向前移動一位元組,例如原先字組為 b0, b1, b2, b3 那麼經RotWord移動後即成為 b1, b2, b3, b0。 SubWord則是將四個位元組各自進行S-Box,例如原先字組為 b0, b1, b2, b3 那麼經SubWord取代後成為 S-Box(b0), S-Box(b1), S-Box(b2), S-Box(b3)。 Rcon則為字組常數,第一位元組非零,Rcon 1 =01,00,00,00),Rcon 10 = (36,00,00,00)。,AES的金鑰擴充,AES-128第2組回合金鑰的計算方式,AES-128加密範例,明文為(十六進制) 32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34,16位元組金鑰為2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c,而計算得到的16位元組密文為39 25 84 1d 02 dc 09 fb dc 11 85 97 19 6a 0b 32。,金鑰擴充的基本原理,設計的足以抵抗已知的攻擊 採用的特定規範 知道部分的加密金鑰或回合金鑰,也無法完全計算出其他的回合金鑰位元 可反向的轉換 在不同處理器皆能維持速度 藉由回合常數排除對稱性 將加密金鑰的差異擴散到回合金鑰 足夠的非線性 簡明易懂,AES解密,AES的解密與加密不完全相同 儘管加密和解密的金鑰排程形式相同,但是解密的轉換順序卻與加密不同 缺點是軟體或韌體模組需分別實作加密和解密功能 但還是有解密演算法與和加密演算法轉換順序相同的版本 需要改變金鑰排程 解密架構和加密架構要一致,必須交換解密回合的前兩階段和後兩階段,AES解密,實作的觀點( 8位元處理器),AES能夠很有效率的在8位元處理器實作 AddRoundKey是逐一位元的XOR運算 ShiftRows是簡單的位元組移位運算 SubBytes是位元組層級的運算,而且只需要256位元組的表格 MixColuITins的轉換需要 GF(28) 的矩陣乘法 MixColumns只要求乘以02和03,只需要簡單的移位、條件式XOR、以及XOR運算,實作的觀點( 32位元處理器),如果運算單位是32位元字組,3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论