版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
主要內(nèi)容:
分組密碼的基本概念
對稱密碼基本原理
數(shù)據(jù)標準加密(DES)
高級加密標準(AES)
對稱密碼體制工作模式
對稱密碼應用第三章分組密碼算法2025/8/1223.1分組密碼概述首先要將待加密的明文進行分組,每組的長度相同,然后對每組明文分別加密得到密文。對稱密碼系統(tǒng)采用相同的加密密鑰和解密密鑰,這是對稱密碼系統(tǒng)的顯著特點。分組密碼基本通信模型圖
分組密碼模型:2025/8/1242025/8/125消息明文分組加密密文加密消息的過程2025/8/126為保證分組密碼的安全強度,設計分組密碼時應遵循如下的基本原則:(2)密鑰量足夠大,同時需要盡可能消除弱密鑰的使用,防止密鑰窮舉攻擊,但是由于對稱密碼體制存在密鑰管理問題,密鑰也不能過大。(3)密鑰變換足夠復雜,能抵抗各種已知攻擊,如差分攻擊、線性攻擊、邊信道攻擊等,即使得攻擊者除了窮舉攻擊外找不到其它有效攻擊方法。(4)加密和解密的運算簡單,易于軟硬件高速實現(xiàn)。(5)數(shù)據(jù)擴展足夠小,一般無數(shù)據(jù)擴展。(6)差錯傳播盡可能小,加密或解密某明文或密文分組出錯,對后續(xù)密文解密影響盡可能小。(1)分組長度足夠長,防止明文窮舉攻擊。2025/8/1273.2分組密碼原理(1)擴散就是將每一位明文的影響盡可能迅速地作用到較多的輸出密文位中去,以便隱藏明文的統(tǒng)計特性。(2)混亂是指密文和明文之間的統(tǒng)計特性關(guān)系盡可能地復雜化。(3)乘積密碼指依次使用兩個或兩個以上的基本密碼,所得結(jié)果的密碼強度將強于所有單個密碼的強度。2025/8/1281.代替-變換網(wǎng)絡乘積密碼通常伴隨系列置換與代替操作,常見的乘積密碼是迭代密碼。許多分組密碼重復一個或幾個步驟:代替然后換位,然后代替,再換位等等,并且每個步驟的過程都有密鑰來控制,目前的大多數(shù)分組密碼同時使用代替-置換網(wǎng)絡以達到混淆和擴散的目標。代替-置換網(wǎng)絡是由多重代替變換(S)和置換變換(P),如右圖所示,S代替變換起到混淆的作用,P置換變換起到擴散的作用。2025/8/1292.Feistel密碼結(jié)構(gòu)
2025/8/1210Feistel網(wǎng)絡示意圖:
2025/8/1211為了保證分組密碼的安全性,與分組密碼算法原則非常類似,F(xiàn)eistel網(wǎng)絡結(jié)構(gòu)實現(xiàn)與以下參數(shù)和特性有關(guān):
(1)分組大?。悍纸M越大則安全性越高,但加密速度就越慢。分組密碼設計中最為普遍使用的分組大小是64比特。(2)密鑰大?。好荑€越長則安全性越高,但加密速度就越慢?,F(xiàn)在通常使用128比特的密鑰長度。(3)輪數(shù):單輪結(jié)構(gòu)遠不足以保證安全性,但多輪結(jié)構(gòu)可提供足夠的安全性。典型地,輪數(shù)取為16。(4)子密鑰產(chǎn)生算法:該算法的復雜性越大,則密碼分析的困難性就越大。(5)輪函數(shù):輪函數(shù)的復雜性越大,密碼分析的困難性也越大。2025/8/12123.Feistel的解密結(jié)構(gòu)
2025/8/1213解密原理:加密最后一輪解密第一輪
1994年,美國決定1998年12月以后不再使用DES算法,目前DES已被更為安全的Rijndael算法取代。雖然這樣,但是目前還無法將DES加密算法徹底地破解掉,而且DES算法的加解密過程非??欤允悄壳笆褂米顬槠毡榈膶ΨQ密鑰加密算法。在國內(nèi),隨著三金工程尤其是金卡工程的啟動,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收費站等領(lǐng)域被廣泛應用,以此來實現(xiàn)關(guān)鍵數(shù)據(jù)的保密,如信用卡持卡人的PIN碼加密傳輸,IC卡與POS間的雙向認證、金融交易數(shù)據(jù)包的MAC校驗等,均用到DES算法。
DES(DataEncryptionStandard)是美國IBM公司于20世紀70年代中期的一個密碼算法(LUCIFER算法)發(fā)展而來的,并于1977年1月15日由美國國家標準局(NBS)正式公布實施的數(shù)據(jù)加密標準,并得到了ISO的認可。在過去近20多年的時間里,DES被廣泛應用于美國聯(lián)邦和各種商業(yè)信息的安全保密工作中,經(jīng)受住了各種密碼分析和攻擊,體現(xiàn)出了令人滿意的安全性。
2025/8/12143.3數(shù)據(jù)加密標準(DES)1.DES產(chǎn)生的歷史背景2025/8/1215
DES是一種采用傳統(tǒng)的替換和移位方法加密的分組密碼,算法是對稱的,既可用于加密又可用于解密。DES是一個分組密碼算法,使用64位密鑰(除去8位奇偶校驗,實際密鑰長為56位)對64比特的數(shù)據(jù)分組(二進制數(shù)據(jù))加密,產(chǎn)生64位密文數(shù)據(jù)。DES是一個對稱密碼體制,加密和解密使用同一密鑰,解密和加密使用同一算法。DES的所有保密性均依賴于密鑰。由于DES算法僅使用最大為64位的標準算術(shù)和邏輯運算,運算速度快,密鑰產(chǎn)生容易,適合于在當前大多數(shù)計算機上用軟件方法實現(xiàn),同時也適合于在專用芯片上實現(xiàn)。2025/8/12162.DES算法描述下圖是DES加密算法流程。
2025/8/1217(1)DES的加密過程(3個階段)
第一階段:初始置換IP(如下表所示)對于給定的明文x,通過初始置換IP(在第一輪迭代運算之前,需要加密的64位明文首選通過初始置換IP的作用,對輸入分組實施置換(即把64位置換為第2位,…,原來輸入明文的第7位將作為置換結(jié)果的最后一位))獲得,并將x0分為兩部分,前面32位記為L0,后面32位記為R0。585012342618102605244362820124625446383022146645648403224168574941332517915951433527191136153453729211356355473931231572025/8/12182025/8/1219IP置換舉例2025/8/1221第二階段:計算16次迭代變換。
DES采用了典型的Feistel結(jié)構(gòu),是一個乘積結(jié)構(gòu)的迭代密碼算法。其算法的核心是算法所規(guī)定的16次迭代變換(見下頁圖)。即:
從圖中可以看出:DES算法的16次迭代變換具有相同的結(jié)構(gòu),每一次迭代變換都以前一次迭代變換的結(jié)果(第一次迭代以作x0=L0R0為輸入)和用戶密鑰擴展得到的子密鑰ki作為輸入;每一次迭代變換只變換一半數(shù)據(jù),它們將輸入數(shù)據(jù)的右半部分經(jīng)過函數(shù)f后,將其輸出與輸入數(shù)據(jù)的左半部分進行異或運算,并將得到的結(jié)果作為新的右半部分,原來的右半部分變成了新的左半部分。DES加密算法圖
DES的一次迭代過程2025/8/1223
DES算法的安全性關(guān)鍵在于非線性函數(shù)F的性質(zhì)。在DES算法中,F(xiàn)以長度為32位的比特串作為輸入,產(chǎn)生的中間結(jié)果為48位,并在最終產(chǎn)生長度為32位的比特串作為輸出。F函數(shù)的計算過程可以用下圖表示。2025/8/1224Ⅰ.擴展置換:f以前一輪迭代的結(jié)果Ri-1作輸入,首先根據(jù)一個固定的擴展函數(shù)E(也稱為E盒)“擴展”長度為48位的比特串,其中有16比特出現(xiàn)了兩次(如右表所示)。2025/8/1225E擴展例子擴展函數(shù)E的第一分組的原理
2025/8/1228Ⅱ.與子密鑰異或:函數(shù)F將擴展置換得到的48位輸出與子密鑰ki(48位)進行異或運算(按位模2加)。E盒的輸出與密鑰異或:若子密鑰48比特位為:001111011000111111001101001101110011111101001000,則操作如下:輸入:100000000001011111111110100000001101010000000110密鑰:001111011000111111001101001101110011111101001000輸出:1011110110011000001100111011011111101011010011102025/8/1229Ⅲ.S盒替代:以6比特為單位將第Ⅱ步異或得到的結(jié)果分為8個小分組,并將它們送入替代函數(shù)(即S盒)中進行替代運算。
DES算法中共有8個S盒(見下頁表)。每一個分組將對應于一個S盒進行替代運算。具體替代方式為:將S盒的6位輸入定義為a1a2a3a4a5a6。將a1a6組成一個2位二進制數(shù),對應著表中的行號,將a2a3a4a5組成一個4位二進制數(shù),對應表中的列號,交叉點的數(shù)據(jù)就是該S盒的輸出。
S盒是函數(shù)f的核心所在,同時,也是DES算法的關(guān)鍵步驟。實際上除了S盒以外,DES的其他運算都是線性的,而S盒是非線性的,它決定了DES算法的安全性。48位的比特串(分為8個6位分組)在經(jīng)過8個S盒進行代替運算后,得到8個4位的分組,它們重新組合在一起形成一個32位的比特串。這個比特串將進行下一步運算:P盒置換。2025/8/1230S盒
2025/8/1231例:2025/8/1232S盒作用-示例中,S盒輸入的48比特位為101111011001100000110011101101111110101101001110,則分成8組,每組6位,則對應的S盒的行和列號如下:
S盒
123456……
輸入
101111011001100000110011101101111110……
行
312332……
列
71209515……
輸出
011101100011010000100110……
經(jīng)過S盒作用,48比特位輸入,輸出32比特位為:01110110001101000010011010100001。2025/8/1233Ⅳ.P盒置換:是將S盒輸出的32位比特串根據(jù)固定的置換P(也稱為P盒)置換到相應的位置,它也稱為直接置換(straightpermutation)(右表給出了置換P)。2025/8/1234-置換P16720212912281711523265183110282414322739191330622114258×4-從S盒出來后經(jīng)置換P重排:
輸入:01110110001101000010011010100001
輸出:01000100001000001001111010011111得到L1R1經(jīng)過P盒作用之后輸出的32比特位與左半部分L0=11111111101110000111011001010111的32位進行異或,得到右半部分的最終的R1的32位。左半部分的32位為上一輪右半部分的32位L1=R0。DES共是16輪把上述過程重復15次,即共執(zhí)行16輪2025/8/1237第三階段:逆(初始)置換是初始置換IP的逆置換,記為IP-1(如右表)。在對16輪迭代的結(jié)果(R16L16),再使用逆(初始)置換IP-1后,得到的結(jié)果即可作為DES加密的密文Y輸出,即Y=IP-1(R16,L16)。2025/8/1238IP逆置換即加密得到的64比特的密文。2025/8/1240(2)DES解密算法:與其加密算法使用的算法過程相同。(3)DES算法的子密鑰的生成過程。下圖是子密鑰的生成過程:子密鑰的生成過程圖
2025/8/12412025/8/1242子密鑰的生成過程如下:①輸入的密鑰K首先經(jīng)過一個置換(稱為置換選擇1(PC-1,Permutationchoice的縮寫)見下表所示),進行重新排列。置換的結(jié)果(56位)被當成兩個28比特的量C0和D0,其中C0是置換結(jié)果的前28比特,而D0是后28比特。2025/8/1243②在計算第i輪迭代所需的子密鑰時,首先對Ci-1和Di-1進行循環(huán)左移,分別得到Ci與Di。如果i=1,2,9和16,左移循環(huán)的次數(shù)等于1,否則循環(huán)2次,這些經(jīng)過循環(huán)移位的值作為下一次循環(huán)的輸入。然后將以作CiDi作為另外一個由DES算法固定置換選擇(稱為置換選擇2,PC-2見右表所示)的輸入,所得到的置換結(jié)果即為第i次迭代所需的子密鑰ki。3.DES算法舉例例:已知明文m=computer,密鑰k=program,用ASCII碼表示為:m=0110001101101111011011010111000001110101011101000110010101110010
-56位有效密鑰
k=01110000011100100110111101100111011100100110000101101101因為k只有56位,必須插入第8,16,24,32,40,48,56,64位奇偶校驗位,合成64位。而這8位對加密過程沒有影響。ASCII字母對照表abcdefghijklm979899100101102103104105106107108109nopqrstuvwxyz110111112113114115116117118119120121122-明文m=computerc9701100011o11101101111m10901101101p11201110000u11701110101t11601110100e10101100101r11401110010-密鑰k=programp11201110000r11401110010o11101101111g10301100111r11401110010a9701100001m10901101101
K0
變換為K156位有效密鑰k=0111000,0011100,1001101,1110110,0111011,1001001,1000010,1101101011100000011100010011011111011000111011010010010100001011101101
0密鑰k通過PC-1得到
1列2列3列4列C[0]:1110110010011001000110111011
5列6列7列8列
D[0]:1011010001011000100011100111再各自左移一位,C[1]:1101100100110010001101110111D[1]:0110100010110001000111001111C[1]:1101100100110010001101110111D[1]:01101000101100010001110011111417112415328156211023191242681672720132415231374755304051453348444939563453464250362932-通過PC-2得到48位
KS[1]:001111011000111111001101001101110011111101001000K0
變換為K1
明文IP置換明文m=computerc9701100011o11101101111m10901101101p11201110000u11701110101t11601110100e10101100101r1140111001058504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263641111111110111000011101100101011100000000111111110000011010000011L0R0100000000001011111111110100000001101010000000110
E盒擴展m經(jīng)過IP置換后得到L0=11111111101110000111011001010111R0=0000000011111111000001101000001100000000111111110000011010000011R0(32位)經(jīng)E作用膨脹為48位,100000000001011111111110100000001101010000000110
S盒的選擇R0(32位)經(jīng)E作用膨脹為48位,100000000001011111111110100000001101010000000110再和k1作異或運算得到(分成8組)
ExorKS:101111011001100000110011101101111110101101001110S盒
S1S2S3S4S5S6S7S8
行:31233230
列:7120961567查表:761342610101110110110101000010011010100001KS[1]:001111011000111111001101001101110011111101001000-通過S盒后輸出位32比特,Sbox:標號:123456789101112131415161718192021220111011011010100001001標號:232425262728293031321010100001
P盒置換1672021291228171152326
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年河北省公需課學習-基本養(yǎng)老保險制度改革方案
- 2025年期中試卷講評模板及答案
- 印章培訓考試題庫及答案
- 文科考研高分試卷及答案
- 宜賓特崗語文真題及答案
- 長期定向采購合同范本
- 跳舞人身意外合同范本
- 買賣燒鴨合同范本
- 農(nóng)村拆遷贈予合同范本
- 臀部護理的飲食建議
- 《資源與運營管理》期末機考資料
- 股權(quán)抵押分紅協(xié)議書
- 《數(shù)字化測圖》實訓指導書
- 電影監(jiān)制的合同范本
- 2025年高級農(nóng)藝工考試題及答案
- 鐵路工務安全管理存在的問題及對策
- 2026-2031年中國文化旅游行業(yè)市場未來發(fā)展趨勢研究報告
- (16)普通高中體育與健康課程標準日常修訂版(2017年版2025年修訂)
- 2025廣東茂名市高州市市屬國有企業(yè)招聘企業(yè)人員總及筆試歷年參考題庫附帶答案詳解
- 2023年考研歷史學模擬試卷及答案 古代希臘文明
- 獸藥營銷方案
評論
0/150
提交評論