1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re...

37
1 PART I-02 古古古古古古古古古古
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    291
  • download

    1

Transcript of 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re...

Page 1: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

1

PART I-02

古典密碼的設計與破譯

Page 2: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

2

Vigenère Cipher

從 Caesar Cipher 到 Vigenère Cipher 凱薩密表:例如‘ A’ 對應到‘ D’ ,‘ P’ 對應到‘ S’ , 讓敵人無法得到加密過後訊息的真正意義。明文 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

Page 3: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

3

Vigenère Cipher 在十六世紀末,由一位法國的外交官─ Blaise

de Vigenère ( 勃雷茲‧維吉尼亞 ) ,提出了 Poly-alphabetic Cipher─Vigenère Cipher

在 Vigenère 密表中,每一列都是 Caesar 密表的一種。

互通訊息的雙方透過是先約定的金鑰 (Key) ,決定明文用哪些列來加密。

優點:不會顯現英文單字頻率,若非真正的訊息接收者,就無法藉由「頻率分析法」推導出明文。

Page 4: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

Vigenère 密表

明文 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

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 A

C 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

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

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 D

F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

M N O P Q R

S T U V W X Y Z A B C D E F G H I J K L

N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

Page 5: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

明文 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

O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

R S T U V W X Y Z A B C D E F G H I J K L M N O P Q

S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

Z 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

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

Vigenère 密表

Page 6: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

6

Vigenère Cipher 假設以「 SECURE 」為金鑰。 加密「 JINGLE BELLS JINGLE BELLS JINGLE ALL THE WAY 」。 得到密文是「 BMPACITINFJNARIFVFWPNMAMFKNYRPDXJYN

EQ 」。

明文 J I N G L E B E L L S J I N G L E B E L L S J I N G L E A L L T H E W A Y

金鑰 S E C U R E S E C U R E S E C U R E S E C U R E S E C U R E S E C U R E S

密文 B M P A C I T I N F J N A R I F V F W P N M A M F K N Y R P D X J Y N E Q

Page 7: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

7

Vigenère Cipher

最大特色:能隱藏出明文中字母的頻率,改善了單套字母密碼法的缺點。

由於字母位移與金鑰相關,即使明文重複出現 JINGLE BELLS ,密文卻不顯露出重複的痕跡,以 J 為例: 當明文 J 遇上金鑰 S ,在密文中變成字母 B 。 當明文 J 遇上金鑰 E ,在密文中變成字母 N 。 當明文 J 遇上金鑰 R ,在密文中變成字母 A 。

Page 8: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

8

Kasiski Test ( 卡西斯基測試 )

Vigenère Cipher 加密法,到十九世紀才有人找出方法破譯它,這個破譯技巧被稱為 Kasiski Test ( 卡西斯基測試 ) 。

Vigenère Cipher 是由於金鑰詞的不斷重複,使得密文可推敲出金鑰的長度而破譯,得到明文。

Page 9: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

9

讓 Vigenère Cipher 難以破解

所以當金鑰的長度與明文一樣長,甚至比明文更長,將會增加其破譯的困難度,甚至無法被敵人破譯。

而長度長的金鑰當然也能是約定好的某本書,但是在發送接收訊息時也就必須要有金鑰本在手邊,由於是有規則性地推移字母,即使無密本也可逐字推算。

Page 10: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

10

Page 11: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

11

Enigma machine

World War II 德國所使用 名稱源自希臘語,意指“ 不可

思議的東西”或“謎” Enigma 是突破性地結合機器來進行加密,使得密碼更不易被破解

Page 12: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

12

基本元件與原理

其中最基本的三大部分為鍵盤、轉子和顯示器。鍵盤共有 26個鍵,分別為 26個英文字母,其排列接近我們現在所使用的計算機鍵盤。為了使消息盡量簡短且更難破譯,空格和標點符號都被省略。

鍵盤、轉子和顯示器由電線相連,轉子本身也集成了 26 條線路,把鍵盤的信號對應到顯示器不同的小燈上去,每一個字母都一一對應替換為另一個字母 。

Page 13: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

13

Page 14: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

14

