學號:16030140019
姓名: 莫益彰
【嵌牛導讀】:凱撒密碼是一種簡單的加密方法,即將文本中的每一個字元都位移相同的位置。如選定位移3位:
原文:a b c
密文:d e f
由於出現了字母頻度分析,凱撒密碼變得很容易破解,因此人們在單一愷撒密碼的基礎上擴展出多表密碼,稱為「維吉尼亞」密碼。
【嵌牛鼻子】密碼學,計算機安全。
【嵌牛提問】維吉尼亞怎麼破解,8位維吉尼亞是否可破?維吉尼亞演算法的時間復雜度?
【嵌牛正文】
維吉尼亞密碼的加密
維吉尼亞密碼由凱撒密碼擴展而來,引入了密鑰的概念。即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,依此類推,得出對應關系如下:
密鑰:RE LA TI ONS RE LA TION SR ELA TIONSREL
明文:TO BE OR NOT TO BE THAT IS THE QUESTION
密文:KS ME HZ BBL KS ME MPOG AJ XSE JCSFLZSY
圖解加密過程:
在維吉尼亞(Vigenère)的密碼中,發件人和收件人必須使用同一個關鍵詞(或者同一文字章節),這個關鍵詞或文字章節中的字母告訴他們怎麼樣才能前後改變字母的位置來獲得該段信息中的每個字母的正確對應位置。
維吉尼亞密碼的破解
維吉尼亞密碼分解後實則就是多個凱撒密碼,只要知道密鑰的長度,我們就可以將其分解。
如密文為:ABCDEFGHIJKLMN
如果我們知道密鑰長度為3,就可將其分解為三組:
組1:A D G J N
組2:B E H K
組3:C F I M
分解後每組就是一個凱撒密碼,即組內的位移量是一致的,對每一組即可用頻度分析法來解密。
所以破解維吉尼亞密碼的關鍵就是確定密鑰的長度。
確定密鑰長度
確定密鑰長度主要有兩種方法,Kasiski 測試法相對簡單很多,但Friedman 測試法的效果明顯優於Kasiski 測試法。
Kasiski 測試法
在英文中,一些常見的單詞如the有幾率被密鑰的相同部分加密,即原文中的the可能在密文中呈現為相同的三個字母。
在這種情況下,相同片段的間距就是密文長度的倍數。
所以我們可以通過在密文中找到相同的片段,計算出這些相同片段之間的間距,而密鑰長度理論上就是這些間距的公約數。
然後我們需要知道重合指數(IC, index of coincidence)的概念。
重合指數表示兩個隨機選出的字母是相同的的概率,即隨機選出兩個A的概率+隨機選出兩個B的概率+隨機選出兩個C的概率+……+隨機選出兩個Z的概率。
對英語而言,根據上述的頻率表,我們可以計算出英語文本的重合指數為
P(A)^2 + P(B)^2+……+P(Z)^2 = 0.65
利用重合指數推測密鑰長度的原理在於,對於一個由凱撒密碼加密的序列,由於所有字母的位移程度相同,所以密文的重合指數應等於原文語言的重合指數。
據此,我們可以逐一計算不同密鑰長度下的重合指數,當重合指數接近期望的0.65時,我們就可以推測這是我們所要找的密鑰長度。
舉例來說,對密文ABCDEABCDEABCDEABC
首先測試密鑰長度=1,對密文ABCDEABCDEABCDEABC統計每個字元出現的次數:
A: 4 B: 4 C: 4 D:3 E:3
那麼對於該序列的重合指數就為:(4/18)^2 + (4/18)^2 + (4/18)^2 +(3/18)^2 +(3/18)^2 != 0.65
然後測試密鑰長度=2,將密文ABCDEABCDEABCDEABC分解為兩組:
組1:A C E B D A C E B
組2:B D A C E B D A C
我們知道如果密鑰長度真的是2,那麼組1,組2都是一個凱撒密碼。對組1組2分別計算重合指數。
如果組1的重合指數接近0.65,組2的重合指數也接近0.65,那麼基本可以斷定密鑰長度為2。
在知道了密鑰長度n以後,就可將密文分解為n組,每一組都是一個凱撒密碼,然後對每一組用字母頻度分析進行解密,和在一起就能成功解密凱撒密碼。
上文已經說到,自然語言的字母頻度是一定的。字母頻度分析就是將密文的字母頻度和自然語言的自然頻度排序對比,從而找出可能的原文。
❷ 維吉尼亞密碼該 怎麼用
人們在單一愷撒密碼的基礎上擴展出多表密碼,稱為「維吉尼亞」密碼。它是由16世紀法國亨利三世王朝的布萊瑟·維吉尼亞發明的,其特點是將26個愷撒密表合成一個,見下表:
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
A 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 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 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 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 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 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 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 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 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 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 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 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 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 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
O 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 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 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 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 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 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 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 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 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 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 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 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
維吉尼亞密碼引入了「密鑰」的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,依此類推,得出對應關系如下:
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
❸ 第三代加密法--維吉尼亞加密法
加密法的需求在軍事上及政治上的顯現極為旺盛,也迫使它快速地向前發展。傳統的移位及替代法雖然使用方便,但可以採用統計的方式進行破解,安全性還有待加強。
所以後期就發展出一種新的加密方法,即維吉尼亞加密法。這種方法的出發點是,對於相同的字母或數字,加密後的密文可能不同,這就沒法從統計的角度解密。
基本的加密方法,可以參考下圖。
這張圖中, 第一行代表原文的數字或字元,每一列代表加密採用第幾套替代方案,每一橫行的字元對應該列的字母加密後的密文 。是不是夠復雜哈,如果採用這樣的方式手工加密解密,寫一封郵件估計要崩潰死了。。。。喊豎
而且這套加密方法使用中還存在一些問題,就是需要把 整個加密圖傳給解密方 ,沒有該圖做指導,解密的乎滲宴人也是一臉懵逼。。。。
但方法是死的,人是活的,人最可貴的一點就是遇到問題會想各種解決方法。所以這個問題如何解呢?關鍵在於一個密鑰(key),比如以「yes」為密鑰,加密時第一個字母採用"y"(即第25套替代方案)加密,將原文字母向後移動25位;第歲銀二個字母採用「e」(即第5套方案)加密,將原文字母向後移動5位;第三個字母採用"s"(即第19套方案)加密,將原文字母向後移動19位;依次循環加密。
比如加密「hello」,加密結果就如下,加密後的密文為「FIDJS」,兩個字母「l」分別對應D和J,就沒法用統計法找出破綻了。
但該方法加密解密超費勁,人工處理很容易出錯,所以發明了200年還未被廣泛使用,直到能夠採用機器進行處理之後,才被人翻出來使用。
❹ 愷撒密碼的維吉尼亞密碼
很明顯,凱撒密碼的密度是很低的,只需簡單地統計字頻就可以破譯。於是人們在單一愷撒密碼的基礎上擴展出多表密碼,稱為「維吉尼亞」密碼。它是由16世紀法國亨利三世王朝的布萊瑟·維吉尼亞發明的,其特點是將26個愷撒密表合成一個,見下表:
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
A -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 -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-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- 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- 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- 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- 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- 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- 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- 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- 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 -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- 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- 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
O- 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- 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- 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- 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- 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- 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- 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- 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- 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- 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- 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- 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
維吉尼亞密碼(類似於今天我們所說的置換密碼)引入了「密鑰」的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,依此類推,得出對應關系如下:
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
歷史上以維吉尼亞密表為基礎又演變出很多種加密方法,其基本元素無非是密表與密鑰,並一直沿用到二戰以後的初級電子密碼機上。