網(wǎng)絡和信息安全密碼學基礎_第1頁
網(wǎng)絡和信息安全密碼學基礎_第2頁
網(wǎng)絡和信息安全密碼學基礎_第3頁
網(wǎng)絡和信息安全密碼學基礎_第4頁
網(wǎng)絡和信息安全密碼學基礎_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、網(wǎng)絡和信息安全密碼學基礎目目 錄錄數(shù)據(jù)加密標準數(shù)據(jù)加密標準1.公開密鑰算法公開密鑰算法數(shù)據(jù)加密標準數(shù)據(jù)加密標準(Data Encryption Standard,DES)背景背景發(fā)明人發(fā)明人:美國:美國IBM公司公司 W. Tuchman 和和 C. Meyer 1971-1972年研制成功年研制成功基礎:基礎:1967年美國年美國Horst Feistel提出的理論提出的理論產(chǎn)生:美國國家標準局(產(chǎn)生:美國國家標準局(NBS)1973年年5月到月到1974年年8月兩次發(fā)布通告,月兩次發(fā)布通告, 公開征求用于電子計算機的加密算法。經(jīng)評選從一大批算法中采納公開征求用于電子計算機的加密算法。經(jīng)評選

2、從一大批算法中采納 了了IBM的的LUCIFER方案方案標準化:標準化:DES算法算法1975年年3月公開發(fā)表,月公開發(fā)表,1977年年1月月15日由美國國家標日由美國國家標 準局頒布為數(shù)據(jù)加密標準(準局頒布為數(shù)據(jù)加密標準(Data Encryption Standard),于),于 1977年年7月月15日生效日生效背景背景美國國家安全局(美國國家安全局(NSA, National Security Agency)參與了美參與了美國國家標準局制定數(shù)據(jù)加密標準的過程。國國家標準局制定數(shù)據(jù)加密標準的過程。NBS接受了接受了NSA的的某些建議,對算法做了修改,并將密鑰長度從某些建議,對算法做了修改

3、,并將密鑰長度從LUCIFER方案方案中的中的128位壓縮到位壓縮到56位位1979年,美國銀行協(xié)會批準使用年,美國銀行協(xié)會批準使用DES1980年,年,DES成為美國標準化協(xié)會成為美國標準化協(xié)會(ANSI)標準標準1984年年2月,月,ISO成立的數(shù)據(jù)加密技術委員會成立的數(shù)據(jù)加密技術委員會(SC20)在在DES基基礎上制定數(shù)據(jù)加密的國際標準工作礎上制定數(shù)據(jù)加密的國際標準工作DES概述概述分組加密算法:明文和密文為分組加密算法:明文和密文為64位分組長度位分組長度對稱算法:加密和解密除密鑰編排不同外,使用同一算法對稱算法:加密和解密除密鑰編排不同外,使用同一算法密鑰長度:密鑰長度:56位,但每

4、個第位,但每個第8位為奇偶校驗位,可忽略位為奇偶校驗位,可忽略密鑰可為任意的密鑰可為任意的56位數(shù),但存在弱密鑰,容易避開位數(shù),但存在弱密鑰,容易避開采用混亂和擴散的組合,每個組合先替代后置換,共采用混亂和擴散的組合,每個組合先替代后置換,共16輪輪只使用了標準的算術和邏輯運算,易于實現(xiàn)只使用了標準的算術和邏輯運算,易于實現(xiàn)DES加密算法的一般描述加密算法的一般描述輸入輸入64比特明文數(shù)據(jù)比特明文數(shù)據(jù)初始置換初始置換IP在密鑰控制下在密鑰控制下16輪迭代輪迭代初始逆置換初始逆置換IP-1輸出輸出64比特密文數(shù)據(jù)比特密文數(shù)據(jù)交換左右交換左右32比特比特 DES加密過程加密過程DES加密過程加密過

5、程)(6416, 2 , 1),(16, 2 , 1)64(1616111100LRIPbitikRfLRiRLbitIPRLiiiiii密文輸入碼令令i表示迭代次數(shù),表示迭代次數(shù), 表示逐位模表示逐位模2求和,求和,f為加為加密函數(shù)密函數(shù)DES解密過程解密過程令令i表示迭代次數(shù),表示迭代次數(shù), 表示逐位模表示逐位模2求和,求和,f為加為加密函數(shù)密函數(shù))(641 ,15,16),(1 ,15,16)64(0011111616LRIPbitikRfRLiLRbitIPLRiiiiii明文密文DES中的各種置換、擴展和替代中的各種置換、擴展和替代初始置換初始置換IP和初始逆置換和初始逆置換IP1

6、IP和和IP12014MM1420MMIPIP1Li-1(32比特)比特)Ri-1(32比特)比特)Li(32比特)比特)48比特寄存器比特寄存器選擇擴展運算選擇擴展運算E48比特寄存器比特寄存器子密鑰子密鑰Ki(48比特)比特)32比特寄存器比特寄存器選擇壓縮運算選擇壓縮運算S置換運算置換運算PRi(32比特)比特)Li=Ri-1DES的的一輪迭代一輪迭代擴展置換擴展置換-盒盒32位擴展到位擴展到48位位擴展擴展壓縮替代壓縮替代S-盒盒48位壓縮到位壓縮到32位位共共8個個S盒盒S-盒1S-盒2S-盒3S-盒4S-盒5S-盒6S-盒7S-盒8S-盒的構造盒的構造1 2 3 4 5 61 62

