密码学与网路安全5章高阶加密标准.ppt

上传人:本田雅阁 文档编号:2627473 上传时间:2019-04-24 格式:PPT 页数:32 大小:681.01KB
返回 下载 相关 举报
密码学与网路安全5章高阶加密标准.ppt_第1页
第1页 / 共32页
密码学与网路安全5章高阶加密标准.ppt_第2页
第2页 / 共32页
密码学与网路安全5章高阶加密标准.ppt_第3页
第3页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《密码学与网路安全5章高阶加密标准.ppt》由会员分享,可在线阅读,更多相关《密码学与网路安全5章高阶加密标准.ppt(32页珍藏版)》请在三一文库上搜索。

1、密碼學與網路安全 第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,安全性 實際的安全性:以相同長度的金鑰及區塊,和其他送交的

2、演算法相互比較 隨機性:隨機重排輸入區塊而讓演算法的輸出無法辨識的程度 強固性:演算法安全性的數學基礎 其他安全因素:在評選過程公開接受挑戰,包括任何能證明演算法實際的安全性並無提交者所宣稱的攻擊,評選AES,成本 授權要求:讓全世界都能非獨佔、免權利金的使用AES所指定的演算法 計算效率:計算效率的評估結果將同時適用於硬體和軟體的實作 記憶體需求:評選過程也會考慮以硬體和軟體實作演算法所需要的記憶體 記憶體需求的考量因素包含硬體實作所需要的邏輯閘數量,以及軟體實作所需要的RAM,評選AES,演算法和實作特性 彈性:演算法越彈性,就越能符合更多人的需求,但有些極端的功能並不實用 硬體和軟體適用

3、性:不應將演算法實作限制在硬體,如果可以有效的以韌體實作,就是演算法彈性的一大優點 簡易性:演算法應該以設計的簡易程度而評斷其優劣,AES加密法 - Rijndael,由比利時的 Rijmen-Daemen 所設計 金鑰長度 128/192/256 位元,區塊長度 128 位元 不採用菲仕托架構,而是在每回合以取代和重排來平行處理整個資料區塊 每回合的回合金鑰由4個不同的字組(128位元)組成 有4種不同的階段,其一是重排,其他則是取代 特性: 能抵抗所有已知的攻擊 能在各種平台上快速執行,且程式碼小巧緊湊 簡明易懂的設計,圖解AES的加密與解密過程,AES-128加解密,AES-128金鑰安

4、排把輸入的128位元金鑰擴展成11組各128位元的回合金鑰(round key) AES加解密時有四種基本運算(稱作層,layer)分別是AddRoundKey、SubBytes、ShiftRows、及MixColumns等四層 每次進行AddRoundKey都需用到回合金鑰,其餘運算層與回合金鑰無關。 明文先用回合金鑰依序進行AddRoundKey、SubBytes、ShiftRows,然後再做MixColumns,這四個運算稱為一個回合 總共需重複做九個回合 最後再進行 AddRoundKey、SubBytes、ShiftRows、及AddRoundKey即得到密文,AES的資料結構,位元

5、組的取代,位元組的正向取代方式稱為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個位元組

6、 第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,是以下列的矩陣乘法定義: 解密需使用反向矩陣 A

7、ES文件以其他方式描述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個位元組,和回合金鑰裡一

8、個字元組的交互運算 也能視為位元組層級的運算 新增回合金鑰的反向轉換,與新增回合金鑰的正向轉換相同 因為XOR運算是其本身的反向運算,新增回合金鑰,AES的加密回合,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, b

9、3 那麼經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 2

10、5 84 1d 02 dc 09 fb dc 11 85 97 19 6a 0b 32。,金鑰擴充的基本原理,設計的足以抵抗已知的攻擊 採用的特定規範 知道部分的加密金鑰或回合金鑰,也無法完全計算出其他的回合金鑰位元 可反向的轉換 在不同處理器皆能維持速度 藉由回合常數排除對稱性 將加密金鑰的差異擴散到回合金鑰 足夠的非線性 簡明易懂,AES解密,AES的解密與加密不完全相同 儘管加密和解密的金鑰排程形式相同,但是解密的轉換順序卻與加密不同 缺點是軟體或韌體模組需分別實作加密和解密功能 但還是有解密演算法與和加密演算法轉換順序相同的版本 需要改變金鑰排程 解密架構和加密架構要一致,必須交換解密

11、回合的前兩階段和後兩階段,AES解密,實作的觀點( 8位元處理器),AES能夠很有效率的在8位元處理器實作 AddRoundKey是逐一位元的XOR運算 ShiftRows是簡單的位元組移位運算 SubBytes是位元組層級的運算,而且只需要256位元組的表格 MixColuITins的轉換需要 GF(28) 的矩陣乘法 MixColumns只要求乘以02和03,只需要簡單的移位、條件式XOR、以及XOR運算,實作的觀點( 32位元處理器),如果運算單位是32位元字組,32位元處理器的實作就能更有效率 重新定義步驟來使用32位元字組 事先計算256字組的4個表格 每回合的每一行只需要4個查表動作和4個XOR運算 儲存4K位元組的表格 Rijndael的開發人員相信,這簡潔效率的實作,是Rijndael被選為AES的最主要因素,總結,AES的: 起源 評選的標準 每一回合步驟的細節 金鑰擴充 實作的觀點,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1