欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:77610670       资源大小:755KB        全文页数:32页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    密码学与网路安全5章高阶加密标准 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望AES的起源的起源DES應只用在舊系統,新系統應改用3DES,但3DES的軟體實作效能低落為了要取代為了要取代DES/3DESDES/3DES,NISTNIST在在19971997年徵求新的年徵求新的AESAES計畫書,並要求新標準的安全強度要等同或計畫書,並要求新標準的安全強度要等同或強過強過3DES3DES,而且也要大幅加強效能,而且也要大幅加強效能NISTNIST是在是在20012001年年1111月完成整個評估,並且發表最月完成整個評估,並且發表最終的標準(終的標準(FIPS PUB 197FIPS PUB 197)NISTNIST最終選擇最終選擇RijndaelRijndael作為作為AESAES演算法的建議規演算法的建議規格格AESAES最終會取代最終會取代3DES3DES,但這個過程需要好幾年。,但這個過程需要好幾年。在可預見的未來,在可預見的未來,NISTNIST預期預期3DES3DES仍會是美國政仍會是美國政府公認的演算法標準府公認的演算法標準評選評選AES安全性l l實際的安全性:以相同長度的金鑰及區塊,和實際的安全性:以相同長度的金鑰及區塊,和其他送交的演算法相互比較其他送交的演算法相互比較l l隨機性:隨機重排輸入區塊而讓演算法的輸出隨機性:隨機重排輸入區塊而讓演算法的輸出無法辨識的程度無法辨識的程度l l強固性:演算法安全性的數學基礎強固性:演算法安全性的數學基礎l l其他安全因素:在評選過程公開接受挑戰,包其他安全因素:在評選過程公開接受挑戰,包括任何能證明演算法實際的安全性並無提交者括任何能證明演算法實際的安全性並無提交者所宣稱的攻擊所宣稱的攻擊評選評選AES成本l l授權要求:讓全世界都能非獨佔、免權利金的授權要求:讓全世界都能非獨佔、免權利金的使用使用AESAES所指定的演算法所指定的演算法l l計算效率:計算效率的評估結果將同時適用於計算效率:計算效率的評估結果將同時適用於硬體和軟體的實作硬體和軟體的實作l l記憶體需求:評選過程也會考慮以硬體和軟體記憶體需求:評選過程也會考慮以硬體和軟體實作演算法所需要的記憶體實作演算法所需要的記憶體 記憶體需求的考量因素包含硬體實作所需要的邏輯記憶體需求的考量因素包含硬體實作所需要的邏輯閘數量,以及軟體實作所需要的閘數量,以及軟體實作所需要的RAMRAM評選評選AES演算法和實作特性 l l彈性:演算法越彈性,就越能符合更多人的需彈性:演算法越彈性,就越能符合更多人的需求,但有些極端的功能並不實用求,但有些極端的功能並不實用l l硬體和軟體適用性:不應將演算法實作限制在硬體和軟體適用性:不應將演算法實作限制在硬體,如果可以有效的以韌體實作,就是演算硬體,如果可以有效的以韌體實作,就是演算法彈性的一大優點法彈性的一大優點l l簡易性:演算法應該以設計的簡易程度而評斷簡易性:演算法應該以設計的簡易程度而評斷其優劣其優劣 AES加密法加密法-Rijndael 由比利時的由比利時的 Rijmen-Daemen Rijmen-Daemen 所設計所設計金鑰長度金鑰長度 128/192/256 128/192/256 位元,區塊長度位元,區塊長度 128 128 位元位元不採用菲仕托架構,不採用菲仕托架構,而是在每回合以取代和重排而是在每回合以取代和重排來平行處理整個資料區塊來平行處理整個資料區塊l l每回合的回合金鑰由每回合的回合金鑰由4 4個不同的字組(個不同的字組(128128位元)組成位元)組成l l有有4 4種不同的階段,其一是重排,其他則是取代種不同的階段,其一是重排,其他則是取代特性:特性:l l能抵抗所有已知的攻擊能抵抗所有已知的攻擊l l能在各種平台上快速執行,且程式碼小巧緊湊能在各種平台上快速執行,且程式碼小巧緊湊l l簡明易懂的設計簡明易懂的設計圖解圖解AES的加密與解密過程的加密與解密過程AES-128加解密加解密AES-128AES-128金鑰安排把輸入的金鑰安排把輸入的128128位元金鑰擴展成位元金鑰擴展成1111組各組各128128位元的回合金鑰位元的回合金鑰(round key)(round key)AESAES加解密時有四種基本運算加解密時有四種基本運算(稱作層,稱作層,layer)layer)分別分別是是AddRoundKeyAddRoundKey、SubBytesSubBytes、ShiftRowsShiftRows、及、及MixColumnsMixColumns等四層等四層每次進行每次進行AddRoundKeyAddRoundKey都需用到回合金鑰,其餘都需用到回合金鑰,其餘運算層與回合金鑰無關。運算層與回合金鑰無關。明文先用回合金鑰依序進行明文先用回合金鑰依序進行AddRoundKeyAddRoundKey、SubBytesSubBytes、ShiftRowsShiftRows,然後再做,然後再做MixColumnsMixColumns,這四個運算稱為一個回合這四個運算稱為一個回合總共需重複做九個回合總共需重複做九個回合最後再進行最後再進行 AddRoundKeyAddRoundKey、SubBytesSubBytes、ShiftRowsShiftRows、及、及AddRoundKeyAddRoundKey即得到密文即得到密文 AES的資料結構的資料結構位元組的取代位元組的取代位元組的正向取代方式位元組的正向取代方式稱為SubBytes位元組的反向取代位元組的反向取代稱為InvSubBytes稱為S-boxes的16 16 位元組矩陣,包含了所有8 位元數值(256個)每個位元組最左邊的4 個位元所形成的數值,會當成列編號,而最右邊的4 個位元所形成的數值,則當成行編號l l例如例如1616進位數值進位數值9595參照到參照到S-boxesS-boxes第第9 9列、第列、第5 5行的行的值值2A2Al l因此因此9595就對映到就對映到2A2A位元組的取代位元組的取代AES 位元組取代位元組取代(S-Box)y y0 01 12 23 34 45 56 67 78 89 9a ab bc cd de ef fx x0 063637c7c77777b7bf2f26b6b6f6fc5c53030010167672b2bfefed7d7abab76761 1caca8282c9c97d7dfafa59594747f0f0adadd4d4a2a2afaf9c9ca4a47272c0c02 2b7b7fdfd9393262636363f3ff7f7cccc3434a5a5e5e5f1f17171d8d8313115153 30404c7c72323c3c31818969605059a9a070712128080e2e2ebeb2727b2b275754 4090983832c2c1a1a1b1b6e6e5a5aa0a052523b3bd6d6b3b32929e3e32f2f84845 55353d1d10000eded2020fcfcb1b15b5b6a6acbcbbebe39394a4a4c4c5858cfcf6 6d0d0efefaaaafbfb43434d4d333385854545f9f902027f7f50503c3c9f9fa8a87 75151a3a340408f8f92929d9d3838f5f5bcbcb6b6dada21211010fffff3f3d2d28 8cdcd0c0c1313ecec5f5f979744441717c4c4a7a77e7e3d3d64645d5d191973739 9606081814f4fdcdc22222a2a909088884646eeeeb8b81414dede5e5e0b0bdbdba ae0e032323a3a0a0a4949060624245c5cc2c2d3d3acac626291919595e4e47979b be7e7c8c837376d6d8d8dd5d54e4ea9a96c6c5656f4f4eaea65657a7aaeae0808c cbaba787825252e2e1c1ca6a6b4b4c6c6e8e8dddd74741f1f4b4bbdbd8b8b8a8ad d70703e3eb5b5666648480303f6f60e0e616135355757b9b98686c1c11d1d9e9ee ee1e1f8f8989811116969d9d98e8e94949b9b1e1e8787e9e9cece55552828dfdff f8c8ca1a189890d0dbfbfe6e642426868414199992d2d0f0fb0b05454bbbb1616例如例如 S-Box(00)=63,S-Box(f0)=8c,S-Box(ff)=16 列的移位列的移位列的正向移位列的正向移位稱為ShiftRowsl l第第1 1列並未改變列並未改變l l第第2 2列的每個元素向左循環位移列的每個元素向左循環位移1 1個位元組個位元組l l第第3 3列向左循環位移列向左循環位移2 2個位元組個位元組l l第第4 4列向左循環位移列向左循環位移3 3個位元組個位元組 列的反向移位列的反向移位稱為InvShiftRowsl l讓後三列以反方向循環位移讓後三列以反方向循環位移l l也就是第也就是第2 2列向右循環位移列向右循環位移l l個位元個位元 完整移位之後,一行裡的完整移位之後,一行裡的4 4位元組會分散到不同的位元組會分散到不同的四行四行列的移位列的移位行的混合行的混合行的正向混合行的正向混合稱為MixColumns,是在每一行個別運作每行裡的每個位元組會對映到新的數值,而此數值是行內所有4個位元組的函數乘積矩陣是以質數多項式m(x)=x8+x4+x3+x+1 在GF(28)執行行的混合行的混合AES之之MixColumns 0 c 4行的混合行的混合行的反向混合行的反向混合行的反向混合行的反向混合稱為稱為InvMixColumnsInvMixColumns,是以下列的矩陣乘法,是以下列的矩陣乘法定義:定義:解密需使用反向矩陣解密需使用反向矩陣AESAES文件以其他方式描述文件以其他方式描述MixColumnsMixColumns的特徵的特徵l l定義定義MixColumnsMixColumns是考量狀態的每一行都是是考量狀態的每一行都是4 4個項目的多項式個項目的多項式l l其係數定義在其係數定義在 GF(2GF(28 8)l l每一行都會乘以固定的多項式每一行都會乘以固定的多項式a(a(x x),再取,再取 (x(x4 4+1)+1)的同餘的同餘新增回合金鑰新增回合金鑰 新增回合金鑰的正向轉換新增回合金鑰的正向轉換新增回合金鑰的正向轉換新增回合金鑰的正向轉換稱為稱為AddRoundKeyAddRoundKeyAddRoundKey(state,wround*4,round*4+3)AddRoundKey(state,wround*4,round*4+3)是將是將1616位位元組的元組的statestate與與1616位元組位元組(4(4字組字組)的回合金鑰中的每個對應的回合金鑰中的每個對應位元進行位元進行XORXOR運算,運算,並並將運算結果重新放於將運算結果重新放於statestate狀態裡的狀態裡的128128個位元會和回合金鑰的個位元會和回合金鑰的128128個位元進行逐一個位元進行逐一位元的位元的XORXOR運算運算此運算能視為狀態裡某一行的此運算能視為狀態裡某一行的4 4個位元組,和回合金鑰裡個位元組,和回合金鑰裡一個字元組的交互運算一個字元組的交互運算l l也能視為位元組層級的運算也能視為位元組層級的運算新增回合金鑰的反向轉換,與新增回合金鑰的正向轉換相新增回合金鑰的反向轉換,與新增回合金鑰的正向轉換相同同l l因為因為XORXOR運算是其本身的反向運算運算是其本身的反向運算新增回合金鑰新增回合金鑰 AES的加密回合的加密回合 AES的金鑰擴充的金鑰擴充將128位元(4字組)金鑰擴充成 44/52/60 字組的陣列金鑰擴充演算法的虛擬程式碼如下:AES SubWord(RotWord(temp)RotWordRotWord是將一個字組是將一個字組內內的四個位元組向前移動一的四個位元組向前移動一位元組,例如原先字組為位元組,例如原先字組為 b b0 0,b b1 1,b b2 2,b b3 3 那麼經那麼經RotWordRotWord移動後即成為移動後即成為 b b1 1,b b2 2,b b3 3,b b0 0。SubWordSubWord則是將四個位元組各自進行則是將四個位元組各自進行S-BoxS-Box,例如,例如原先字組為原先字組為 b b0 0,b b1 1,b b2 2,b b3 3 那麼經那麼經SubWordSubWord取代後取代後成為成為 S-Box(S-Box(b b0 0),S-Box(),S-Box(b b1 1),S-Box(),S-Box(b b2 2),S-Box(),S-Box(b b3 3)。RconRcon則為字組常數,第一位元組非零,則為字組常數,第一位元組非零,Rcon 1 Rcon 1=01,00,00,00)=01,00,00,00),Rcon 10=Rcon 10=(36,00,00,00)(36,00,00,00)。i i1 12 23 34 45 56 67 78 89 91010Rcon Rcon i i 第一個位第一個位元組元組(十六進制十六進制)010102020404080810102020404080801b1b3636AES的金鑰擴充的金鑰擴充AES-128第第2組回合金鑰的計算方式組回合金鑰的計算方式 Key 16=Key 0 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=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 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 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 27AES-128加密範例加密範例 明文為明文為(十六進制十六進制)32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34)32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34,1616位元組金鑰為位元組金鑰為2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c,而計算得到的,而計算得到的1616位元組密文為位元組密文為39 25 39 25 84 1d 02 dc 09 fb dc 11 85 97 19 6a 0b 3284 1d 02 dc 09 fb dc 11 85 97 19 6a 0b 32。金鑰擴充的基本原理金鑰擴充的基本原理設計的足以抵抗已知的攻擊採用的特定規範l l知道部分的加密金鑰或回合金鑰,也無法完全計知道部分的加密金鑰或回合金鑰,也無法完全計算出其他的回合金鑰位元算出其他的回合金鑰位元l l可反向的轉換可反向的轉換l l在不同處理器皆能維持速度在不同處理器皆能維持速度l l藉由回合常數排除對稱性藉由回合常數排除對稱性l l將加密金鑰的差異擴散到回合金鑰將加密金鑰的差異擴散到回合金鑰l l足夠的非線性足夠的非線性l l簡明易懂簡明易懂AES解密解密AESAES的解密與加密不完全相同的解密與加密不完全相同l l儘管加密和解密的金鑰排程形式相同,但是解密的轉儘管加密和解密的金鑰排程形式相同,但是解密的轉換順序卻與加密不同換順序卻與加密不同l l缺點是軟體或韌體模組需分別實作加密和解密功能缺點是軟體或韌體模組需分別實作加密和解密功能但還是有解密演算法與和加密演算法轉換順序相但還是有解密演算法與和加密演算法轉換順序相同的版本同的版本l l需要改變金鑰排程需要改變金鑰排程解密架構和加密架構要一致,必須交換解密回合解密架構和加密架構要一致,必須交換解密回合的前兩階段和後兩階段的前兩階段和後兩階段AES解密解密實作的觀點(實作的觀點(8位元處理器)位元處理器)AES能夠很有效率的在8位元處理器實作l lAddRoundKeyAddRoundKey是逐一位元的是逐一位元的XORXOR運算運算l lShiftRowsShiftRows是簡單的位元組移位運算是簡單的位元組移位運算l lSubBytesSubBytes是位元組層級的運算,而且只需要是位元組層級的運算,而且只需要256256位元組的表格位元組的表格 l lMixColuITinsMixColuITins的轉換需要的轉換需要 GF(2GF(28 8)的矩陣乘法的矩陣乘法l lMixColumnsMixColumns只要求乘以只要求乘以0202和和0303,只需要簡,只需要簡單的移位、條件式單的移位、條件式XORXOR、以及、以及XORXOR運算運算實作的觀點(實作的觀點(32位元處理器)位元處理器)如果運算單位是32位元字組,32位元處理器的實作就能更有效率l l重新定義步驟來使用重新定義步驟來使用3232位元字組位元字組l l事先計算事先計算256256字組的字組的4 4個表格個表格l l每回合的每一行只需要每回合的每一行只需要4 4個查表動作和個查表動作和4 4個個XORXOR運算運算l l儲存儲存4K4K位元組的表格位元組的表格Rijndael的開發人員相信,這簡潔效率的實作,是Rijndael被選為AES的最主要因素總結總結AES的:l l起源起源l l評選的標準評選的標準l l每一回合步驟的細節每一回合步驟的細節l l金鑰擴充金鑰擴充l l實作的觀點實作的觀點

    注意事项

    本文(密码学与网路安全5章高阶加密标准.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开