Download presentation
Presentation is loading. Please wait.
1
Chapter 3 傳統對稱式金鑰加密法
2
學習目標 定義對稱式金鑰加密法的術語及概念 強調兩種不同的傳統加密法:取代加密法及換位加密法 敘述對稱加密法的破密分析之範疇
說明串流加密法及區塊加密法的概念 探討過去最常使用的加密法,例如迷團機
3
3.1 簡介 圖3.1顯示對稱式加密法的概念。 由Alice傳送給Bob的訊息叫明文;而此訊息經由通道傳送時,稱為密文。Alice以加密演算法和共享密鑰產生密文;為了使密文轉換成明文,Bob使用解密演算法以及同一組共享密鑰。
4
3.1 簡介 (續) 本節討論主題: Kerckhoff’s 原理 破密分析 傳統加密法的類型
5
圖 3.1 對稱式金鑰加密法的一般概念
6
3.1 簡介 (續) 假如 P 是明文,C 是密文,K 是金鑰 假設 Bob 產生 P1;我們證明 P1 = P
7
圖 3.2 以同一把金鑰加密或解密的對稱式金鑰加密法
8
Kerckhoff’s 原理 根據Kerckhoff’s 原理,必須假定敵人Eve知道加密/解密演算法。密鑰為此密碼被攻擊的唯一抵抗力。
9
破密分析 密碼學可說是創造密碼的技術與美學;而破密分析則為破解密碼的技術與美學。 圖 3.3 破密分析攻擊
10
圖 3.4 只知密文攻擊
11
圖 3.5 已知明文攻擊
12
圖 3.6 選擇明文攻擊
13
圖 3.7 選擇密文攻擊
14
3.2 取代加密法 取代加密法是以一個符號取代另一個符號。取代加密法可以歸類為單字母加密法或多字母加密法。 本節討論主題包括: 單字元加密法
3.2 取代加密法 取代加密法是以一個符號取代另一個符號。取代加密法可以歸類為單字母加密法或多字母加密法。 本節討論主題包括: 單字元加密法 多字母加密法
15
3.2 取代加密法 (續) 注意 取代加密法是以另外的符號代替原來的符號
16
3.2.1 單字母加密法 注意 在單字母取代法中,明文裡的符號和密文的符號通常都是一對一的。
17
範例3.1 下面顯示的是明文和其對應的密文,明文用小寫字體,密文則用大寫字體。這很可能為單字母加密法,因為兩個 l 在轉換為密碼時都變成了 0。
18
範例3.2 下面顯示明文和其對應的密文,這就不是單字母加密法,因為每個 l 轉換成密碼時都變成不同的字,第一個變成 N,第二個變成 Z。
19
加法加密法 最簡單的單字母加密法就是加法加密法。此加密法有時稱為位移加密法,亦稱為凱撒加密法,但加法加密法比較能顯示其數學意涵。
20
圖 3.8 Z26中表示明文和密文字母的數
21
圖 3.9 加法加密法
22
加法加密法 (續) 注意 若是加法加密法,其明文、密文和金鑰都是Z26中的整數。
23
範例3.3 使用加法加密法,以金鑰 = 15 加密訊息 「hello」。 解法:我們以字對字的方式應用加密演算法於明文。
24
範例3.4 使用加法加密法,以金鑰 = 15 解密訊息「WTAAD」。 解法:我們以字對字的方式應用解密演算法於明文。
25
位移加密法和凱撒加密法 加法加密法也稱為位移加密法, Julius Ceasar利用加法加密法與他的屬下聯繫,因此加法加密法有時也稱為凱撒加密法,凱撒以 3 當成金鑰。 注意 加法加密法有時候被稱為位移加密法或凱撒加密法。
26
範例3.5 Eve已截取的密文「UVACLYFZLJBYL」。證明她如何使用暴力攻擊破解加密法。
27
表3.1 英文字母出現的頻率
28
表 3.2 英文的雙字母組和三字母組的頻率
29
範例3.6 Eve攔截了以下密文,並用統計攻擊找到明文。
解法:當Eve將密文中字母出現的頻率列表顯示時,她得到:I=14,V=13,S=12等。最常出現的字母是I,頻率為14次,顯示I有可能對應明文中的字此e,並表示金鑰=4。
30
圖3.10 乘法加密法
31
乘法加密法 注意 在乘法加密法中,明文和密文都是Z26的整數;金鑰為一個Z26*的整數。
32
範例3.7 乘法加密法的金鑰範圍為何? 解法:金鑰必須在Z26*之內,此組合只有12個:1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25。
33
範例3.8 我們使用乘法加密法和金鑰 7 加密訊息「hello」,其密文為「XCZZU」。
34
圖 3.11 仿射加密法
35
仿射加密法
36
範例3.9 仿射加密法使用一對金鑰,第一把出自Z26*,第二把出自Z26。其金鑰範圍大小為26 × 12 = 312。
37
範例3.10 使用仿射加密法及金鑰對(7, 2)加密訊息「hello」。 解法
38
範例3.11 使用仿射加密法及模數 26 裡的金鑰對 (7, 2) 解密訊息「ZEBBW」。 解法
39
範例3.12 加法加密法可視為仿射加密法裡當k1 = 1時的特例,而乘法加密法為k2 = 0時的特例。
40
單字母取代加密法 由於加法、乘法和仿射加密法的金鑰範圍很小,所以很容易受到暴力攻擊。
更好的解決方法就是建立明文每個字元和其密文字元之間的對應,Alice和Bob能公開陳列每個字元的對應。
41
圖3.12 單字母取代加密法的金鑰範例
42
範例3.13 我們可以使用圖3.12的金鑰加密此訊息 其密文為
43
多字母加密法 在多字母取代加密法中,每個字元的出現都可能有不同代換。明文裡的一個字元和密文裡的一個字元之間的關係是一對多。
44
自動金鑰加密法
45
範例3.14 假設Alice和Bob同意使用初始金鑰值為k1 = 12的自動金鑰加密法。現在Alice要傳送訊息「Attack is today」的訊息給Bob,密碼會一個字元一個字元地加密而成
46
圖 3.13 Playfair加密法的密鑰範例
47
範例3.15 我們使用圖3.13中的金鑰來加密明文「hello」
48
Vigenere加密法
49
範例3.16 我們可用6個字母的關鍵字「PASCAL」加密訊息「She is listening」,初始金鑰流為(15, 0, 18, 2, 0, 11),而金鑰流為此初始金鑰串流之重複(需要幾次就重複幾次)。
50
圖 3.14 Vigenere加密法為m個加法加密法的組合
51
範例3.18 根據範例3.17,加法加密法可視為Vigenere加密法m = 1時的特例。
52
表3.3 Vigenere表
53
表3.3 Vigenere表 (續)
54
範例3.19 假設我們截取到以下密文: 以三個字母區段重複的Kasiski測試產生的結果顯示於表3.4
55
範例3.19 (續) 差之最大公因數為4,表示金鑰長度是4的倍數,先試m = 4,再將密文分成四份。 以下的明文是合理的:
56
圖3.15 Hill加密法的金鑰
57
Hill加密法 注意 Hill加密法中的金鑰方陣需有乘法反元素。
58
範例3.30 舉例來說,在明文「Code is ready」最後一個區塊裡加上假字元「z」,並移除空格,會產生一個3 × 4的矩陣。其密文為「OHKNIHGKLISS」
59
範例3.21 假設Eve知道m = 3,並且已攔截了三個明文/密文組合區塊(毋須來自於同一個訊息),如圖3.17所示。
60
範例3.21 (續) 由此組合中,她求得矩陣P和C,因為P是可逆的,並與C相乘,得到K矩陣(如圖3.18所示)。
現在她有金鑰能破解任何使用此金鑰加密的密文。
61
單次密碼本 密碼學的目標之一就是能完全保密。Shannon的研究表示,若每個明文的符號都由一個金鑰範圍隨機挑出的一把金鑰加密,就能達到完全保密。 此概念用於Vernam發明的單次密碼本。
62
圖3.19 迴轉加密法
63
圖3.20 迷團機的模式
Similar presentations