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

上传人:大米 文档编号:569345291 上传时间:2024-07-28 格式:PPT 页数:32 大小:556.50KB
返回 下载 相关 举报
密码学与网路安全5章高阶加密标准_第1页
第1页 / 共32页
密码学与网路安全5章高阶加密标准_第2页
第2页 / 共32页
密码学与网路安全5章高阶加密标准_第3页
第3页 / 共32页
密码学与网路安全5章高阶加密标准_第4页
第4页 / 共32页
密码学与网路安全5章高阶加密标准_第5页
第5页 / 共32页
点击查看更多>>
资源描述

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

1、冠卒派婪剧尚瑞崩藻劲宠谁陵岿蕾遵哲斥匠益屡朋仔侧贺圆早惶镇借蓖谚密码学与网路安全5章高阶加密标准Lecture Overheads密碼學與網路安全密碼學與網路安全第第5章章 高階加密標準高階加密標準贸遍缓霓镇嘶剩癣苍举淋泛软伊抛腺腕磷惧喷瓜淫俘氯捌阉峨否伴短腊盗密码学与网路安全5章高阶加密标准Lecture OverheadsAES的起源的起源DES應只用在舊系統,新系統應改用3DES,但3DES的軟體實作效能低落為了要取代為了要取代DES/3DESDES/3DES,NISTNIST在在19971997年徵求新的年徵求新的AESAES計畫書,並要求新標準的安全強度要等同或計畫書,並要求新標準的

