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

上传人:本田雅阁 文档编号:2641650 上传时间:2019-04-28 格式:PPT 页数:32 大小:681.03KB
返回 下载 相关 举报
密码学与网路安全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),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

9、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的解密與加密不完全相同 儘管加密和解密的金鑰排程形式相同,但是解密的轉換順序卻與加密不同 缺點是軟體或韌體模組需分別實作加密和解密功能 但還是有解密演算法與和加

10、密演算法轉換順序相同的版本 需要改變金鑰排程 解密架構和加密架構要一致,必須交換解密回合的前兩階段和後兩階段,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