【正文】
換密碼 (transposition cipher)則是按照某一規(guī)則重新排列消息中的比特或字符順序。因為密鑰中沒有 A 和 B,因此 C 為第 1。于是得出密鑰字母的相對先后順序為 145326。 密鑰 順序 明文 根據(jù)英文字母在 26 個字母中的先后順序,我們可以得出密鑰中的每一個字母的相對先后順序。同理, E 為第 2, H 為第 3,…… ,R 為第 6。 課件制作人:謝希仁 CIPHER 145326 attack begins atfour 置換密碼 ? 置換密碼 (transposition cipher)則是按照某一規(guī)則重新排列消息中的比特或字符順序。因為密鑰中沒有 A 和 B,因此 C 為第 1。于是得出密鑰字母的相對先后順序為 145326。 按照模 2 進行運算,得出: y E (x ) x ki ki i i i? ? ?(91) 課件制作人:謝希仁 序列密碼體制 密鑰序列產(chǎn)生器 種子 I0 發(fā)端 ki 密鑰序列產(chǎn)生器 種子 I0 收端 ki ? 密文序列 明文序列 明文序列 xi xi yi yi ? 在收端,對 yi 的解密算法為: (92) D (y ) y k (x k ) k xki i i i i i i i? ? ? ? ? ?序列密碼又稱為密鑰流密碼。 ? 如果密鑰是真正的隨機數(shù),則這種體制就是理論上不可破的。 ? 嚴格的一次一密亂碼本體制所需的密鑰量不存在上限,很難實用化。目前常使用 偽隨機序列 作為密鑰序列。 課件制作人:謝希仁 分組密碼 ? 它將明文劃分成固定的 n 比特的數(shù)據(jù)組 , 然后以組為單位 , 在密鑰的控制下進行一系列的線性或非線性的變化而得到密文 。 ? 分組密碼一次變換一組數(shù)據(jù) 。 ? 分組密碼的一個重要優(yōu)點是不需要同步 課件制作人:謝希仁 分組密碼體制 輸入 輸出 加密 算法 密鑰 明文 輸入 輸出 解密 算法 密鑰 明文 n bit n bit n bit n bit 密文 密文 課件制作人:謝希仁 數(shù)據(jù)加密標準 DES ? 數(shù)據(jù)加密標準 DES 屬于常規(guī)密鑰密碼體制,是一種分組密碼。每一個組長為 64 bit。 ? 最后將各組密文串接起來,即得出整個的密文。 DES 加密標準 L0 R0 L1 = R0 IP L2 = R1 L15 = R14 R1 = L0? f (R0, K1) R2 = L1? f (R1, K2) R15 = L14? f (R14, K15) L16 = R15 R16 = L15? f (R15, K16) IP?1 f ? ? ? f f 輸出 密文 Y (64 bit) 明文 X (64 bit) 輸入 K16 (48 bit) K2 (48 bit) K1 (48 bit) X0 的左半邊 (32 bit) X0 (64 bit) X0 的右半邊 (32 bit) R16L16 (64 bit) 課件制作人:謝希仁 DES 的明顯缺點 ? DES 實際上就是一種單字符替代 , 而這種字符的長度是 64 bit。 這對 DES 的安全性來說是不利的 。 課件制作人:謝希仁 加密分組的鏈接 ? X0 Y0 ? X1 Y1 ? X2 Y2 ? X3 Y3 ? X0 Y0 ? X1 Y1 ? X2 Y2 ? X3 Y3 … … 初始 向量 初始 向量 密鑰 密鑰 明文 明文 密文 密文 加密 解密 E E E E D D D D 課件制作人:謝希仁 DES 的保密性 ? DES 的保密性僅取決于對密鑰的保密,而算法是公開的。 ? DES 是世界上第一個公認的實用密碼算法標準,它曾對密碼學(xué)的發(fā)展做出了重大貢獻。 ? 現(xiàn)在已經(jīng)設(shè)計出來搜索 DES 密鑰的專用芯片。下圖中的方框 E 和 D 分別表示執(zhí)行加密和解密算法。 E D E K1 K2 K1 明文 密文 D E D K1 K2 K1 密文 明文 加密 解密 課件制作人:謝希仁 公開密鑰密碼體制 公開密鑰密碼體制的特點 ? 公開密鑰密碼體制使用 不同的加密密鑰與解密密鑰 ,是一種“由已知加密密鑰推導(dǎo)出解密密鑰在計算上是不可行的”密碼體制。 ? 現(xiàn)有三種公開密鑰密碼體制,其中最著名的是RSA 體制,它基于數(shù)論中大數(shù)分解問題的體制,由美國三位科學(xué)家 Rivest, Shamir 和 Adleman 于 1976 年提出并在 1978 年正式發(fā)表的。 ? 加密算法 E 和解密算法 D 也都是公開的。 課件制作人:謝希仁 應(yīng)當(dāng)注意 ? 任何加密方法的安全性取決于密鑰的長度,以及攻破密文所需的計算量。 ? 由于目前公開密鑰加密算法的開銷較大,在可見的將來還看不出來要放棄傳統(tǒng)的加密方法。 課件制作人:謝希仁 公開密鑰算法的特點 (1) 發(fā)送者用加密密鑰 PK 對明文 X 加密后 , 在接收者用解密密鑰 SK 解密 , 即可恢復(fù)出明文 , 或?qū)憺椋? DSK(EPK(X)) ? X (95) ? 解密密鑰是接收者專用的秘密密鑰 , 對其他人都保密 。 (4) 從已知的 PK 實際上不可能推導(dǎo)出 SK,即從 PK 到 SK 是“計算上不可能的”。 課件制作人:謝希仁 公開密鑰密碼體制 接收者 發(fā)送者 E 加密算法 D 解密算法 加密密鑰 PK 解密密鑰 SK 明文 X 密文 Y = EPK(X) 密鑰對 產(chǎn)生源 明文 X = DSK(EPK(X)) 課件制作人:謝希仁 RSA 公開密鑰密碼體制 ? RSA 公開密鑰密碼體制所根據(jù)的原理是:根據(jù)數(shù)論,尋求兩個大素數(shù)比較簡單,而將它們的乘積分解開則極其困難。 ? 用戶把加密密鑰公開,使得系統(tǒng)中任何其他用戶都可使用,而對解密密鑰中的 d 則保密。當(dāng)敵手已知 e 和 n 時并不能求出 d。用戶秘密地選擇兩個大素數(shù) p 和 q,計算出 n ? pq。明文必須能夠用小于 n 的數(shù)來表示。 ② 計算 ?(n)。 ③ 選擇 e。 課件制作人:謝希仁 (2) 密鑰的產(chǎn)生(續(xù)) ④ 計算 d。 ⑤ 得出所需要的公開密鑰和秘密密鑰: 公開密鑰(即加密密鑰) PK ? {e, n} 秘密密鑰(即解密密鑰) SK ? {d, n} 課件制作人:謝希仁 (3) 正確性的例子說明 設(shè)選擇了兩個素數(shù), p ? 7, q ? 17。 計算出 ?(n) ? (p ? 1)(q ? 1) ? 96。 選 e ? 5。不難得出, d ? 77, 因為 ed ? 5 ? 77 ? 385 ? 4 ? 96 ? 1 ? 1 mod 96。 (3) 正確性的例子說明(續(xù)) 對明文進行加密。 設(shè)明文 X ? 19。 再除以 119,得出商為 20807,余數(shù)為 66。 在用秘密密鑰 SK ? {77, 119}進行解密時,先計算 Yd ? 6677 ? ...? 10140。 此余數(shù)即解密后應(yīng)得出的明文 X。 ? 現(xiàn)在已有多種實現(xiàn)各種數(shù)字簽名的方法。 課件制作人:謝希仁 數(shù)字簽名的實現(xiàn) D SK PK 用公開密鑰 核實簽名 用秘密密鑰 進行簽名 X 發(fā)送者 A 接收者 B DSK(X) X E 課件制作人:謝希仁 數(shù)字簽名的實現(xiàn) ? B 用已知的 A 的公開加密密鑰得出 EPKA(DSKA(X)) ? X。這樣, B 相信報文 X 是 A 簽名發(fā)送的。第三者很容易用 PKA去證實 A 確實發(fā)送 X 給 B。這樣就證明了 B 偽造了報文。 ? 報文鑒別使得通信的接收方能夠驗證所收到的報文(發(fā)送者和報文內(nèi)容、發(fā)送時間、序列等)的真?zhèn)?。但在網(wǎng)絡(luò)的應(yīng)用中,許多報文并不需要加密。 課件制作人:謝希仁 報文摘要 MD (Message Digest) ? 發(fā)送端將報文 m 經(jīng)