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

上传人:re****.1 文档编号:588128918 上传时间:2024-09-07 格式: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位元的回合金鑰(ro

8、und key) AES加解密時有四種基本運算(稱作層,layer)分別是AddRoundKey、SubBytes、ShiftRows、及MixColumns等四層每次進行AddRoundKey都需用到回合金鑰,其餘運算層與回合金鑰無關。明文先用回合金鑰依序進行AddRoundKey、SubBytes、ShiftRows,然後再做MixColumns,這四個運算稱為一個回合總共需重複做九個回合最後再進行 AddRoundKey、SubBytes、ShiftRows、及AddRoundKey即得到密文 侦爵铂毡蕾胜香辐寥殿仔绸众愉锹沛褂态豌忻烷烙延租须氖笑智萄运付千密码学与网路安全第5章高阶加密

9、标准Lecture OverheadsAES的資料結構的資料結構撂这俄批酬誉帐频梦劫陌命灌权炸雀影咋首沮消尤漱糜儿劈悔珊蛀孪杆啊密码学与网路安全第5章高阶加密标准Lecture Overheads位元組的取代位元組的取代位元組的正向取代方式位元組的正向取代方式稱為SubBytes位元組的反向取代位元組的反向取代稱為InvSubBytes稱為S-boxes的16 16 位元組矩陣,包含了所有8 位元數值(256個)每個位元組最左邊的4 個位元所形成的數值,會當成列編號,而最右邊的4 個位元所形成的數值,則當成行編號l l例如例如1616進位數值進位數值9595參照到參照到S-boxesS-box

10、es第第9 9列、第列、第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 063637c7c77777b7bf2f26b6b6f6f

11、c5c53030010167672b2bfefed7d7abab76761 1caca8282c9c97d7dfafa59594747f0f0adadd4d4a2a2afaf9c9ca4a47272c0c02 2b7b7fdfd9393262636363f3ff7f7cccc3434a5a5e5e5f1f17171d8d8313115153 30404c7c72323c3c31818969605059a9a070712128080e2e2ebeb2727b2b275754 4090983832c2c1a1a1b1b6e6e5a5aa0a052523b3bd6d6b3b32929e3e32f2f

12、84845 55353d1d10000eded2020fcfcb1b15b5b6a6acbcbbebe39394a4a4c4c5858cfcf6 6d0d0efefaaaafbfb43434d4d333385854545f9f902027f7f50503c3c9f9fa8a87 75151a3a340408f8f92929d9d3838f5f5bcbcb6b6dada21211010fffff3f3d2d28 8cdcd0c0c1313ecec5f5f979744441717c4c4a7a77e7e3d3d64645d5d191973739 9606081814f4fdcdc22222a2a9

13、09088884646eeeeb8b81414dede5e5e0b0bdbdba ae0e032323a3a0a0a4949060624245c5cc2c2d3d3acac626291919595e4e47979b be7e7c8c837376d6d8d8dd5d54e4ea9a96c6c5656f4f4eaea65657a7aaeae0808c cbaba787825252e2e1c1ca6a6b4b4c6c6e8e8dddd74741f1f4b4bbdbd8b8b8a8ad d70703e3eb5b5666648480303f6f60e0e616135355757b9b98686c1c11

14、d1d9e9ee ee1e1f8f8989811116969d9d98e8e94949b9b1e1e8787e9e9cece55552828dfdff f8c8ca1a189890d0dbfbfe6e642426868414199992d2d0f0fb0b05454bbbb1616例如例如 S-Box(00)=63,S-Box(f0)= 8c,S-Box(ff)=16 缠懈爪告汝泊丛吧莎造勋员蔷看厦笛妨悯湾捂顷绚足槐梦效疥郭败枢漱辗密码学与网路安全第5章高阶加密标准Lecture Overheads列的移位列的移位列的正向移位列的正向移位稱為ShiftRowsl第1列並未改變l第2列的每個元素

15、向左循環位移1個位元組l第3列向左循環位移2個位元組l第4列向左循環位移3個位元組 列的反向移位列的反向移位稱為InvShiftRowsl l讓後三列以反方向循環位移讓後三列以反方向循環位移l l也就是第也就是第2 2列向右循環位移列向右循環位移l l個位元個位元 完整移位之後,一行裡的完整移位之後,一行裡的4 4位元組會分散到不同的位元組會分散到不同的四行四行敞撤凡袁蹭卒地念菠蛙胞汪爷娠纽桔魏道滤朝豫法争炸洞柞牌鞋匠郡脓恰密码学与网路安全第5章高阶加密标准Lecture Overheads列的移位列的移位嚎陇盗拥买捂渺厚付饲实酬滦滦哇济命剪跺旋辆仑峙的蚜驾特靴光戚幽妙密码学与网路安全第5章高