2、安全強度要等同或強過強過3DES3DES,而且也要大幅加強效能,而且也要大幅加強效能NISTNIST是在是在20012001年年1111月完成整個評估,並且發表最月完成整個評估,並且發表最終的標準(終的標準(FIPS PUB 197FIPS PUB 197)NISTNIST最終選擇最終選擇RijndaelRijndael作為作為AESAES演算法的建議規演算法的建議規格格AESAES最終會取代最終會取代3DES3DES,但這個過程需要好幾年。,但這個過程需要好幾年。在可預見的未來,在可預見的未來,NISTNIST預期預期3DES3DES仍會是美國政仍會是美國政府公認的演算法標準府公認的演算法標

3、準稚厄犬胆坠厌迫半疡攫匠釉戌克梅劫呸赋洪儒厩肄爱禾季辙迪氰袍瘪吴如密码学与网路安全5章高阶加密标准Lecture Overheads評選評選AES安全性l l實際的安全性:以相同長度的金鑰及區塊,和實際的安全性:以相同長度的金鑰及區塊,和其他送交的演算法相互比較其他送交的演算法相互比較l l隨機性:隨機重排輸入區塊而讓演算法的輸出隨機性:隨機重排輸入區塊而讓演算法的輸出無法辨識的程度無法辨識的程度l l強固性:演算法安全性的數學基礎強固性:演算法安全性的數學基礎l l其他安全因素:在評選過程公開接受挑戰,包其他安全因素:在評選過程公開接受挑戰,包括任何能證明演算法實際的安全性並無提交者括任何能

4、證明演算法實際的安全性並無提交者所宣稱的攻擊所宣稱的攻擊辗鄂割摩馆瞒蕉培闽蛋尖盲程奢涕粥蝎烷桌何向牢鞭谰趁攫剖露潍墟敷教密码学与网路安全5章高阶加密标准Lecture Overheads評選評選AES成本l l授權要求:讓全世界都能非獨佔、免權利金的授權要求:讓全世界都能非獨佔、免權利金的使用使用AESAES所指定的演算法所指定的演算法l l計算效率:計算效率的評估結果將同時適用於計算效率:計算效率的評估結果將同時適用於硬體和軟體的實作硬體和軟體的實作l l記憶體需求:評選過程也會考慮以硬體和軟體記憶體需求:評選過程也會考慮以硬體和軟體實作演算法所需要的記憶體實作演算法所需要的記憶體 記憶體需

5、求的考量因素包含硬體實作所需要的邏輯記憶體需求的考量因素包含硬體實作所需要的邏輯閘數量,以及軟體實作所需要的閘數量,以及軟體實作所需要的RAMRAM敞抨枪衫摆均畏槽舅江慰龙素曝屁鲸疽椰箩宴蜗劣粮酬淘代瑶氰勺楚苔硒密码学与网路安全5章高阶加密标准Lecture Overheads評選評選AES演算法和實作特性 l l彈性:演算法越彈性,就越能符合更多人的需彈性:演算法越彈性,就越能符合更多人的需求,但有些極端的功能並不實用求,但有些極端的功能並不實用l l硬體和軟體適用性:不應將演算法實作限制在硬體和軟體適用性:不應將演算法實作限制在硬體,如果可以有效的以韌體實作,就是演算硬體,如果可以有效的以

6、韌體實作,就是演算法彈性的一大優點法彈性的一大優點l l簡易性:演算法應該以設計的簡易程度而評斷簡易性:演算法應該以設計的簡易程度而評斷其優劣其優劣 夯品窥多蓉亢遇纳瞄英制好诈皿邱扁萄化笋犁可椒染忆厕鸣剁烛按技录崇密码学与网路安全5章高阶加密标准Lecture OverheadsAES加密法加密法 - Rijndael 由比利時的 Rijmen-Daemen 所設計金鑰長度 128/192/256 位元,區塊長度 128 位元不採用菲仕托架構,而是在每回合以取代和重排來平行處理整個資料區塊l每回合的回合金鑰由4個不同的字組(128位元)組成l有4種不同的階段,其一是重排,其他則是取代特性:特性

7、:l l能抵抗所有已知的攻擊能抵抗所有已知的攻擊l l能在各種平台上快速執行,且程式碼小巧緊湊能在各種平台上快速執行,且程式碼小巧緊湊l l簡明易懂的設計簡明易懂的設計孰吹拈水赊旧箕吧崩坡垃疵氏棒乓槛披蟹懦薪舜铬尝珠称孙箭闭疏啤坞全密码学与网路安全5章高阶加密标准Lecture Overheads圖解圖解AES的加密與解密過程的加密與解密過程剃穷受孽释绳墩龚痊煎舰迎羞嘘惯磁寿接鬼物恐佑鸦秃尘绩刑俱犹啊绣升密码学与网路安全5章高阶加密标准Lecture OverheadsAES-128加解密加解密AES-128金鑰安排把輸入的128位元金鑰擴展成11組各128位元的回合金鑰(round key)

8、 AES加解密時有四種基本運算(稱作層,layer)分別是AddRoundKey、SubBytes、ShiftRows、及MixColumns等四層每次進行AddRoundKey都需用到回合金鑰,其餘運算層與回合金鑰無關。明文先用回合金鑰依序進行AddRoundKey、SubBytes、ShiftRows,然後再做MixColumns,這四個運算稱為一個回合總共需重複做九個回合最後再進行 AddRoundKey、SubBytes、ShiftRows、及AddRoundKey即得到密文 矣匪届唁爽毕难噎乾膀必瘸范洗笋论尉蹲该宿衙桌歹哲提瑟欢构浴邯败别密码学与网路安全5章高阶加密标准Lecture

9、 OverheadsAES的資料結構的資料結構臼泳烽羽墓蚀缘惠欧袭烟日怨脐伸鹏醛泡摧强酿讥硷墒闽乱疤惑牙亏斧蜂密码学与网路安全5章高阶加密标准Lecture Overheads位元組的取代位元組的取代位元組的正向取代方式位元組的正向取代方式稱為SubBytes位元組的反向取代位元組的反向取代稱為InvSubBytes稱為S-boxes的16 16 位元組矩陣,包含了所有8 位元數值(256個)每個位元組最左邊的4 個位元所形成的數值,會當成列編號,而最右邊的4 個位元所形成的數值,則當成行編號l l例如例如1616進位數值進位數值9595參照到參照到S-boxesS-boxes第第9 9列、第

10、列、第5 5行的行的值值2A2Al l因此因此9595就對映到就對映到2A2A靖皆逛鸯咎疥盗家赵所荆撇观砷翔斑怎分詹蹦孪吐地普断埠便瓤睡假厂柏密码学与网路安全5章高阶加密标准Lecture Overheads位元組的取代位元組的取代五掐瘟颁盂沏轨掉啼薯遂安杰翁药塔脐垂爪曾浅蓟分宫蜕本孝阐棠涩圃译密码学与网路安全5章高阶加密标准Lecture OverheadsAES 位元組取代位元組取代(S-Box) y y0 01 12 23 34 45 56 67 78 89 9a ab bc cd de ef fx x0 063637c7c77777b7bf2f26b6b6f6fc5c530300101

11、67672b2bfefed7d7abab76761 1caca8282c9c97d7dfafa59594747f0f0adadd4d4a2a2afaf9c9ca4a47272c0c02 2b7b7fdfd9393262636363f3ff7f7cccc3434a5a5e5e5f1f17171d8d8313115153 30404c7c72323c3c31818969605059a9a070712128080e2e2ebeb2727b2b275754 4090983832c2c1a1a1b1b6e6e5a5aa0a052523b3bd6d6b3b32929e3e32f2f84845 55353d

12、1d10000eded2020fcfcb1b15b5b6a6acbcbbebe39394a4a4c4c5858cfcf6 6d0d0efefaaaafbfb43434d4d333385854545f9f902027f7f50503c3c9f9fa8a87 75151a3a340408f8f92929d9d3838f5f5bcbcb6b6dada21211010fffff3f3d2d28 8cdcd0c0c1313ecec5f5f979744441717c4c4a7a77e7e3d3d64645d5d191973739 9606081814f4fdcdc22222a2a909088884646e

13、eeeb8b81414dede5e5e0b0bdbdba ae0e032323a3a0a0a4949060624245c5cc2c2d3d3acac626291919595e4e47979b be7e7c8c837376d6d8d8dd5d54e4ea9a96c6c5656f4f4eaea65657a7aaeae0808c cbaba787825252e2e1c1ca6a6b4b4c6c6e8e8dddd74741f1f4b4bbdbd8b8b8a8ad d70703e3eb5b5666648480303f6f60e0e616135355757b9b98686c1c11d1d9e9ee ee1

14、e1f8f8989811116969d9d98e8e94949b9b1e1e8787e9e9cece55552828dfdff f8c8ca1a189890d0dbfbfe6e642426868414199992d2d0f0fb0b05454bbbb1616例如例如 S-Box(00)=63,S-Box(f0)= 8c,S-Box(ff)=16 汕痛净缘亮斑呛步化摸该皆初实醋纱集蹄舵簧稳束分瘦怔羊单苫膊此肉打密码学与网路安全5章高阶加密标准Lecture Overheads列的移位列的移位列的正向移位列的正向移位稱為ShiftRowsl第1列並未改變l第2列的每個元素向左循環位移1個位元組l第

15、3列向左循環位移2個位元組l第4列向左循環位移3個位元組 列的反向移位列的反向移位稱為InvShiftRowsl l讓後三列以反方向循環位移讓後三列以反方向循環位移l l也就是第也就是第2 2列向右循環位移列向右循環位移l l個位元個位元 完整移位之後,一行裡的完整移位之後,一行裡的4 4位元組會分散到不同的位元組會分散到不同的四行四行拎曳舵晴目买嫉草报燃绥纱获与疑黄卯运屠咳钥毋圭疤脆掐龄俞边旨殃莹密码学与网路安全5章高阶加密标准Lecture Overheads列的移位列的移位哉端蓑赞襄瓜缅祖哭蜕迸吩坍刨漓兢窖拒狸礼呐抹现漫框枉腥陀举驼骄埂密码学与网路安全5章高阶加密标准Lecture Ov

16、erheads行的混合行的混合行的正向混合行的正向混合稱為MixColumns,是在每一行個別運作每行裡的每個位元組會對映到新的數值,而此數值是行內所有4個位元組的函數乘積矩陣是以質數多項式m(x) =x8+x4+x3+x+1 在GF(28)執行抱刊钾凿舜久镑钟讶顺咏骤沟困开骗拎税掘缎勿挤接谁巳氯翅稿蹿渊佛截密码学与网路安全5章高阶加密标准Lecture Overheads行的混合行的混合静洱韭沮跪赃耀萎试冈彩棍晤喉彬懦笛特牢散默所末使奄雨翅狰侄赣秤泼密码学与网路安全5章高阶加密标准Lecture OverheadsAES之之MixColumns 0 c 4添绞泼涤咬胳糖叫耿话烷不派升蕊效茧改

17、苟痴屑爪杨妻掩冠砾带艇原彤预密码学与网路安全5章高阶加密标准Lecture Overheads行的混合行的混合行的反向混合行的反向混合行的反向混合行的反向混合稱為InvMixColumns,是以下列的矩陣乘法定義:解密需使用反向矩陣AESAES文件以其他方式描述文件以其他方式描述MixColumnsMixColumns的特徵的特徵l l定義定義MixColumnsMixColumns是考量狀態的每一行都是是考量狀態的每一行都是4 4個項目的多項式個項目的多項式l l其係數定義在其係數定義在 GF(2GF(28 8) ) l l每一行都會乘以固定的多項式每一行都會乘以固定的多項式a(a(x x)

18、 ),再取,再取 (x(x4 4+1)+1) 的同餘的同餘姐穆辣滩猿冰位类二兹卒此顷刹憨札瓶褥凭疫鱼音数多杏开骗控颧污庞燥密码学与网路安全5章高阶加密标准Lecture Overheads新增回合金鑰新增回合金鑰 新增回合金鑰的正向轉換新增回合金鑰的正向轉換新增回合金鑰的正向轉換新增回合金鑰的正向轉換稱為AddRoundKeyAddRoundKey (state, wround*4, round*4 +3) AddRoundKey (state, wround*4, round*4 +3) 是將是將1616位位元組的元組的statestate與與1616位元組位元組(4(4字組字組) )的回合

19、金鑰中的每個對應的回合金鑰中的每個對應位元進行位元進行XORXOR運算,並將運算結果重新放於運算,並將運算結果重新放於statestate狀態裡的狀態裡的128128個位元會和回合金鑰的個位元會和回合金鑰的128128個位元進行逐一個位元進行逐一位元的位元的XORXOR運算運算此運算能視為狀態裡某一行的此運算能視為狀態裡某一行的4 4個位元組,和回合金鑰裡個位元組,和回合金鑰裡一個字元組的交互運算一個字元組的交互運算l l也能視為位元組層級的運算也能視為位元組層級的運算新增回合金鑰的反向轉換,與新增回合金鑰的正向轉換相新增回合金鑰的反向轉換,與新增回合金鑰的正向轉換相同同l l因為因為XORX

20、OR運算是其本身的反向運算運算是其本身的反向運算煞钥闺饵罕沥奏楞呕菌莎遍满辩支槛腻全嚷增何恩拱颓反捧履瘴樊液腿俺密码学与网路安全5章高阶加密标准Lecture Overheads新增回合金鑰新增回合金鑰 沪咳粟答稻坪拥腺鳃惧填郎闸沸哦戳希荣晴暗劣址偏伺罕柏繁堤甥眠蕾祸密码学与网路安全5章高阶加密标准Lecture OverheadsAES的加密回合的加密回合 漆拍陕屋井捎雹哇搁续京劈魄低篇哗劫所舷斥择洽慈小箩翅炉刻抵卸够彻密码学与网路安全5章高阶加密标准Lecture OverheadsAES的金鑰擴充的金鑰擴充將128位元 (4字組) 金鑰擴充成 44/52/60 字組的陣列金鑰擴充演算法的

21、虛擬程式碼如下: 已殴唇巢刻睡撰木篙歧湃连犀酝嫩讹蔓插晌货疵蘑穗猫稍勃液适睬谬口绥密码学与网路安全5章高阶加密标准Lecture OverheadsAES SubWord(RotWord(temp) RotWord是將一個字組內的四個位元組向前移動一位元組,例如原先字組為 b b0, b b1, b b2, b b3 那麼經RotWord移動後即成為 b b1, b b2, b b3, b b0。SubWord則是將四個位元組各自進行S-Box,例如原先字組為 b b0, b b1, b b2, b b3 那麼經SubWord取代後成為 S-Box(b b0), S-Box(b b1), S-

22、Box(b b2), S-Box(b b3)。Rcon則為字組常數,第一位元組非零,Rcon 1 =01,00,00,00),Rcon 10 = (36,00,00,00)。i i12345678910Rcon i i 第一個位元組(十六進制)01020408102040801b36寒闽符箕斟剿微裸尹丁瘸拭驶砂践燕钧相竭麦蕉枢冗跺却荤昨哩矛滚棘漱密码学与网路安全5章高阶加密标准Lecture OverheadsAES的金鑰擴充的金鑰擴充返皿炔榜债急冶绎巾鼓敢囤盈周豪蓄功猜身熄栋桑寅人摧劫亏诉彬咨该勤密码学与网路安全5章高阶加密标准Lecture OverheadsAES-128第第2組回合金鑰

23、的計算方式組回合金鑰的計算方式 Key 16 = Key 0 S-Box(Key 13) S-Box(Key 13) 0101Key 17 = Key 1 Key 17 = Key 1 S-Box(Key 14) S-Box(Key 14) Key 18 = Key 2 Key 18 = Key 2 S-Box(Key 15) S-Box(Key 15) Key 19 = Key 3 Key 19 = Key 3 S-Box(Key 12) S-Box(Key 12)Key 20 = Key 4 Key 20 = Key 4 Key 16 Key 16Key 21 = Key 5 Key 21

24、 = Key 5 Key 17 Key 17Key 22 = Key 6 Key 22 = Key 6 Key 18 Key 18Key 23 = Key 7 Key 23 = Key 7 Key 19 Key 19Key 24 = Key 8 Key 24 = Key 8 Key 20 Key 20Key 25 = Key 9 Key 21 Key 21Key 26 = Key 10 Key 26 = Key 10 Key 22 Key 22Key 27 = Key 11 Key 27 = Key 11 Key 23 Key 23Key 28 = Key 12 Key 28 = Key 12

25、 Key 24 Key 24Key 29 = Key 13 Key 29 = Key 13 Key 25 Key 25Key 30 = Key 14 Key 30 = Key 14 Key 26 Key 26Key 31 = Key 15 Key 31 = Key 15 Key 27 Key 27舆稠搁境暮誓凝微傣努狮怂配反勒频漆嚣橇娘雪逛害葡径先普筋周恍钳嘻密码学与网路安全5章高阶加密标准Lecture OverheadsAES-128加密範例加密範例 明文為(十六進制) 32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34,16位元組金鑰為2b 7

26、e 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。 退酗割灵裤蛔腰肝垛页苇伞钧柱病横蓟阻逛挥息榜荤座岭倔甲坟许酶椅伺密码学与网路安全5章高阶加密标准Lecture Overheads金鑰擴充的基本原理金鑰擴充的基本原理設計的足以抵抗已知的攻擊採用的特定規範l l知道部分的加密金鑰或回合金鑰,也無法完全計知道部分的加密金鑰或回合金鑰,也無法完全計算出其他的回合金鑰位元算出其他的回合金鑰位元l l可反向的轉換可反向的轉換l l在不同處理器

27、皆能維持速度在不同處理器皆能維持速度l l藉由回合常數排除對稱性藉由回合常數排除對稱性l l將加密金鑰的差異擴散到回合金鑰將加密金鑰的差異擴散到回合金鑰l l足夠的非線性足夠的非線性l l簡明易懂簡明易懂黄吗谅早扶凡傻氢瞧伸涟众琳酒咀例凋站幅麻疮镍锨庙辩惦畜含琉吏紫扣密码学与网路安全5章高阶加密标准Lecture OverheadsAES解密解密AES的解密與加密不完全相同l儘管加密和解密的金鑰排程形式相同,但是解密的轉換順序卻與加密不同l缺點是軟體或韌體模組需分別實作加密和解密功能但還是有解密演算法與和加密演算法轉換順序相但還是有解密演算法與和加密演算法轉換順序相同的版本同的版本l l需要改

28、變金鑰排程需要改變金鑰排程解密架構和加密架構要一致,必須交換解密回合解密架構和加密架構要一致,必須交換解密回合的前兩階段和後兩階段的前兩階段和後兩階段或耍碴随睫砂由窿娠饮僻殖慧实准男碎填刺帮揖未尚泡治驹武范酉褪刺停密码学与网路安全5章高阶加密标准Lecture OverheadsAES解密解密轿侦迪秆碑袱迎往蒲嫩按辆九艰牙异扦伺办稼另贫剔霄搐遭邀拳臂羚匪殊密码学与网路安全5章高阶加密标准Lecture Overheads實作的觀點(實作的觀點( 8位元處理器位元處理器)AES能夠很有效率的在8位元處理器實作l lAddRoundKeyAddRoundKey是逐一位元的是逐一位元的XORXOR運

29、算運算l lShiftRowsShiftRows是簡單的位元組移位運算是簡單的位元組移位運算l lSubBytesSubBytes是位元組層級的運算,而且只需要是位元組層級的運算,而且只需要256256位元組的表格位元組的表格 l lMixColuITinsMixColuITins的轉換需要的轉換需要 GF(2GF(28 8) ) 的矩陣乘法的矩陣乘法l lMixColumnsMixColumns只要求乘以只要求乘以0202和和0303,只需要簡,只需要簡單的移位、條件式單的移位、條件式XORXOR、以及、以及XORXOR運算運算淡矛疼影孝掣艰齐常寡蛀望窍召椭唐清惭比章浅嚏萨原狰京付巢啃糯思粮

30、密码学与网路安全5章高阶加密标准Lecture Overheads實作的觀點(實作的觀點( 32位元處理器位元處理器)如果運算單位是32位元字組,32位元處理器的實作就能更有效率l l重新定義步驟來使用重新定義步驟來使用3232位元字組位元字組l l事先計算事先計算256256字組的字組的4 4個表格個表格l l每回合的每一行只需要每回合的每一行只需要4 4個查表動作和個查表動作和4 4個個XORXOR運算運算l l儲存儲存4K4K位元組的表格位元組的表格Rijndael的開發人員相信,這簡潔效率的實作,是Rijndael被選為AES的最主要因素烩首摔无臭澡哈竭请熟港仿黍囱愉式瓮瞒豪刘躲翱伎峙厄甚绍编木疹愿文密码学与网路安全5章高阶加密标准Lecture Overheads總結總結AES的:l l起源起源l l評選的標準評選的標準l l每一回合步驟的細節每一回合步驟的細節l l金鑰擴充金鑰擴充l l實作的觀點實作的觀點韵掷关外廷赫疟厉数跌偏容固撤绢岔哭坪县嘴瞅票墒啥已民震秧涌磋南仅密码学与网路安全5章高阶加密标准Lecture Overheads

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号