轉子 (Rotors) 當鍵盤上一個鍵被按下時,相應的密文在顯示器

上顯示,轉子的方向就自動地轉動一個字母的位置。

但是如果連續鍵入 26個字母,轉子就會整整轉一圈,回到原始的方向上,這時編碼就和最初重複了。

於是 S 先生在機器上又加了一個轉子。當第一個轉子轉動整整一圈以後,它上面有一個齒撥動第二個轉子,使得它的方向轉動一個字母的位置。用這樣的方法,要 26*26=676個字母後才會重復原來的編碼。而事實上 Enigma裡有三個轉子,不重複的方向個數將達到 26*26*26=17576個。

Page 15: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

15

The right side of a rotor The left side of a rotor

Page 16: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

16

反轉輪 (Reflector) S 先生十分巧妙地在三個轉子的一端加上

了一個反轉輪,他把鍵盤和顯示器中的相同字母用電線連在一起。

反轉輪雖然沒有像轉子那樣增加可能的不重複之方向,但是它可以使解碼的過程和編碼的過程完全一樣。

反轉輪帶來的一個副作用就是一個字母永遠也不會被加密成它自己,因為反轉輪中一個字母總是被連接到另一個不同的字母,這也使它成為一個被破解的導火線。

Page 17: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

17

3 movable rotors are sandwiched between 2 fixed wheels: the entry wheel on the right and the reflector (here marked "B") on the left.

Page 18: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

18

連接板 (Plug- board) S 先生在鍵盤和第一轉子之間增加了一個連接板。這塊連接板允許使用者用一根連線把某個字母和另一個字母連接起來,這樣這個字母的信號在進入轉子之前就會轉變為另一個字母的信號。

種連線最多可以有六根(後期的 Enigma具有更多的連線),這樣就可以使 6對字母的信號互換,其他沒有插上連線的字母保持不變。當然連接板上的連線狀況也是收發訊息的雙方需要預先約定好的。

Page 19: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

19

Plug-board

Page 20: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

20

Enigma 的金鑰 三個轉子不同的方向組成了 26*26*26=17576種不同可能性。

三個轉子間不同的相對位置為 6種可能性。

連接板上兩兩交換 6對字母的可能性數目非常巨大,有 72282089880000種。

於是一共有: 17576*6*72282089880000=7622580070385280000,大約為 1016種可能性。

Page 21: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

21

連接板與轉子對 Enigma 的重要 其實連接板對可能性的增加貢獻

最大,那麼為什麼 S 先生要那麼麻煩地設計轉子之類的東西呢?原因在於連接板本身其實就是一個簡單替換密碼系統,在整個加密過程中,連接是固定的,所以單使用它是十分容易用頻率分析法來解密的。

Page 22: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

22

連接板與轉子對 Enigma 的重要

轉子系統雖然提供的可能性不多,但是在加密過程中它們不停地轉動,使整個系統變成了多元式替換系統,頻率分析法對它再也無能為力,與此同時,連接板卻使得可能性數目大大增加,使得暴力破密法(即一個一個嘗試所有可能性的方法)望而卻步。

Page 23: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

23

Enigma 的破解 (1)

德方每封密文最開始的六個字母,是此信金鑰的三個字母重複兩遍,由當日金鑰加密而成。

每天截獲的大量電文能夠給出許多這樣的緊密聯繫,從而使 Rejewski 最終能夠判斷出轉子的初始位置。

Page 24: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

24

Enigma 的破解 (2)

雖然這些循環圈是由當日金鑰,也就是轉子的位置,它們的初始方向以及連接版上字母置換造成的,但是每組循環圈的個數和每個循環圈的長度,卻僅僅是由轉子的位置和它們的初始方向決定的,和連接版上字母交換的情況無關﹗

如果只考慮轉子的位置和它們的初始方向,只有 105456 ( 6*263 )種可能性。雖然這還是一個很大的數字,但是把所有的可能性都試驗一遍,已經是一件可以做到的事情了。

Page 25: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

25

Enigma 的破解 (3) 找到當日金鑰中轉子狀態後,還需要找到連接板狀態,才能真正譯出密文。

