Cryptography and Network Security 4/e

密碼學與網路安全
第2章 古典加密技術
1
對稱式加密Symmetric Encryption





也稱為傳統加密、私密金鑰加密或單金
鑰加密
傳送端(加密)和接收端(解密)共用相同的
金鑰
所有古典加密演算法都是私密金鑰
是1970年代公開金鑰加密發展出來之前
的唯一加密方式
而且是最常用的加密方式
2
基本術語









明文 plaintext - 原始可理解的訊息或資料
密文 ciphertext - 是由加密演算法根據明文和秘密金鑰所
產生的輸出結果,內容是雜亂無章的訊息
密碼 cipher
加密法 encipher (encrypt) - 將明文轉換成密文的演算法
解密法 decipher (decrypt) - 將密文還原成明文的演算法
金鑰 key - 用在加密演算法的資訊,而且只有傳送端和接
收端知道
密碼學 cryptography - 研究加密原則、方法的學科
密碼解析 cryptanalysis (codebreaking) - 研究不需金鑰而
能解密的學科
密碼技術 cryptology - 研究密碼學和密碼解析的學科
3
對稱式加密模型
4
必要條件

若要安全使用傳統加密法,有兩個必要
的條件:



強固的加密演算法
只有傳送端與接收端能得知秘密金鑰
以數學公式表示:
Y = EK(X)
X = DK(Y)

我們不需要保護演算法,但我們需要保
管好金鑰
5
密碼學Cryptography

密碼學系統可以根據三種不同的觀點來描
述:

將明文轉為密文所用的運作方式



金鑰的使用數量


替代 / 置換 / 重複的替代與置換
substitution / transposition / product
單金鑰或私密金鑰/ 雙金鑰或公開金鑰
處理明文的方式

區塊加密 / 串流加密block / stream
6
密碼解析


目的是還原金鑰,而非只還原訊息
一般的方法:

密碼解析攻擊cryptanalytic attack

暴力破解法brute-force attack
7
密碼解析攻擊

僅知密文


已知明文


選取明文使用加密器獲得密文
選定密文


除密文外,尚有一或多組 明文/密文組
選定明文


只知道演算法和密文(得知道明文是exe檔、或英文…)
選取密文用解密器獲得明文
選定內文

選取明文或密文來加密或解密
8
密碼解析攻擊

絕對安全unconditional security


不論攻擊者取得多少密文,如果他無法從其中
的資訊解出相對應的明文,我們就說這個加密
機制是絕對安全。也就是說,不論攻擊者花多
少時間都不可能破解密文,因為解開密文所需
的資訊不在其中
計算安全性computational security

破解加密法所需的成本超過加密訊息本身的價
值,或者破解加密法所需的時間超過訊息的有
效壽命,加密法就視為計算安全性
9
暴力破解
嘗試所有可能的金鑰
平均來說,必須嘗試的金鑰數量,大約是可能的金鑰總數
的一半
下表列出不同的金鑰數量所需要的時間



金鑰長度
可能的金鑰總數
每微秒加密一次所需的時間
每微秒加密l06次所需的時間
(位元)
32
232 = 4.3  109
231 µs
= 35.8 秒
2.15 毫秒
56
256 = 7.2  1016
255 µs
= 1142 年
10.01 小時
128
2128 = 3.4  1038
2127 µs
= 5.4  1024 年
5.4  1018 年
168
2168 = 3.7  1050
2167 µs
= 5.9  1036 年
5.9  1030 年
26 字元(任
意排列)
26! = 4  1026
2  1026 µs = 6.4  1012 年
6.4  106 年
10
替代加密法


以其它的字元或符號來替代將明文裡的
字元
如果將明文視為連續的字元,那麼替代
就是將明文的字元樣式換成密文的字元
樣式
11
凱撒加密法Caesar Cipher




目前所知道最早且最簡單的替代加密法
羅馬的凱撒將軍(Julius Caesar)所發明
將每個字母用其後的第三個字母來替代
例如:
meet me after the toga party
PHHW PH DIWHU WKH WRJD SDUWB
12
凱撒加密法

字元的順序可繞回頭:
a b c d e f g h i j k l m n o p q r s t u v w x y z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

為每個字母指定一個數值:
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

便能以下列方式表示這個演算法,也就
是每個明文字元p會換成密文字元C:
c = E(p) = (p + k) mod (26)
p = D(c) = (c – k) mod (26)
13
凱撒加密法的密碼解析

