版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國(guó)]-密碼那些事

中國(guó)科普作家協(xié)會(huì)
原創(chuàng)
對(duì)科普科幻青年創(chuàng)作人才進(jìn)行遴選和培訓(xùn)指導(dǎo),支持青年人的創(chuàng)作
收藏

每個(gè)人都會(huì)有自己的秘密。在人類文明不斷向前發(fā)展的過(guò)程中,每個(gè)個(gè)體都會(huì)越來(lái)越注重對(duì)自己秘密的守護(hù)。從最開(kāi)始的將物品隱藏,到后來(lái)伴隨文字發(fā)展而出現(xiàn)的密碼,再到后來(lái)計(jì)算機(jī)密碼的出現(xiàn)與普及,密碼的一步步發(fā)展像一串活潑的音符跳躍在人類文明的五線譜上,那些里程碑式的著名加密方法與機(jī)器,更是散發(fā)著先人智慧的光芒。如今,我們的生活已離不開(kāi)密碼,例如與我們個(gè)人利益息息相關(guān)的銀行卡密碼、社交賬號(hào)密碼等等。人們使用密碼來(lái)守護(hù)自己的秘密,防止信息被他人利用。但密碼的樣子可不是只一串小黑點(diǎn),密碼家族成員的形態(tài)可謂是千變?nèi)f化,而當(dāng)我們了解它們的產(chǎn)生過(guò)程后,定會(huì)贊嘆設(shè)計(jì)者超人的智慧。

一、密碼的由來(lái)

據(jù)史料記載,最早的密碼出現(xiàn)在希臘。公元前404年,斯巴達(dá)國(guó)(今希臘)的信使為掩敵人耳目,將情報(bào)寫在皮帶上送給了北路軍司令萊山得,使自己的部隊(duì)脫離了險(xiǎn)境。公元四世紀(jì),希臘開(kāi)始出現(xiàn)隱藏書信內(nèi)容的初級(jí)密碼;八世紀(jì),羅馬教徒為了傳播新教,創(chuàng)立了“圣經(jīng)密碼”。中世紀(jì)末,西班牙的青年男女為擺脫封建階級(jí)制度的束縛,追求平等自由的戀愛(ài),采取了種種密信的通信方式,產(chǎn)生了各種原始密碼。

公元8~9世紀(jì),阿拉伯人發(fā)明密碼分析,以用來(lái)破譯密碼。19世紀(jì),無(wú)線電密碼出現(xiàn),密碼通訊已十分發(fā)達(dá)。時(shí)至今日,密碼技術(shù)更趨完善。

二、代碼還是密碼

“代碼”一詞仿佛也經(jīng)常出現(xiàn)在我們的生活中,可是你有沒(méi)有思考過(guò),“代碼”和“密碼”到底有什么不同呢?從廣義上來(lái)講,代碼和密碼都是指“密碼”,只是它們對(duì)于信息的加工方式不同。代碼通常是由其它的詞或字母代替原來(lái)的詞,而密碼則是用符號(hào)代替單個(gè)的字母或聲音,也可以改變字母的順序。下面讓我們通過(guò)幾個(gè)例子來(lái)具體解釋一下。

假如一位特工想向自己的組織發(fā)送一份秘密情報(bào),他會(huì)怎么做呢?

他可以將要發(fā)送的文字隱藏在一大段無(wú)關(guān)緊要的文字中,再告訴要破譯的人閱讀這段文字的正確方法;他也可以將這段信息轉(zhuǎn)化為旗語(yǔ)、火光的閃爍等等,以另一種感知形態(tài)將信息傳遞出去。以上的幾種方式就是加密的過(guò)程,呈現(xiàn)出的信息便是“密碼”。

他也可以將要發(fā)送的文字用一些其它的詞代替,比如,用“毛毛蟲(chóng)”代替“可樂(lè)”,“楊柳”代替“二月的風(fēng)”等等,以特工與組織之前約定好的代替規(guī)則來(lái)將這些信息“加碼”,這樣所展現(xiàn)出來(lái)的形態(tài)便是代碼了。