16、阶加密标准Lecture Overheads行的混合行的混合行的正向混合行的正向混合稱為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每一行都會乘以固定的多項式每一行

18、都會乘以固定的多項式a(a(x x) ),再取,再取 (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位

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

20、的正向轉換相同同l l因為因為XORXOR運算是其本身的反向運算運算是其本身的反向運算烛刨致织珍骡慨速思百罐卤广搅实祥耀钻兼王霓斑戏全皂亡缠删柯靖摆匿密码学与网路安全第5章高阶加密标准Lecture Overheads新增回合金鑰新增回合金鑰 霉稚褐损戍赌万咖涕收励音拴侗雏豢玻蔼场幸捌颠馒漆傈琴捧翟捆桶姥外密码学与网路安全第5章高阶加密标准Lecture OverheadsAES的加密回合的加密回合 邦宠氨桥铱卞潦罗溺懊蹈开堡价镊径驹苛炭角霜锣元囚免诊敌氰窿忘寅银密码学与网路安全第5章高阶加密标准Lecture OverheadsAES的金鑰擴充的金鑰擴充將128位元 (4字組) 金鑰擴充成

21、44/52/60 字組的陣列金鑰擴充演算法的虛擬程式碼如下: 这押厄基努迟伸俊车里抿眺逻利肯阴到酞坷咋澎绝谣速琢鹅愤恭昨行量痞密码学与网路安全第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

22、(b b0), S-Box(b b1), S-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

23、 OverheadsAES-128第第2組回合金鑰的計算方式組回合金鑰的計算方式 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 Ke

24、y 16Key 21 = Key 5 Key 21 = 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

25、 = Key 12 Key 28 = Key 12 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 a

26、2 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。 朱退叹临皇抗蓟煎吗惫闸并籍硕慨玩篆敖浙囤们檀倒闺欲薪姿胡弯嫡鹊腑密码学与网路安全第5章高阶加密标准Lecture Overheads金鑰擴充的基本原理金鑰擴充的基本原理設計的足以抵抗已知的攻擊採用的特定規範l l知道部分的加密金鑰或回合金鑰,也無法完全計知道部分的加密金鑰或回合金鑰,也無法完全計算出其他的回合金鑰位元算出其他的回合金

27、鑰位元l l可反向的轉換可反向的轉換l l在不同處理器皆能維持速度在不同處理器皆能維持速度l l藉由回合常數排除對稱性藉由回合常數排除對稱性l l將加密金鑰的差異擴散到回合金鑰將加密金鑰的差異擴散到回合金鑰l l足夠的非線性足夠的非線性l l簡明易懂簡明易懂畅翅承蘸邻拢羞偶厨叠咸酶采疤贵漠蜡捌胃蓬雌声坦驰削怖谱寇阮绒梦敝密码学与网路安全第5章高阶加密标准Lecture OverheadsAES解密解密AES的解密與加密不完全相同l儘管加密和解密的金鑰排程形式相同,但是解密的轉換順序卻與加密不同l缺點是軟體或韌體模組需分別實作加密和解密功能但還是有解密演算法與和加密演算法轉換順序相但還是有解密演

28、算法與和加密演算法轉換順序相同的版本同的版本l l需要改變金鑰排程需要改變金鑰排程解密架構和加密架構要一致,必須交換解密回合解密架構和加密架構要一致,必須交換解密回合的前兩階段和後兩階段的前兩階段和後兩階段翰驴不辱好监年睬诸注涧掏厕次氖却菇诉敲赔纹棚菊瞥移袍皆滩命喝冬癸密码学与网路安全第5章高阶加密标准Lecture OverheadsAES解密解密饱纠凤遁奢迪比墟涛考爱危矗铺菜皮懒浇仙彪玄僵蔑折涧拴瓢货豢腐横潜密码学与网路安全第5章高阶加密标准Lecture Overheads實作的觀點(實作的觀點( 8位元處理器位元處理器)AES能夠很有效率的在8位元處理器實作l lAddRoundKey

29、AddRoundKey是逐一位元的是逐一位元的XORXOR運算運算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号