另外, Enigma 中轉子中的線路並非總是固定不變, Rejewski 的理論允許從密文和金鑰倒推出轉子內部的連線狀態。

Zygalski還設計了用在紙上鑽孔的方法來迅速查詢對應於某類字母循環圈的轉子狀態的方法。

Page 26: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

26

Sherlock Holmes and the Dancing Men

(福爾摩斯和跳舞小人 ) X 先生是聽聞 Holmes似乎對任何

希奇古怪的東西感到有趣,才先寄了這封信過來讓 Holmes研究,而 X 先生本人也將於近日搭乘火車親自拜訪 Holmes 。

Page 27: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

27

婚姻的開始 X 先生在他的家鄉是個當地的名門望族,頗受居民的注目。

一天, X 先生參加位於倫敦的一個慶典紀念會,於住宿處認識了 Elsie小姐 (愛爾茜,簡稱為 E小姐 ) ,陷入了熱戀,不久之後便登記結婚了。

但是婚前 E小姐向 X 先生提出了一個要求:「為了不再回憶起以前的痛苦,請無論如何別過問我的過去,而你會娶到一個不曾做過任何使自己感到羞愧的事的女人。」

當時 X 先生也只想到,每個人或多或少都可能有些不堪回首的過去,於是便答應了;而婚後兩人的確也過著幸福美滿的生活。

Page 28: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

28

神秘的小人畫像 直到有一天, E小姐接到一封來自美國的信。她看過信後,臉色變得慘白,並立刻將之燒毀,不再提起有關的事。

過了一陣子平凡的生活後, X 先生突然再窗台上看到了一排像是在跳舞的小人畫像,內容跟那寄給 Holmes 的紙條上所畫的相同。

X 先生果然又再庭院中發現了一張紙條,上面畫著相同的圖形。待 X 先生將其拿給愛爾茜看過後,像是受到了極大的驚嚇似的,她竟然昏倒了;之後的日子也都魂不守舍,眼中充滿著恐懼。

Page 29: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

29

第二封

Page 30: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

30

E小姐回覆

奇怪的是, X 先生並未再發現入侵者,卻在一大早又在門板上發現了幾行新的且較短的圖形 。

Page 31: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

31

密碼的破譯 (1)

A M H E R E A B E S L A N E Y

Page 32: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

32

密碼的破譯 (2)

A T E L R I G E S

C O M E E L S I E

Page 33: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

33

密碼的破譯 (3)

N E V E R

Page 34: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

34

第三封 跳舞小人的訊息破解至此已算大功告成了。但

是未等 Holmes向 X 先生回報這個消息, X 先生便又寄了封信過來﹕內容大致是說這些日子以來都過得平安無事,只是在寫這封信的前一天又發現了另一張紙條 ~

Page 35: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

35

Holmes 解出第三封 Elsie , prepare to meet thy god! (Els

ie ,準備去見你的神吧! 無奈還是遲了一步, E小姐受了嚴重的槍傷, X 先生則不幸身亡。

知道 Holmes 是如何能將這兇手繩之以法的嗎 ?他所寄出的紙條內容如下:

Page 36: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

36

字母

符號

字母

符號

字母

符號

字母

符號

字母

符號

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

對於本文的所有跳舞小人圖形字母對照表

Page 37: 1 PART I-02 古典密碼的設計與破譯. 2 Vigen è re Cipher 從 Caesar Cipher 到 Vigen è re Cipher 凱薩密表:例如 ‘ A ’ 對應到 ‘ D ’ , ‘ P ’ 對應到

37

結語 Vigenère Cipher 的設計曾經被認為是無法破譯的

加密法,然最後仍被技巧性的揭開謎底,可見發明解譯人智慧之絕妙。

原本 Enigma 是當時人們所證明無法破解的堅固架構,但是德國人卻萬萬沒想到,在敵人需要嘗試一億億種的破解方法下,德國人卻開了一個後門讓波蘭人能夠切入破解密碼的核心,使得波蘭人能夠掌握德軍的一舉一動,也鑄成了大戰失敗的錯誤。

最後透過本章第三節的跳舞小人的懸疑情節,想必對於密碼的吸引力已在您心中啟發了研究 / 探詢的好奇心。