只有26種可能的加密方式


如果知道密文是由凱撒加密法產生,暴
力法便很容易破解,因為:




對映至從A到Z的
已知加密/解密演算法
只要一一測試這26種對映方式
已知明文所用的語言
例如破解密文:GCUA VQ DTGCM
14
單套字母加密法
Monoalphabetic Cipher





不只字母移位,也任意排列字母
每個明文字母對映到不同的隨機密文字母
因此金鑰長達26個字母
Plain :abcdefghijklmnopqrstuvwxyz
cipher:DKVQFIBJWPESCXHTMYAUOLRGZN
明文:ifwewishtoreplaceletters
密文:WIRFRWAJUHYFTSDVFSFUUFYA
15
單套字母加密法的安全性




總共有26!種可能的金鑰,也就是4 x
1026
金鑰數量龐大,應該就很安全
但是,錯!
問題是在語言的特性
16
字元相對出現頻率




不是所有字元的出現頻率都相同
英文裡的字母E是最常用的字母,其次是
T、R、N、I、O、A、S
其他如Z、J、K、Q、X的使用頻率並不
高
各種語言皆有常用字、詞的頻率統計,
有助於密碼解析
17
字元相對出現頻率
18
單套字母加密法的密碼解析



重要概念 – 單套字母替代加密不會改變字
元出現的頻率
補救措施是讓一個字元有好幾種替代方式,
亦即同音字
如果按照字元出現頻率來決定其密文符號
的多寡,就能完全消除單一字元的頻率資
訊
19
密碼解析範例

要破解的密文是:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ




首先找出字元的相對出現頻率,並比較
標準的英文字母頻率分佈
推測密文裡的P和Z是e和t
推測密文裡的ZW是th,因此ZWP是the
繼續反覆試驗,最後可得:
it was disclosed yesterday that several informal but
direct contacts have been made with political
representatives of the viet cong in moscow
20
普雷費爾Playfair加密法



普雷費爾是最知名的多字元加密法
這個方法將雙字元的明文視為單一元素,
再將其轉成雙字元的密文
這是由英國科學家惠斯頓Charles
Wheatstone爵士於1854年發明,但是他以
其朋友Baron Playfair命名
21
普雷費爾金鑰矩陣


普雷費爾演算法使用由關鍵字組成的5 × 5字元矩陣
矩陣的建構方式
1.
2.

先將關鍵字字元由左至右、由上至下填入矩陣,並刪除重複
字元
將26個字母剩餘的字元依序填入,而且將I跟J視為同一個字元
例如以MONARCHY當作關鍵字
M
O
N
A
R
C
H
Y
B
D
E
F
G
I/J
K
L
P
Q
S
T
U
V
W
X
Z
22
普雷費爾加密法的加密與解密
一次針對明文的兩個字元來加密:

1.
2.
3.
4.
若是相同字元的雙字元,就插入填充字元,例如x
如果這兩個字元位於矩陣同一列,就把第一個字元當
成最後一個字元的右邊字元(繞回頭),並用它們右
邊的字元來替代它們 eg. “ar" encrypts as "RM
如果這兩個字元位於矩陣同一行,就把第一個字元當
成是最後一個字元的下方字元(繞回頭),並且用它
們下方的字元來替代它們
否則(即兩字不同行又不同列),則每個字元都換成與它
自己同一列、但與另一個字元同一行的字元eg. “hs"
encrypts to "BP", and “ea" to "IM" or "JM"
23
普雷費爾加密法的安全性




安全性優於單套字母加密法
因為有26個字母,但雙字元有26 × 26 = 676 種組合,
因此不易辨識雙字元
再者,單一字元的相對出現頻率變化範圍比雙字元大
很多,也讓雙字元頻率分析變得更加困難
有很長一段時間此法廣被使用



例如此法是英國陸軍一次世界大戰的標準系統,且直到二次
世界大戰,美國陸軍與某些聯軍仍廣泛使用
雖然普雷費爾加密法具備了相當程度的安全性,但還
是很容易破解。因為它原封不動的留下很多明文語言
的結構。
基本上要破解普雷費爾加密法,只要幾百個密文字元
就夠了
24
多套字母加密法
Polyalphabetic Ciphers



改進單套字母加密,以多套字母加密替
代而提高安全性
以一組相關的單套字母作為替代的規則
以金鑰決定在轉換時要使用哪種替代規
則
25
維吉尼亞加密法
Vigenère Cipher



