個字母,而是代表一種程式,譬如是代表空格,代表刪去前一個字母,代表換行等。但這一切起的作用並不大,聰明的破譯師仍然能在裡面找到許許多多破譯密碼的線索。直到有一天,佛羅倫薩的里昂巴蒂斯特·阿爾伯提提出了一種多字母替換密碼,即用兩個或兩個以上的密碼錶交替使用來進行加密,如:
明碼錶 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
密碼錶1 Q W E R T Y U I O P A S D F G H K J L Z X C V B N M
密碼錶2 E K P R J B D N C V O U H T Y W Z X M L A S F I G Q
第一個密碼錶加密第一個字母,第二個密碼錶加密第二個字母,第一個密碼錶又加密第三個字母,不斷地重複……那麼:
明文F O R E S T
密文Y Y J J L L
這樣,按原來的方法進行頻率分析就沒有什麼作用了。這只是兩個密碼錶時的情況,如果用三個、四個或以上的密碼錶後,破譯就顯得非常非常困難。即使是這樣,阿爾伯提未能把他的理念發展成一個完整的系統。這個任務當然由後人完成了。經過幾個人的努力,最後,維吉尼亞終於將其完善了。他編出了一個系統而有效的密碼,那就是維熱納爾密碼,其主要構成是維吉尼亞方陣:
它的明碼錶後有二十六個密碼錶,每個表相對前一個發生一次移位。如果只用其中某一個進行加密,那麼只是簡單的愷撒移位密碼。但用方陣中不同的行加密不同的字母,它就是一種強大的密碼了。加密者可用第七行來加密第一個字母,再用第二十五行來加密第二個字母,然後根據第八行來加密第三個字母等。
現在來試一下,就用關鍵詞FOREST來加密Better to do well than to say well。
關鍵詞F O R E S T F O R E S T F O R E S T F O R E S T F O R
明文b e t t e r t o d o w e l l t h a n t o s a y w e l l
密文G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
(看第五行,F開頭,明文是b,要用G來加密;第十四行,O開頭,明文是e,要用S來加密,如此類推……)
維熱納爾密碼既克服了頻率分析,又具有數目眾多的金鑰。傳送者和接收者可使用字典裡任一個單詞,或單片語合,或虛構的詞作為關鍵詞。它提供了很好的安全保障,但它的複雜性,卻令其等到十九世紀才流行起來。很多年以來,維吉尼亞密碼都被認為是不可破解的。不過,也是在十九世紀,查爾斯·巴貝奇——一個性情古怪的天才將其破譯了。讓我們來看看解密的過程:
這個人也因為其在電腦科學領域方面所進行的先鋒性工作而被世人所熟悉。巴貝奇(Babbage)透過尋找重複的字母段破解了這個密碼系統。當然,維熱納爾密碼的優勢在於這種密碼被假定為它將不同位置的字母進行不同的加密。比如同一段文字中的“THE”可能在前面表現為“UPK”,但在後面則被表現為“BNF”。同樣,像“AKER”這樣的字母也會被進行不同的加密。但是,第一個和第三個“THE”都會被編碼為“UPK”。第一個“THE”中的“T”會用“B”來進行編碼,而第三個“THE”中的“T”也同樣是用“B”來編碼。發生這種