那從破譯的角度來(lái)說(shuō),是不是代碼比密碼更容易被識(shí)破呢?在一般情況下,密碼比代碼更加隱秘一些,不仔細(xì)觀察的話難以發(fā)覺(jué)。代碼所展現(xiàn)出來(lái)的只是一段雜亂無(wú)章的文字,仿佛直接告訴別人:這一段奇怪的文字里面有特殊的信息。但在破譯的難度上來(lái)講,如果我們不知道代碼的加碼方式,即使知道里面有特殊的信息,我們也是無(wú)能為力。例如以前土匪了寨間常用的黑話便是代碼的一種應(yīng)用。我們?cè)诳催@些奇怪的語(yǔ)句時(shí),如果沒(méi)有熟悉它們的人幫忙做翻譯的話,和在聽(tīng)一種國(guó)外的語(yǔ)言沒(méi)什么兩樣。

三、信息的隱藏

(1)讓文字“隱身”:轉(zhuǎn)換信息載體

為避免文字被別人直接看到,人們通常會(huì)使用“隱形墨水”來(lái)書寫信息。隱形墨水的材料非常簡(jiǎn)單,只是普通的檸檬汁和醋。用這種墨水寫出的字在紙張干燥的情況下不易被看到,濕潤(rùn)后則顯而易見(jiàn)。

還有一種方法便是將重要的信息隱藏在大量無(wú)關(guān)的信息中,最常見(jiàn)的便是藏頭詩(shī)了。比如在小說(shuō)《水滸傳》中,梁山好漢為了拉盧俊義入伙,吳用和宋江便生出一段“吳用智賺玉麒麟”的故事來(lái)。他們利用盧俊義為了躲避“血光之災(zāi)”的恐慌心理,編了四句卦歌:“蘆花叢中一扁舟,俊杰俄從此地游。義士若能知此理,反躬難逃可無(wú)憂。”將每一句的第一個(gè)字連在一起便是“盧俊義反”四字。依照此例,關(guān)鍵字也可以是每句話的第二、三字。當(dāng)此種書信不易書寫時(shí),也可直接將關(guān)鍵字做標(biāo)注,比如在關(guān)鍵字下扎一個(gè)小孔,讀信人迎著太陽(yáng)光便可知道信息。

(2)給信息加密:那些經(jīng)典的密碼

1.豬舍密碼:

豬舍密碼已流傳百年,它將26個(gè)英文字母放到固定的格子中,進(jìn)而以格子的形狀來(lái)代替字母。具體實(shí)例如插圖。

例如,若要表示字母T,便可用“>”表示。上述圖二所表達(dá)的信息分別是:x marks

The spot

由于太過(guò)經(jīng)典,這種密碼已不常用了。

2.將字母重新排序

此種加密的方法即是將我們要傳達(dá)的信息填到特定的表格中,再按照表格豎行的順序?qū)⒆帜赴l(fā)出。例如,信息的內(nèi)容是:I will see you in Lincoln park tomorrow afternoon

將這段文字輸入下面的表格

I W I L L
S E E Y O
U I N L I
N C O L N
P A R K T
O M O R R
O W A F T
E R N O O
N

那么下一步發(fā)送出去的內(nèi)容即變成了 ISUNP OOENW EICAM WRIEN OROAN LYLLK RFOLO INTRT O 如此一來(lái)我們便完成了對(duì)信息的一次加密。

3.關(guān)鍵詞存在的加密方式

以medicinal為關(guān)鍵詞,則在這個(gè)單詞中將各個(gè)字母按字母表順序編號(hào):843526917,共九個(gè)數(shù)字,所以我們列出一個(gè)有九列的表格,第一行為關(guān)鍵詞的數(shù)字,還是將上述信息填入。

8 4 3 5 2 6 9 1 7
I W I L L S E E Y
O U I N L I N C O
L N P A R K T O M
O R R O W A F T E
R N O O N

然而,當(dāng)我們發(fā)送信息時(shí)則按照第一行數(shù)字的順序,將各列字母列出:ECOTLLRWNIIPROWUNRNLNAOOSIKAYOMEIOLORENTF 再將這串字母五個(gè)一組發(fā)出:

ECOTL LRWNI IPROW UNRNL NAOOS IKAYO MEIOL ORENT F即完成加密。

也可在關(guān)鍵詞存在的條件下將字母重新排序。例如,我們選擇goodtime為關(guān)鍵詞,將其列在密碼表的開(kāi)頭位置。如關(guān)鍵詞中有重復(fù)的字母,即次關(guān)鍵詞中的o,則將其省略掉其中一個(gè)。然后從關(guān)鍵詞的最后一個(gè)字母開(kāi)始,完成字母表剩余的部分。具體如下表:

a b c d e f g h i g k l m n o p q r s t u v w x y z
G O D T I M E F H J K L N P Q R S U V W X Y Z A B C