7、62 3 4 521133 911001110019bbbbbbbbSbbbb行:-盒子 行 列列:值:14=1100S-盒的構造盒的構造DES中其它算法都是線性的,而中其它算法都是線性的,而S-盒運算則是非線性的盒運算則是非線性的S-盒不易于分析,它提供了更好的安全性盒不易于分析,它提供了更好的安全性所以所以S-盒是算法的關鍵所在盒是算法的關鍵所在S-盒的構造準則盒的構造準則S盒的每一行是整數(shù)盒的每一行是整數(shù)0,15的一個置換的一個置換沒有一個沒有一個S盒是它輸入變量的線性函數(shù)盒是它輸入變量的線性函數(shù)改變改變S盒的一個輸入位至少要引起兩位的輸出改變盒的一個輸入位至少要引起兩位的輸出改變對任何

8、一個對任何一個S盒和任何一個輸入盒和任何一個輸入X,S(X)和)和 S(X 001100)至少有兩個比特不同(這里)至少有兩個比特不同(這里X是長度為是長度為6的比特串)的比特串)對任何一個對任何一個S盒,對任何一個輸入對盒,對任何一個輸入對e,f屬于屬于0,1,S(X) S(X 11ef00) 對任何一個對任何一個S盒,如果固定一個輸入比特,來看一個固定輸出比特的值,盒,如果固定一個輸入比特,來看一個固定輸出比特的值,這個輸出比特為這個輸出比特為0的輸入數(shù)目將接近于這個輸出比特為的輸入數(shù)目將接近于這個輸出比特為1的輸入數(shù)目的輸入數(shù)目S-盒的構造要求盒的構造要求S-盒是許多密碼算法的唯一非線性

9、部件盒是許多密碼算法的唯一非線性部件,因此因此,它的密碼強度它的密碼強度決定了整個算法的安全強度決定了整個算法的安全強度提供了密碼算法所必須的混亂作用提供了密碼算法所必須的混亂作用如何全面準確地度量如何全面準確地度量S-盒的密碼強度和設計有效的盒的密碼強度和設計有效的S-盒是分盒是分組密碼設計和分析中的難題組密碼設計和分析中的難題非線性度、差分均勻性、嚴格雪崩準則、可逆性、沒有陷門非線性度、差分均勻性、嚴格雪崩準則、可逆性、沒有陷門置換置換p-盒的構造盒的構造p-盒的構造準則盒的構造準則P置換的目的是提供雪崩效應置換的目的是提供雪崩效應明文或密鑰的一點小的變動都引起密文的較大變化明文或密鑰的一

10、點小的變動都引起密文的較大變化 k1 ( 56 位 ) (48 位 ) ki ( 56 位 ) ( 48 位 ) 64 位 密 鑰置 換 選 擇 1 C0( 28 位 ) D0( 28 位 ) 循 環(huán) 左 移循 環(huán) 左 移 C1( 28 位 ) D1( 28 位 ) 循 環(huán) 左 移循 環(huán) 左 移 Ci( 28 位 ) Di( 28 位 )置 換 選 擇 2置 換 選 擇 2密 鑰 表 的 計 算 邏 輯循 環(huán) 左 移 :1 1 9 12 1 10 23 2 11 24 2 12 25 2 13 26 2 14 27 2 15 28 2 16 1DES中的子密鑰的生成中的子密鑰的生成密鑰置換算法

11、的構造準則密鑰置換算法的構造準則設計目標:子密鑰的統(tǒng)計獨立性和靈活性設計目標:子密鑰的統(tǒng)計獨立性和靈活性實現(xiàn)簡單實現(xiàn)簡單速度速度不存在簡單關系:不存在簡單關系:( 給定兩個有某種關系的種子密鑰給定兩個有某種關系的種子密鑰,能預測它們輪子密鑰能預測它們輪子密鑰之間的關系之間的關系)種子密鑰的所有比特對每個子密鑰比特的影響大致相同種子密鑰的所有比特對每個子密鑰比特的影響大致相同從一些子密鑰比特獲得其他的子密鑰比特在計算上是難的從一些子密鑰比特獲得其他的子密鑰比特在計算上是難的沒有弱密鑰沒有弱密鑰Li-1(32比特)比特)Ri-1(32比特)比特)Li(32比特)比特)48比特寄存器比特寄存器選擇擴