最簡單的多套字母替代加密法
以位移量0到25的26個凱撒加密法來組成
相關的多套字母加密的替代規則
維吉尼亞表(表2.3)有助於瞭解及使用這
種方法
26
維吉尼亞加密法範例



加密需要與訊息一樣長的金鑰
金鑰通常是某個重複的關鍵字
例如關鍵字是deceptive的以下加密範例:
金鑰:deceptivedeceptivedeceptive
明文:wearediscoveredsaveyourself
密文:ZICVTWQNGRZGVTWAVZHCQYGLMGJ
28
維吉尼亞加密的安全性




維吉尼亞加密法的強度在於一個明文字
元可以對應到好幾個密文字元
每個密文字元是由關鍵字裡的字母決定,
因此能隱藏字元出現的頻率資訊
維吉尼亞加密法並沒有隱藏所有的明文
結構
雖然優於普雷費爾加密法,但還是殘存
著相當程度的頻率資訊
29
維吉尼亞加密的破解之道




若使用單套字母加密法,密文的字元統計資訊
會與明文趨於一致
若懷疑使用的是維吉尼亞加密法,破解的過程
會由如何求出關鍵字長度而定
關鍵字長度:若兩個相同順序(sequence序列)的
明文字串距離,剛好是關鍵字長度的整數倍,
就會產生相同的密文字串
破解這個加密法的重點在於,如果關鍵字長度
是N,這個加密法實際上就是由N個單套字母加
密法所組成
30
自動金鑰系統




長度與訊息相同的關鍵字能消除關鍵字會
定期出現的特性
維吉尼亞加密法提出了自動金鑰系統
這個系統會將明文接在關鍵字之後而形成
金鑰
例如關鍵字deceptive的範例:
金鑰:deceptivewearediscoveredsav
明文:wearediscoveredsaveyourself
密文:ZICVTWQNGKZEIIGASXSTSLVVWLA

但還是會因為金鑰與明文的字元頻率分佈相同,
而能以統計的技巧破解
31
單次金鑰加密法One-Time Pad






使用與訊息等長的隨機金鑰,能不需重
覆使用金鑰而達到相當程度的安全
且這把金鑰用在加密、解密單一訊息之後,就
丟棄不用
因此每個新的訊息都需要與訊息等長的新金鑰
此法所產生的隨機密文與原始明文並無統計的
關聯性
單次金鑰加密法的密文並無明文的任何訊息,
因此無從破解
問題:key的產生和安全的發送與保護
32
置換加密法
Transposition Ciphers



目前所提,都是將明文符號換成另一個
密文符號
另一種完全不同的對映方式,是以某種
形式重新排列明文字元
這種技巧稱為置換加密法
33
柵欄加密法Rail Fence cipher



最簡單的置換加密方法
將明文排成一連串的對角線形式,然後
再一列一列讀出
例如:
明文:meet me after the toga party
密文:m e m a t r h t g p r y e t e f e t e o a
a t


單純的置換加密方式很容易被識破
因為密文和原始明文的字元頻率分佈都
相同
34
列置換加密法
Row Transposition Ciphers




比較複雜的方法是將訊息一列一列排成矩形,
再一行一行讀出來
但還要交換行與行之間的順序
「行的順序」就變成這個演算法的金鑰
例如:
金鑰:3 4 2 1 5 6 7
明文:a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
密文:TTNAAPTMTSUOAODWCOIXKNLYPETZ
35
回轉機Rotor Machines


回轉機是現代加密法出現之前,最常見
的複雜加密方式
廣泛用於二次大戰:




德軍Enigma、聯軍Hagelin、日軍Purple
實作了非常複雜且多樣的替代加密法
是由一組獨立、且能讓電流脈衝流過的
回轉柱所組成
3柱回轉機有263=17576種不同的字母替
代方式
36
聯軍所用的Hagelin回轉機
37
資訊藏密法Steganography


加密之外的另一種選擇
隱藏了訊息存在的事實:






字元標記
看不見的墨水
針孔
打字機修正色帶
光碟利用資料頁框裡的最低位元隱藏資訊
缺點:成本高、費時
38
總結








古典加密技術與術語
單套字母加密法
字元出現頻率的密碼解析技巧
普雷費爾加密法
多套字母加密法
置換加密法
回轉機
資訊藏密法
39