這樣我們就完成了一份密碼表。需要注意的是,密碼表的第二行不能有重復(fù)的字母。用此種方法進(jìn)行加密,雖說(shuō)關(guān)鍵詞使信息被破解的可能性大大降低,但人們通??梢酝ㄟ^(guò)一般情況下字母出現(xiàn)的概率來(lái)推測(cè)密碼表的結(jié)構(gòu)。例如統(tǒng)計(jì)發(fā)現(xiàn),文章中出現(xiàn)概率最高的字母為“e”,這便是破譯的一條線索。但整片文章中不出現(xiàn)字母“e”的可能性也是有的。

4.欺騙譯碼人

從上面的例子來(lái)看,譯碼人在破譯密碼時(shí)最常用的方法是頻率分析法。所以我們?cè)诒WC信息安全時(shí),可以通過(guò)一些手段給譯碼人制造一些假象,破壞頻率分析法。例如,用多個(gè)符號(hào)來(lái)代替常用的字母,還可以加入一些沒(méi)有意義的符號(hào)作為空符。具體的做法是在關(guān)鍵詞的后面再加上幾個(gè)其它的符號(hào),然后將剩下的字母移到常用字母(a,e,o,t)的下一行對(duì)應(yīng)處:

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 O D T I M E 1 2 3 4 F H J K L N P Q R S U V W X Y
Z A B C

這樣一來(lái),常用詞的對(duì)應(yīng)密碼變成了兩個(gè),例如我們?cè)诒磉_(dá)“THE”這個(gè)單詞時(shí)就可以有四種表現(xiàn)方式了“R1I”、“R1A”、“C1I”、“C1A”。這就大大提高了破譯密碼的難度。

雖說(shuō)此種方式可以在一定程度上擾亂譯碼人的視聽(tīng),但是譯碼人還是可以通過(guò)經(jīng)常出現(xiàn)的且連在一起的兩個(gè)字母,或是連在一起的重復(fù)字母而有所發(fā)現(xiàn)。那么,有沒(méi)有一種方法可以用兩個(gè)乃至多個(gè)字母來(lái)代表信息中的字母呢?由此想法,我們的先人們想出了將多個(gè)字母表結(jié)合到一起進(jìn)行加密的方法。最著名的一種方法應(yīng)該算是16世紀(jì)后半期出現(xiàn)的維吉那正方形:

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 B C D E F G H I G 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 M N O P Q R S T U V W X Y Z

實(shí)際上,字母表很簡(jiǎn)單,就是將26個(gè)字母寫成一個(gè)正方形,依次用了26種凱撒移位。而它的復(fù)雜之處就在于每個(gè)密碼字母都可能代表26個(gè)原始字母,所以很難破譯。

現(xiàn)在,我們來(lái)看一下如何使用這種密碼。

首先,我們還是需要一個(gè)關(guān)鍵詞。還以MEDICINCAL為關(guān)鍵詞,I will see you in Lincoln park tomorrow afternoon為信息。我們需要將關(guān)鍵詞重復(fù)的寫在信息的上方:

MEDICINALMEDICINALMEDICINALMEDICINALMEDIC

iwillseeyouinlincolnparktomorrowafternoon

下面我們開(kāi)始對(duì)信息進(jìn)行加密。信息的第一個(gè)字母為i,它所對(duì)應(yīng)的關(guān)鍵詞字母是M,那么我們?cè)诰S吉那正方形中的最左邊一列中找到“M”,然后在它所在的橫行中找到與“i”對(duì)應(yīng)的字母“V”。所以加密后的第一個(gè)字母為“V”。依次類推,將信息中的字母全部替代掉,就可以得到一封完整的密碼信了。從加密的方式來(lái)看,關(guān)鍵詞越長(zhǎng),加密的復(fù)雜性越高。同時(shí),如果我們將關(guān)鍵詞進(jìn)行二次加密,則破譯難度將會(huì)更大。

看過(guò)了以上幾個(gè)典型的加密方式,你是否感到驚嘆與神奇?也許在學(xué)習(xí)了這些方法之后,我們可以輕松的加密自己的信息,可是如果給我們一封雜亂無(wú)章的密碼信,我們是否又能在千千萬(wàn)萬(wàn)的加密方法中找到正確的那個(gè)并且準(zhǔn)確的破譯呢?想想就會(huì)讓人頭大吧……如果你想要真正掌握這些加密與解密的方法的話,最有效的辦法便是注重在實(shí)際生活中對(duì)這些方法的使用。當(dāng)你真正可以熟練的運(yùn)用它們,它們才能算是真正為你所用了。