12、展運算選擇擴展運算E48比特寄存器比特寄存器子密鑰子密鑰Ki(48比特)比特)32比特寄存器比特寄存器選擇壓縮運算選擇壓縮運算S置換運算置換運算PRi(32比特)比特)Li=Ri-1DES的的一輪迭代一輪迭代DES加密算法的一般描述加密算法的一般描述DES的工作模式的工作模式電子密碼本電子密碼本 ECB (electronic codebook mode)ECB (electronic codebook mode)密碼分組鏈接密碼分組鏈接 CBC (cipher block chaining)CBC (cipher block chaining)密碼反饋密碼反饋 CFB (cipher fee

13、dback)CFB (cipher feedback)輸出反饋輸出反饋 OFB (output feedback)OFB (output feedback)iKiiKiC = E (P) P = D (C) 電子密碼本電子密碼本ECBECB的特點的特點簡單和有效簡單和有效可以并行實現(xiàn)可以并行實現(xiàn)不能隱藏明文的模式信息不能隱藏明文的模式信息 相同明文相同明文生成生成相同密文,相同密文,同樣信息多次出現(xiàn)造成泄漏同樣信息多次出現(xiàn)造成泄漏對明文的主動攻擊是可能的對明文的主動攻擊是可能的 信息塊可被替換、重排、刪除、重放信息塊可被替換、重排、刪除、重放誤差傳遞:密文塊損壞誤差傳遞:密文塊損壞僅僅對應明文

14、塊損壞對應明文塊損壞適合于傳輸短信息適合于傳輸短信息密碼分組鏈接密碼分組鏈接CBCiKii-1iKii-1C = E (PC ) P = D (C ) CCBC的特點的特點沒有已知的并行實現(xiàn)算法沒有已知的并行實現(xiàn)算法能隱藏明文的模式信息能隱藏明文的模式信息 需要共同的初始化向量需要共同的初始化向量IVIV 相同明文相同明文生成生成不同密文不同密文 初始化向量初始化向量IVIV可以用來改變第一塊可以用來改變第一塊對明文的主動攻擊是不容易的對明文的主動攻擊是不容易的 信息塊不容易被替換、重排、刪除、重放信息塊不容易被替換、重排、刪除、重放 誤差傳遞:密文塊損壞誤差傳遞:密文塊損壞兩兩明文明文塊塊損

15、壞損壞安全性好于安全性好于ECBECB適合于傳輸長度大于適合于傳輸長度大于6464位的報文,還可以進行用戶鑒別位的報文,還可以進行用戶鑒別, ,是大多系統(tǒng)的標準如是大多系統(tǒng)的標準如 SSLSSL、IPSecIPSec密碼反饋密碼反饋CFB CFB:CFB:分組密碼分組密碼流密碼流密碼假定:假定:Si Si 為移位寄存器為移位寄存器, ,傳輸單位為傳輸單位為jbitbit 加密加密: : C Ci i =P =Pi i ( (E EK K(S(Si i) )的高的高j j位位) ) S Si+1i+1=(S=(Si ij)|Cj)|Ci i 解密解密: P: Pi i=C=Ci i ( (E E

16、K K(S(Si i) )的高的高j j位位) ) S Si+1i+1=(S=(Si ij)|Cj)|Ci i密碼反饋密碼反饋CFB加密加密Ci =Pi (EK(Si)的高的高j位位) ; Si+1=(Sij)|Ci 密碼反饋密碼反饋CFB解密解密Pi=Ci (EK(Si)的高的高j位位); Si+1=(Sij)|Ci CFB的特點的特點分組密碼分組密碼流密碼流密碼沒有已知的并行實現(xiàn)算法沒有已知的并行實現(xiàn)算法隱藏了明文模式隱藏了明文模式需要共同的移位寄存器初始值需要共同的移位寄存器初始值IVIV對于不同的消息,對于不同的消息,IVIV必須唯一必須唯一誤差傳遞:一個單元損壞影響多個單元誤差傳遞:

