希伯來(lái)也是同樣古老的文明,公元前21世紀(jì),希伯亞民族發(fā)源于兩河流域的美索不達(dá)米亞的吾珥(Ur),在這批游牧民族為了尋找牧場(chǎng)而遷移,踏上迦南,巴勒斯坦的土地之后,他們被稱(chēng)為希伯來(lái),即迦南語(yǔ)“越河者”之意。而希伯來(lái)民族的偉大領(lǐng)袖亞伯拉罕的孫子雅各,在傳說(shuō)中一次與神的角力中獲勝后,這個(gè)民族有了一個(gè)更加為人所知的名字--以色列,即“與神角力”之意,雅各也成為以色列的祖先。希伯來(lái)人開(kāi)發(fā)出了三種加密法,稱(chēng)為“atbah”、“atbash”和“albam”,是否覺(jué)得眼熟呢?丹·布朗的Fans一定想到了吧,《達(dá)芬奇密碼》中,達(dá)芬奇密碼筒中詩(shī)句的一句:“埃特巴什使道昭顯”(and atbash will reveal the truth to thee.)這里的埃特巴什正是指希伯來(lái)三種加密法中最為有名的atbash。在介紹這三種加密法前,先讓我們了解一下希伯來(lái)字母,希伯來(lái)字母共有22個(gè):(雖然對(duì)丹·布朗的真實(shí)性很懷疑,但還是決定引用《達(dá)芬奇密碼》中的希伯來(lái)字母表)
A(Alef) B(Beit) G(Gimel) D(Dalet) H(Hei) V(Vav) Z(Zayin) Ch(Chet) T(Tet) Y(Yud) K(Kaf) L(Lamed) M(Mem) N(Nun) S(Samech) O(Ayin) P(Pei) Tz(Tzadik) Q(Kuf) R(Reish) Sh(Shin) Th(Tav)
這三種加密方式都是把字母兩兩配對(duì)后進(jìn)行互相替換,atbash,即《達(dá)芬奇密碼》中的這種密碼,是將字母表顛倒后配對(duì),其配對(duì)如下:
A B G D H V Z Ch T Y K
Th Sh R Q Tz P O S N M L
這種密碼顯然更容易被應(yīng)用到拉丁字母當(dāng)中,其實(shí),這就是我們常說(shuō)的字母倒序。:
A B C D E F G H I J K L M
Z Y X W V U T S R Q P O N
出一道例題來(lái)幫助理解:
密文:OLLP,GSV ERITRM HSZOO XLMXVREV ZMW YVZI Z HLM,ZMW GSVB HSZOO MZNV SRN VNNZMFVO
將密文中所有的字母用配對(duì)表中與之配對(duì)的字母代替后,不難得到
明文:look,the virgin shall conceive and bear a son,and they shall name him Emmanuel。(“必有童女懷孕生子,人要稱(chēng)他的名為以馬內(nèi)利。”選自《圣經(jīng)--馬太福音》第一章)
順帶一提,這是D最為常用的密碼,每個(gè)人都有自己的喜好,即對(duì)一種簡(jiǎn)單密碼有著頻繁的使用,當(dāng)然他們更多地把這種簡(jiǎn)單密碼與其他密碼復(fù)合后再應(yīng)用,D就曾經(jīng)把字母倒序與柵欄、Playfair等密碼結(jié)合,出一些復(fù)合密碼的題目。
albam的配對(duì)表則是這樣的:
A B G D H V Z Ch T Y K
L M N S O P Tz Q R Sh Th
這是將字母表的后半部分直接移到下一行,這同樣適用于拉丁字母:
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
例題密文:NAQ LBH,ORGUYRURZ,VA GUR YNAQ BS WHQNU,NER OL AB ZRNAF YRNFG NZBAT GUR EHYRF BS WHQNU;SBE SEBZ LBH FUNYY PBZR N EHYRE JUB VF GB FURCUREQ ZL CRBCYR VFENRY.
同上題一樣,易得
明文:and you,Bethlehem,in the land of Judah,are by no means least among the rules of Judah;for from you shall come a ruler who is to shepherd my people Israel。(“猶大地的伯利恒啊,你在猶大諸城中并不是最小的,因?yàn)閷?lái)有一位君王要從你那里出來(lái),牧養(yǎng)我以色列民。”選自《圣經(jīng)--馬太福音》第二章)
atbah碼,根據(jù)我手上的資料,我推測(cè)其配對(duì)表如下:
A B G D H Y K L M N S O
T Ch Z V H Th Sh R Q Tz P O
但是沒(méi)有任何證據(jù)說(shuō)明這一點(diǎn),我也不敢肯定,因?yàn)檫@種配對(duì)尚和部分資料沖突不符。和竹子商量了一下,決定這里先暫時(shí)跳過(guò),等有了詳細(xì)且可靠的資料時(shí),再出個(gè)補(bǔ)丁修正。這個(gè)配對(duì)表,各位看看就算了,不必注意。
在密碼發(fā)展的早期,希臘人無(wú)疑扮演了重要的角色,除了斯巴達(dá)人貢獻(xiàn)了天書(shū)這一最早的密碼之外,希臘人還創(chuàng)造了其它形式的密碼。
首先登場(chǎng)的是希臘方盤(pán),這是一種古老的密碼,大約形成于公元前2世紀(jì),有時(shí)也被稱(chēng)為希臘棋盤(pán),它使用一個(gè)5×5的棋盤(pán)式方格來(lái)加密,把字母按照順序填入,隨后使用這個(gè)字母所在的行和列,也就是坐標(biāo),來(lái)代指這個(gè)字母。你可能意識(shí)到一個(gè)問(wèn)題,即26個(gè)字母如何能填入一個(gè)5×5的棋盤(pán)式方格?這個(gè)原因在于,希臘人并不使用一種擁有26個(gè)字母的語(yǔ)言。事實(shí)上,希臘字母只有24個(gè)(alpha,beta,gamma,delta,epsilon,zeta,eta,thet,iot,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega),因而可以成功填入這個(gè)棋盤(pán)。我們當(dāng)然不會(huì)使用希臘語(yǔ)來(lái)傳遞信息,正如同上次的希伯來(lái)密碼一樣,我們希望這種密碼可以應(yīng)用于拉丁字母,使得我們可以用英語(yǔ),甚至是拼音來(lái)作為明文。在這里,通常將i和j填入一個(gè)方格內(nèi)。構(gòu)成方陣:
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
每個(gè)字母由對(duì)應(yīng)的坐標(biāo)代替,比如T就加密為44, Terry用希臘方盤(pán)來(lái)加密的結(jié)果是4415424254。你不會(huì)對(duì)這種密碼感到陌生,如果你看過(guò)夏理的連鎖謎題帖,最后一題正是希臘方盤(pán),夏理沒(méi)有依常規(guī)使用標(biāo)準(zhǔn)方陣,他去掉了方陣中的W,這個(gè)的提示是“它們共有25個(gè),即便再加上一個(gè)它就成了前者的兩倍,把它們放在一個(gè)恰好可以容納它們的正方形里,此時(shí)真正的鑰匙就會(huì)出現(xiàn)”,是指W是之前的字母V的兩倍(明白么?看字母形狀),從而得到答案“SS.Vadine”。密碼不拘泥于其標(biāo)準(zhǔn)形式,這正是一個(gè)很好的例子,正如同標(biāo)準(zhǔn)的愷撒是后退三位,但是沒(méi)人這么做,這使得密碼有更多變化,本章正希望向你闡明這一點(diǎn)。
那么我們來(lái)看看這個(gè)方盤(pán)有什么可變化的余地。首先,密碼本身的加密法取決于那個(gè)方陣的排布,夏理沒(méi)有使用標(biāo)準(zhǔn)排布(當(dāng)然他對(duì)這一點(diǎn)給出了提示,這是個(gè)關(guān)鍵,密碼需要變化,但如何使這個(gè)密碼不像有些帖子一樣石沉大海,一個(gè)好的提示是關(guān)鍵,以后如果有機(jī)會(huì)我再討論這個(gè)問(wèn)題),使用一個(gè)方陣進(jìn)行加密時(shí),如何決定其排布呢?
第一種方法是如夏理一樣,去掉一個(gè)字母,使其形成完美的矩陣造型,這里有26種手法,或者說(shuō)26個(gè)密鑰。這里有一個(gè)問(wèn)題,我們將缺少一個(gè)字母的加密法,我們的明文如果出現(xiàn)這個(gè)字母,我們毫無(wú)辦法。(顯然你不能去掉像E、S這樣的字母,我們的明文幾乎不可能避開(kāi)它們)
第二種,調(diào)整字母順序,為何一定要按照字母順序填寫(xiě)方盤(pán)呢?我們當(dāng)然可以按照自己喜歡的順序填寫(xiě),比如鍵盤(pán)順序(QWERTYUIOPASDFGHJKLZXCVBNM),一個(gè)常見(jiàn)的手法。或者使用關(guān)鍵字順序,我會(huì)在關(guān)鍵字加密法中詳細(xì)介紹這種字母排列。
第三種,我們還可以改變方盤(pán)的形狀,一個(gè)5×5的方陣固然好,但是變成4×7的也不壞,我們還可以多出三個(gè)方格放其它的東西(標(biāo)點(diǎn)?常用詞組?)。
以上只是隨意舉例,當(dāng)你希望并思考變化時(shí),你會(huì)發(fā)現(xiàn)一種極其簡(jiǎn)單的密碼也有著復(fù)雜的變化,T拋磚引玉,希望引出你們的無(wú)限創(chuàng)意,本章的主題就在于此,希臘的智慧,也是你們的智慧。
現(xiàn)在來(lái)看看另外一種密碼,公元前4世紀(jì),希臘人艾奈阿斯發(fā)明了艾奈阿斯繩結(jié),這種密碼使用一根繩子來(lái)傳遞信息,繩子上系著距離不等的繩結(jié),而兩個(gè)繩結(jié)之間的距離代指一個(gè)字母,這段距離當(dāng)然是事先規(guī)定好的。(我很懷疑他們是否能準(zhǔn)確的打這個(gè)結(jié),以至不產(chǎn)生誤解)
這種看似不能被我們?cè)诰W(wǎng)絡(luò)上應(yīng)用的密碼有什么意義呢?我們?cè)囍谶@里做一點(diǎn)變化:aaaaaaaaaaaaaaaaaaaaaaa sssss ddddddddddddddddddd ffffffffffffffffff ggggggggggggggggggggggggg。如果我說(shuō)這還是我的名字,你是否能明白其加密原理?每?jī)蓚€(gè)空格之間的字母?jìng)€(gè)數(shù)是指字母序數(shù),這還是艾奈阿斯繩結(jié)。當(dāng)然這個(gè)密文太長(zhǎng)了,五個(gè)字母的明文被加密成了七八十個(gè)字母的密文,我們可以再看看另一種變化:aa bbbbb abbbbbbbb abbbbbbbb aabbbbb,還是名字,這里用a的個(gè)數(shù)代指十位,b做個(gè)位。當(dāng)然還可以更短:aa b abccc abccc aab,a、b、c分別代表10、5、1。