從維吉尼來加密法被破解一直到1920年,大約有60余年的時間里,加密一方一直被解密一方壓制。
到了1920年,加密法終于扳回了劣勢。
之前我們講破解維吉尼亞密碼的時候就知道,它的缺陷在于鑰匙的循環(huán),破解了鑰匙的長度就相當(dāng)于破譯工作大功告成了一半。
假如一個鑰匙有5個字母,那對應(yīng)的密文,每逢5個字母就會用到同一套密碼加密。所以只要知道鑰匙的長度,再分別對5套密碼用頻率分析法,維吉尼亞加密法就破解了。
那么如果想對維吉尼亞加密法進(jìn)行改進(jìn),就要想辦法彌補(bǔ)或是消除這個缺陷。
方法其實(shí)很簡單,就是增加鑰匙的長度。

比如說一篇文章有1000個字母,如果鑰匙的長度是5,也就是說用了5套加密法,那么每套加密法會勻到200個字母。
對于頻率分析法來說,要想把字母出現(xiàn)的頻率統(tǒng)計(jì)準(zhǔn)確,有一個必要條件——字母足夠多才行。
200個字母還是可供分析的,但一個ok、no這樣的短消息,什么頻率特征都體現(xiàn)不出來。而這,正是加密者希望出現(xiàn)的局面。
那么現(xiàn)在,還是那篇1000個字母的文章,我們的鑰匙長度從5增加到50的話,每套加密法勻到的字母只有20個了,連26個字母每個出現(xiàn)一次的量都沒到,這樣的量幾乎就不會表現(xiàn)出字母的頻率特征。
如果再繼續(xù)增加鑰匙長度呢?比如說鑰匙文和原文等長,也是1000個字母,那之前破解維吉尼亞加密法的所有方法都會失效了。
這時候鑰匙又要怎么設(shè)計(jì)呢?一般是用一首詩或者一篇其他文章當(dāng)做鑰匙,這樣方便大家約定規(guī)則。
這種加密法,我們可以把它當(dāng)做維吉尼亞加密法的2.0版本。
不過這個版本,還是有破解方法。
之所以能破解,就是因?yàn)闉榱朔奖?,人們往往會使用一首詩或者一篇文章?dāng)鑰匙。而一首詩、一篇文章是有意義的單詞組成的,它們的字母排列一定是符合拼讀規(guī)律的。
有規(guī)律可循,就可能被破解。
破解的方法,是先假設(shè)原文中一定會出現(xiàn)常用的單詞,然后拿它去和密文對照,倒推鑰匙的單詞是什么。
原文中短小的詞假設(shè)它是個什么呢?最好的選擇就是定冠詞the,或者at、in,這些總會用到的單詞。
比如,假設(shè)原文中任何三個相連的字母都可能是the,在我們已經(jīng)知道密文是什么,又假設(shè)了原文是the的情況下,我們?nèi)φ站S吉尼亞的字母表,對應(yīng)的鑰匙是哪三個字母也就確定了。
不斷的把the放在所有位置上,然后去觀察鑰匙的樣子,有時候鑰匙就會呈現(xiàn)出一些符合單詞拼寫規(guī)律的樣子。
反正這個方法就是先假設(shè)原文里一定有the這樣的詞,然后還有一個前提,就是假設(shè)鑰匙是像一篇文章或者一首詩那樣有規(guī)律的單詞拼寫成的。
在假設(shè)原文有the,手中又有密文的基礎(chǔ)上,求出the對應(yīng)的鑰匙字母就不難了。
看看這部分算出的字母,是不是也符合單詞拼寫規(guī)律。如果符合,很可能這部分鑰匙字段你就猜對了;如果不符合,就說明猜得還不對。
這種方法完全避開使用頻率分析法,不需要有足夠大量的字母出現(xiàn),都可以分析出原文。只是除了規(guī)定步驟外,還要有很好的猜字謎的功底和一點(diǎn)點(diǎn)運(yùn)氣,總體來說屬于體力活。
到此為止,維吉尼亞加密法的第一個改進(jìn)版2.0版,也就是把鑰匙長度增加到和原文一樣長的方法,也被破解了。
往期文章:
密碼那些事兒|(十一)南北戰(zhàn)爭時的維吉尼亞密碼較量
密碼那些事兒|(三)“風(fēng)語者”——從未被破解的密碼
本人是官方授權(quán)簡書會員推廣專員,點(diǎn)擊會員專屬通道成為簡書會員,您將會獲得簡書鉆獎勵及諸多權(quán)益!