17、一個單元損壞影響多個單元輸出反饋輸出反饋OFB O OFB:FB:分組密碼分組密碼流密碼流密碼假定:假定:Si Si 為移位寄存器為移位寄存器, ,傳輸單位為傳輸單位為jbitbit 加密加密: : C Ci i =P =Pi i ( (E EK K(S(Si i) )的高的高j j位位) ) S Si+1i+1=(S=(Si ij)|j)|( (E EK K(S(Si i) )的高的高j j位位) ) 解密解密: P: Pi i=C=Ci i ( (E EK K(S(Si i) )的高的高j j位位) ) S Si+1i+1=(S=(Si ij)|j)|( (E EK K(S(Si i) )

18、的高的高j j位位) )輸出反饋輸出反饋OFB加密加密Ci =Pi (EK(Si)的高的高j位位);Si+1=(Sij)|(EK(Si)的高的高j位位)輸出反饋輸出反饋OFB解密解密Pi=Ci (EK(Si)的高的高j位位); Si+1=(Sij)|(EK(Si)的高的高j位位)0FB的特點的特點分組密碼分組密碼流密碼流密碼沒有已知的并行實現(xiàn)算法沒有已知的并行實現(xiàn)算法隱藏了明文模式隱藏了明文模式需要共同的移位寄存器初始值需要共同的移位寄存器初始值IVIV對于不同的消息,對于不同的消息,IVIV必須唯一必須唯一誤差傳遞:一個單元損壞只影響對應單元誤差傳遞:一個單元損壞只影響對應單元對明文的主動攻

19、擊是可能的對明文的主動攻擊是可能的 信息塊可被替換、重排、刪除、重放信息塊可被替換、重排、刪除、重放安全性較安全性較CFBCFB差差多重多重DES兩重兩重DES三重三重DESDES的安全性的安全性 F F函數(shù)函數(shù)( (S-Box)S-Box)設計原理未知設計原理未知 密鑰長度的爭論密鑰長度的爭論 DESDES的的破譯破譯 弱密鑰與半弱密鑰弱密鑰與半弱密鑰DES密鑰長度密鑰長度關于關于DES算法的另一個最有爭議的問題就是擔心實際算法的另一個最有爭議的問題就是擔心實際56比特的密鑰長度不足以抵御窮舉式攻擊,因為密鑰量只比特的密鑰長度不足以抵御窮舉式攻擊,因為密鑰量只有有 個個 早在早在1977年,

20、年,Diffie和和Hellman已建議制造一個每秒能測已建議制造一個每秒能測試試100100萬個密鑰的萬個密鑰的VLSI芯片。每秒測試芯片。每秒測試100100萬個密鑰的萬個密鑰的機器大約需要一天就可以搜索整個密鑰空間。他們估計機器大約需要一天就可以搜索整個密鑰空間。他們估計制造這樣的機器大約需要制造這樣的機器大約需要2000萬萬美元美元1756102DES密鑰長度密鑰長度在在CRYPTO93上,上,Session和和Wiener給出了一個非常詳細給出了一個非常詳細的密鑰搜索機器的設計方案,這個機器基于并行運算的密的密鑰搜索機器的設計方案,這個機器基于并行運算的密鑰搜索芯片,所以鑰搜索芯片,

21、所以16次加密能同時完成?;ㄙM次加密能同時完成?;ㄙM10萬萬美元,美元,平均用天左右就可找到平均用天左右就可找到DES密鑰密鑰美國克羅拉多洲的程序員美國克羅拉多洲的程序員Verser從從1997年年2 2月月18日起,用了日起,用了96天時間,在天時間,在Internet上數(shù)萬名志愿者的協(xié)同工作下,成上數(shù)萬名志愿者的協(xié)同工作下,成功地找到了功地找到了DES的密鑰,贏得了懸賞的的密鑰,贏得了懸賞的1萬美元萬美元DES密鑰長度密鑰長度19981998年年7 7月電子前沿基金會(月電子前沿基金會(EFFEFF)使用一臺)使用一臺2525萬美圓的電萬美圓的電腦在腦在5656小時內破譯了小時內破譯了56

22、56比特密鑰的比特密鑰的DESDES19991999年年1 1月月RSARSA數(shù)據(jù)安全會議期間,電子前沿基金會用數(shù)據(jù)安全會議期間,電子前沿基金會用2222小小時時1515分鐘就宣告破解了一個分鐘就宣告破解了一個DESDES的密鑰的密鑰破譯破譯DES19901990年,以色列密碼學家年,以色列密碼學家Eli BihamEli Biham和和Adi ShamirAdi Shamir提出了提出了差分密碼分析法,可對差分密碼分析法,可對DESDES進行選擇明文攻擊進行選擇明文攻擊線性密碼分析比差分密碼分析更有效線性密碼分析比差分密碼分析更有效 弱密鑰與半弱密鑰弱密鑰與半弱密鑰弱密鑰弱密鑰: : E E