此外,以上所介紹的幾種方法現(xiàn)在也很少有人使用了,一方面是由于方法陳舊、太多人知曉了,另一方面,更多更新鮮實(shí)用巧妙的方法在不斷的被發(fā)明出來(lái),先前的方法被逐漸淘汰。密碼的發(fā)展展現(xiàn)出了欣欣向榮的前景。

四、保密的機(jī)器

用來(lái)加密或破譯密碼的機(jī)器可以幫助編碼人或譯碼人減輕工作上的負(fù)擔(dān)。任何機(jī)器的發(fā)展都是由簡(jiǎn)單到復(fù)雜的,最早的保密機(jī)器只是一根木棍。斯巴達(dá)人首先將羊皮紙纏在一根木棍上,再沿著木棍寫上信息。在羊皮紙上加上其它無(wú)用信息后,展開(kāi)的羊皮紙上雜亂無(wú)章,信息就會(huì)被隱藏起來(lái)。讀信人只有用同樣粗細(xì)的木棍才能將信息再次顯示出來(lái)。

在15世紀(jì),編碼人利昂?巴提斯塔?愛(ài)波提,他首先提出了用多字母進(jìn)行編碼,發(fā)明的機(jī)器也與多字母表編碼有關(guān)。此機(jī)器由兩個(gè)圓形的銅盤組成,一大一小,小的銅盤可以轉(zhuǎn)動(dòng)。大圓盤的邊緣寫著普通的字母,而小盤邊緣則寫著密碼字母表的符號(hào)。通過(guò)旋轉(zhuǎn)小盤,我們就可以得到26種不同的密碼字母表。

18世紀(jì)90年代,杰弗遜又發(fā)明了一種更為方便的密碼輪。這種密碼輪由26個(gè)轉(zhuǎn)盤組成,每個(gè)轉(zhuǎn)盤的邊緣都寫有全部的26個(gè)字母,但是字母的排列順序是各不相同的。當(dāng)你要發(fā)送信息時(shí),在第一個(gè)轉(zhuǎn)盤上依次轉(zhuǎn)動(dòng)到相應(yīng)的字母上,在26個(gè)轉(zhuǎn)盤上會(huì)顯示26個(gè)不同的字母。此時(shí)你只需要選擇其中一個(gè)轉(zhuǎn)盤上的字母為加密后的信息發(fā)送出去,收信者只需用同樣的機(jī)器便可得出原信息。

隨著技術(shù)的進(jìn)步,保密機(jī)器經(jīng)歷機(jī)械化、電氣化,演化出眾多十分精巧的形式。我們?cè)谟耙曋谐?吹降碾妶?bào)便將密碼生成的過(guò)程大大簡(jiǎn)化,為情報(bào)的傳遞提供了極大的便利。回到現(xiàn)在,計(jì)算機(jī)密碼則在此基礎(chǔ)上有了更大更復(fù)雜的發(fā)展。計(jì)算機(jī)可通過(guò)ASCII系統(tǒng)將所有的字母轉(zhuǎn)化成二進(jìn)制的數(shù)字,再通過(guò)編碼軟件將其轉(zhuǎn)換成極其復(fù)雜的密碼。此過(guò)程雖然計(jì)算量大,但利用計(jì)算機(jī)極高的計(jì)算速度,已成為人們生活中普遍使用的加密方法。

由上述可見(jiàn),我們印象中的那串黑點(diǎn)是密碼文化發(fā)展到今日的便捷產(chǎn)物,密碼的產(chǎn)生和發(fā)展標(biāo)示著人類智慧的進(jìn)步,同時(shí)也是需要我們?nèi)鞒械奈幕z產(chǎn)。而在我們自小至大的成長(zhǎng)過(guò)程中,與密碼有關(guān)的知識(shí)我們可能只有在課外科普與偵探小說(shuō)中才能了解的到,很多人并沒(méi)有這方面的知識(shí)儲(chǔ)備。在我看來(lái),青少年了解密碼的加密與解密的方法,不僅可以開(kāi)闊視野,更重要的是在這個(gè)學(xué)習(xí)的過(guò)程中,我們可以鍛煉自己的思維,鍛煉觀察與聯(lián)想的能力,進(jìn)而在生活的其它方面得到幫助。

總而言之,密碼那些事兒里有無(wú)窮無(wú)盡的奧秘,感興趣的小伙伴快帶著自己的求知心一探究竟吧。

內(nèi)容資源由項(xiàng)目單位提供