23、K K E EK K = I = I ,DESDES存在存在4 4個弱密鑰個弱密鑰 即:即:半弱密鑰半弱密鑰: : E EK1K1 = E = EK2K2 ,至少有,至少有1212個半弱密鑰個半弱密鑰 即:即:( )kkpE E P12( )( )kkC E PE P其它常規(guī)分組加密算法其它常規(guī)分組加密算法Triple DES IDEA RC5 RC6 AES其他一些較實用的算法,如其他一些較實用的算法,如Blowfish,CAST,以及,以及RC2等等使用常規(guī)加密進行保密通信使用常規(guī)加密進行保密通信易受攻擊的位置易受攻擊的位置 公司公司市話局市話局接線盒接線盒鏈路加密和端到端加鏈路加密和端到

24、端加密密存儲轉發(fā)通信的加密覆蓋范圍存儲轉發(fā)通信的加密覆蓋范圍各種加密策略包含的內容各種加密策略包含的內容鏈路層加密鏈路層加密對于在兩個網(wǎng)絡節(jié)點間的某一次通信鏈路對于在兩個網(wǎng)絡節(jié)點間的某一次通信鏈路, ,鏈路加密能鏈路加密能為網(wǎng)上傳輸?shù)臄?shù)據(jù)提供安全保證為網(wǎng)上傳輸?shù)臄?shù)據(jù)提供安全保證所有消息在被傳輸之前進行加密所有消息在被傳輸之前進行加密, ,在每一個節(jié)點對接收在每一個節(jié)點對接收到的消息進行解密到的消息進行解密, ,然后先使用下一個鏈路的密鑰對消然后先使用下一個鏈路的密鑰對消息進行加密息進行加密, ,再進行傳輸再進行傳輸鏈路層加密的優(yōu)點鏈路層加密的優(yōu)點由于在每一個中間傳輸節(jié)點消息均被解密后重新進行由

25、于在每一個中間傳輸節(jié)點消息均被解密后重新進行加密加密, ,因此因此, ,包括路由信息在內的鏈路上的所有數(shù)據(jù)均包括路由信息在內的鏈路上的所有數(shù)據(jù)均以密文形式出現(xiàn)。這樣以密文形式出現(xiàn)。這樣, ,鏈路加密就掩蓋了被傳輸消息鏈路加密就掩蓋了被傳輸消息的源點與終點的源點與終點由于填充技術的使用以及填充字符在不需要傳輸數(shù)據(jù)由于填充技術的使用以及填充字符在不需要傳輸數(shù)據(jù)的情況下就可以進行加密的情況下就可以進行加密, ,這使得消息的頻率和長度特這使得消息的頻率和長度特性得以掩蓋性得以掩蓋, ,從而可以防止對通信業(yè)務進行分析從而可以防止對通信業(yè)務進行分析鏈路層加密的缺點鏈路層加密的缺點鏈路加密通常用在點對點的同

26、步或異步線路上鏈路加密通常用在點對點的同步或異步線路上, ,它要求先對在鏈路兩端它要求先對在鏈路兩端的加密設備進行同步的加密設備進行同步, ,然后使用一種鏈模式對鏈路上傳輸?shù)臄?shù)據(jù)進行加然后使用一種鏈模式對鏈路上傳輸?shù)臄?shù)據(jù)進行加密。這就給網(wǎng)絡的性能和可管理性帶來了副作用密。這就給網(wǎng)絡的性能和可管理性帶來了副作用在一個網(wǎng)絡節(jié)點在一個網(wǎng)絡節(jié)點, ,鏈路加密僅在通信鏈路上提供安全性鏈路加密僅在通信鏈路上提供安全性, ,消息以明文形式消息以明文形式存在存在, ,因此所有節(jié)點在物理上必須是安全的因此所有節(jié)點在物理上必須是安全的, ,否則就會泄漏明文內容否則就會泄漏明文內容在傳統(tǒng)的加密算法中在傳統(tǒng)的加密算法

27、中, ,用于解密消息的密鑰與用于加密的密鑰是相同的用于解密消息的密鑰與用于加密的密鑰是相同的, ,該密鑰必須被秘密保存該密鑰必須被秘密保存, ,并按一定規(guī)則進行變化。這樣并按一定規(guī)則進行變化。這樣, ,密鑰分配在鏈路密鑰分配在鏈路加密系統(tǒng)中就成了一個問題加密系統(tǒng)中就成了一個問題, ,因為每一個節(jié)點必須存儲與其相連接的所因為每一個節(jié)點必須存儲與其相連接的所有鏈路的加密密鑰有鏈路的加密密鑰, ,這就需要對密鑰進行物理傳送或者建立專用網(wǎng)絡設這就需要對密鑰進行物理傳送或者建立專用網(wǎng)絡設施。而網(wǎng)絡節(jié)點地理分布的廣闊性使得這一過程變得復雜施。而網(wǎng)絡節(jié)點地理分布的廣闊性使得這一過程變得復雜, ,同時增加了同

28、時增加了密鑰連續(xù)分配時的費用密鑰連續(xù)分配時的費用節(jié)點加密節(jié)點加密節(jié)點在操作方式上與鏈路加密是類似的節(jié)點在操作方式上與鏈路加密是類似的: :兩者均在通信鏈路上為兩者均在通信鏈路上為傳輸?shù)南⑻峁┌踩詡鬏數(shù)南⑻峁┌踩? ;都在中間節(jié)點先對消息進行解密都在中間節(jié)點先對消息進行解密, ,然后然后進行加密。因為要對所有傳輸?shù)臄?shù)據(jù)進行加密進行加密。因為要對所有傳輸?shù)臄?shù)據(jù)進行加密, ,所以加密過程對所以加密過程對用戶是透明的用戶是透明的然而然而, ,與鏈路加密不同與鏈路加密不同, ,節(jié)點加密不允許消息在網(wǎng)絡節(jié)點以明文節(jié)點加密不允許消息在網(wǎng)絡節(jié)點以明文形式存在形式存在, ,它先把收到的消息進行解密它先把

29、收到的消息進行解密, ,然后采用另一個不同的然后采用另一個不同的密鑰進行加密密鑰進行加密, ,這一過程是在節(jié)點上的一個安全模塊中進行這一過程是在節(jié)點上的一個安全模塊中進行節(jié)點加密要求報頭和路由信息以明文形式傳輸節(jié)點加密要求報頭和路由信息以明文形式傳輸, ,以便中間節(jié)點能以便中間節(jié)點能得到如何處理消息的信息。因此這種方法對于防止攻擊者分析得到如何處理消息的信息。因此這種方法對于防止攻擊者分析通信業(yè)務是脆弱的通信業(yè)務是脆弱的端到端加密端到端加密端到端加密允許數(shù)據(jù)在從源點到終點的傳輸過程中端到端加密允許數(shù)據(jù)在從源點到終點的傳輸過程中始終以密文形式存在始終以密文形式存在采用端到端加密采用端到端加密(

30、(又稱脫線加密或包加密又稱脫線加密或包加密),),消息在消息在被傳輸時到達終點之前不進行解密被傳輸時到達終點之前不進行解密, ,因為消息在整因為消息在整個傳輸過程中均受到保護個傳輸過程中均受到保護, ,所以即使有節(jié)點被損壞所以即使有節(jié)點被損壞也不會使消息泄露也不會使消息泄露端到端加密的優(yōu)點端到端加密的優(yōu)點端到端加密系統(tǒng)的價格便宜些端到端加密系統(tǒng)的價格便宜些, ,與鏈路加密和節(jié)點加密相與鏈路加密和節(jié)點加密相比更可靠比更可靠, ,更容易設計、實現(xiàn)和維護更容易設計、實現(xiàn)和維護端到端加密避免了其它加密系統(tǒng)所固有的同步問題端到端加密避免了其它加密系統(tǒng)所固有的同步問題, ,因為因為每個報文包均是獨立被加密

31、的每個報文包均是獨立被加密的, ,所以一個報文包所發(fā)生的所以一個報文包所發(fā)生的傳輸錯誤不會影響后續(xù)的報文包傳輸錯誤不會影響后續(xù)的報文包從用戶對安全需求的直覺上講從用戶對安全需求的直覺上講, ,端到端加密更自然些。單端到端加密更自然些。單個用戶可能會選用這種加密方法個用戶可能會選用這種加密方法, ,以便不影響網(wǎng)絡上的其以便不影響網(wǎng)絡上的其他用戶他用戶, ,此方法只需要源和目的節(jié)點是保密的即可此方法只需要源和目的節(jié)點是保密的即可端到端加密的缺點端到端加密的缺點通常不允許對消息的目的地址進行加密通常不允許對消息的目的地址進行加密, ,這是因為每一個這是因為每一個消息所經(jīng)過的節(jié)點都要用此地址來確定如何

32、傳輸消息消息所經(jīng)過的節(jié)點都要用此地址來確定如何傳輸消息由于這種加密方法不能掩蓋被傳輸消息的源點與終點由于這種加密方法不能掩蓋被傳輸消息的源點與終點, ,因因此它對于防止攻擊者分析通信業(yè)務是脆弱的此它對于防止攻擊者分析通信業(yè)務是脆弱的目目 錄錄數(shù)據(jù)加密標準數(shù)據(jù)加密標準1.公開密鑰算法公開密鑰算法公開密鑰算法公開密鑰算法 公開密鑰算法是非對稱算法,即密鑰分為公鑰和私鑰,公開密鑰算法是非對稱算法,即密鑰分為公鑰和私鑰,因此稱雙密鑰體制因此稱雙密鑰體制 雙鑰體制的公鑰可以公開,因此也稱公鑰算法雙鑰體制的公鑰可以公開,因此也稱公鑰算法 公鑰算法的出現(xiàn),給密碼的發(fā)展開辟了新的方向。公鑰公鑰算法的出現(xiàn),給密

33、碼的發(fā)展開辟了新的方向。公鑰算法雖然已經(jīng)歷了算法雖然已經(jīng)歷了2020多年的發(fā)展,但仍具有強勁的發(fā)展勢多年的發(fā)展,但仍具有強勁的發(fā)展勢頭,在鑒別系統(tǒng)和密鑰交換等安全技術領域起著關鍵的作頭,在鑒別系統(tǒng)和密鑰交換等安全技術領域起著關鍵的作用用公開密鑰算法的提出公開密鑰算法的提出公鑰密碼學是公鑰密碼學是1976年由年由Diffie和和Hellman在其在其“密碼學新方密碼學新方向向”一文中提出的,見文獻:一文中提出的,見文獻: W.Diffie and M.E.Hellman, New Directrions in Cryptography, IEEE Transaction on Informati

34、on Theory, 公開密鑰算法的提出公開密鑰算法的提出RSA公鑰算法是由公鑰算法是由Rivest,Shamir和和Adleman在在1978年提出年提出來的來的參見參見該算法的數(shù)學基礎是初等數(shù)論中的該算法的數(shù)學基礎是初等數(shù)論中的Euler(歐拉(歐拉)定理,并定理,并建立在大整數(shù)因子的困難性之上建立在大整數(shù)因子的困難性之上加密與解密由不同的密鑰完成加密與解密由不同的密鑰完成 加密:加密: 解密:解密:知道加密算法,從加密密鑰得到解密密鑰在計算上是不可知道加密算法,從加密密鑰得到解密密鑰在計算上是不可行的行的兩個密鑰中任何一個都可以作為加密而另一個用作解密兩個密鑰中任何一個都可以作為加密而另

35、一個用作解密(不是必須的)(不是必須的)公開密鑰算法的基本要求公開密鑰算法的基本要求:( )KUXY YEX:( )( )KRKRKUYX XDYDEX基于公開密鑰的加密過程基于公開密鑰的加密過程用公鑰密碼實現(xiàn)保密用公鑰密碼實現(xiàn)保密 用戶擁有自己的密鑰對用戶擁有自己的密鑰對(KU,KR) 公鑰公鑰 KU公開,私鑰公開,私鑰KR保密保密 :( )bKUAB YEX:( )( )bbbKRKRKUB DYDEXX基于公開密鑰的鑒別過程基于公開密鑰的鑒別過程用公鑰密碼實現(xiàn)鑒別用公鑰密碼實現(xiàn)鑒別 條件:兩個密鑰中任何一個都可以用作加密而另外一個條件:兩個密鑰中任何一個都可以用作加密而另外一個用作解密用

36、作解密鑒別:鑒別: 鑒別保密鑒別保密 :():( )()aabaKRKUKUKRAALL YEXALL DYDEXX:():( )baabKUKRKUKRAB ZEDXB EDZX公開密鑰算法公開密鑰算法公鑰算法的種類很多,具有代表性的三種密碼:公鑰算法的種類很多,具有代表性的三種密碼: 基于整數(shù)分解難題(基于整數(shù)分解難題(IFPIFP)的算法體制)的算法體制 基于離散對數(shù)難題(基于離散對數(shù)難題(DLPDLP)算法體制)算法體制基于橢圓曲線離散對數(shù)難題(基于橢圓曲線離散對數(shù)難題(ECDLPECDLP)的算法體制)的算法體制Diffie-Hellman密鑰交換算法密鑰交換算法單向陷門函數(shù)函數(shù)單向

37、陷門函數(shù)函數(shù) 滿足下列條件的函數(shù)滿足下列條件的函數(shù)f f: (1) 給定給定x,計算,計算y=f(x)是容易的是容易的 (2) 給定給定y, 計算計算x使使y=f(x)是困難的是困難的 (3) 存在存在z,已知,已知z 時時, 對給定的任何對給定的任何y,若相應的,若相應的x存存 在,則計算在,則計算x使使y=f(x)是容易的是容易的所謂計算所謂計算x= x= f-1(Y)(Y)困難是指計算上相當復雜,已無實際意困難是指計算上相當復雜,已無實際意義義單向陷門函數(shù)說明單向陷門函數(shù)說明僅滿足僅滿足(1)、(2)兩條的稱為單向函數(shù);第兩條的稱為單向函數(shù);第(3)條稱為陷門性,條稱為陷門性,z 稱為陷

38、門信息稱為陷門信息當用陷門函數(shù)當用陷門函數(shù)f作為加密函數(shù)時,可將作為加密函數(shù)時,可將f公開,這相當于公公開,這相當于公開加密密鑰,此時加密密鑰便稱為公開鑰,記為開加密密鑰,此時加密密鑰便稱為公開鑰,記為Pkf函數(shù)的設計者將函數(shù)的設計者將z保密,用作解密密鑰,此時保密,用作解密密鑰,此時z稱為秘密鑰稱為秘密鑰匙,記為匙,記為Sk。由于設計者擁有。由于設計者擁有Sk,他自然可以解出,他自然可以解出x=f-1(y)單向陷門函數(shù)的第單向陷門函數(shù)的第(2)條性質表明竊聽者由截獲的密文條性質表明竊聽者由截獲的密文y=f(x)推測推測x是不可行的是不可行的Diffie-Hellman密鑰交換算法密鑰交換算法

39、Diffie和和Hellman在其里程碑意義的文章中,雖然給出了密在其里程碑意義的文章中,雖然給出了密碼的思想,但是沒有給出真正意義上的公鑰密碼實例,也碼的思想,但是沒有給出真正意義上的公鑰密碼實例,也既沒能找出一個真正帶陷門的單向函數(shù)既沒能找出一個真正帶陷門的單向函數(shù)然而,他們給出單向函數(shù)的實例,并且基于此提出然而,他們給出單向函數(shù)的實例,并且基于此提出Diffie-Hellman密鑰交換算法密鑰交換算法Diffie-Hellman密鑰交換算法的原理密鑰交換算法的原理基于有限域中計算離散對數(shù)的困難性問題之上:設基于有限域中計算離散對數(shù)的困難性問題之上:設F為有為有限域,限域,gF是是F的乘法

40、群的乘法群 F*=F0=,并且對任意正整,并且對任意正整數(shù)數(shù)x,計算,計算gx是容易的;但是已知是容易的;但是已知g和和y求求x使使y= gx,是計算,是計算上幾乎不可能的上幾乎不可能的這個問題稱為有限域這個問題稱為有限域F上的離散對數(shù)問題。公鑰密碼學中上的離散對數(shù)問題。公鑰密碼學中使用最廣泛的有限域為素域使用最廣泛的有限域為素域FPDiffie-Hellman密鑰交換協(xié)議描述密鑰交換協(xié)議描述Alice和和Bob協(xié)商好一個大素數(shù)協(xié)商好一個大素數(shù)p,和大的整數(shù),和大的整數(shù)g,1gp,g最好是最好是FP中的本原元,即中的本原元,即FP*p和和g無須保密,可為網(wǎng)絡上的所有用戶共享無須保密,可為網(wǎng)絡上

41、的所有用戶共享Diffie-Hellman密鑰交換協(xié)議描述密鑰交換協(xié)議描述當當Alice和和Bob要進行保密通信時,他們可以按如下步驟來做:要進行保密通信時,他們可以按如下步驟來做: (1) Alice選取大的隨機數(shù)選取大的隨機數(shù)x,并計算,并計算 X = gx(mod P) (2) Bob選取大的隨機數(shù)選取大的隨機數(shù)x ,并計算,并計算 X = gx (mod P) (3) Alice將將X傳送給傳送給Bob;Bob將將X 傳送給傳送給Alice (4) Alice計算計算K= (X )X(mod P); Bob計算計算K =(X) X (mod P), 易見,易見,K = K =g xx

42、(mod P)由由(4)知,知,Alice和和Bob已獲得了相同的秘密值已獲得了相同的秘密值K雙方以雙方以K作為加解密鑰以傳統(tǒng)對稱密鑰算法進行保密通信作為加解密鑰以傳統(tǒng)對稱密鑰算法進行保密通信RSA 算法算法Euler 函數(shù)函數(shù) 所有模所有模m和和r同余的整數(shù)組成剩余類同余的整數(shù)組成剩余類r 剩余類剩余類r中的每一個數(shù)和中的每一個數(shù)和m互素的充要條件是互素的充要條件是r和和m互素互素 和和m互素的同余類數(shù)目用互素的同余類數(shù)目用(m)表示,稱表示,稱m的的Euler函數(shù)函數(shù) 當當m是素數(shù)時,小于是素數(shù)時,小于m的所有整數(shù)均與的所有整數(shù)均與m互素,因此互素,因此(m)=m-1對對n=pq, p和和q 是素數(shù),是素數(shù),(n)=(p)(q)=(p-1)(q-1)Euler 函數(shù)函數(shù)舉例舉例 設設p=3, q=5, 那么那么 (15)=(3-1)* *(5-1)=8 這這8個模個模15的剩余類是的剩余類是: 1,2,4,7,8,11,13,14 RSA算法的實現(xiàn)算法的實現(xiàn) 實現(xiàn)的步驟如下:實現(xiàn)的步驟如下:Bob為實現(xiàn)者為實現(xiàn)者 (1) Bob尋找出兩個大素數(shù)尋找出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論