在密碼問(wèn)題中,加密與解密永遠(yuǎn)是一對(duì)矛盾,它們相互促進(jìn),相互制約。這里給大家談?wù)勔恍┟艽a趣聞。
首先介紹一種用英文字母來(lái)代替英文字母的加密方法。我們不妨用“All codes lead to Rome”來(lái)作為原文的例子(這句話(huà)可翻譯為“一切密碼通羅馬” )。下面把這句原文用5種不同的方式編成密碼,你能認(rèn)出它們是怎么編成的嗎?
1. ZOOXLWVHOVZWGLILNV;
2. ACEETOLOSAOMLDLDRE;
3. HPRURWGDHOVHGRFOOD;
4. AMNFSIKZTNKOFBFDCV;
5. BNZCRVATFKLPJYQFSX。
由于我們事先已經(jīng)知道了原句,所以容易看出第一句密碼是用“對(duì)稱(chēng)法”來(lái)編寫(xiě)的:先把26個(gè)英文字母排成一橫行,以正中為對(duì)稱(chēng)點(diǎn)。然后每個(gè)字母都用與它對(duì)稱(chēng)的另一字母來(lái)代替。于是A就變成為Z,B則變成Y,而正中的M和N則相互替換。知道了這句密碼是如何編制的,那么解密也就不在話(huà)下了。
第二句密碼呢?這次采用的是“橫變豎”的方法。先把原句中共18個(gè)字母寫(xiě)成一個(gè)3×6的方陣(空格不計(jì))。這時(shí)最上面兩行的字母橫著寫(xiě)就是ALL和COD,然后再把這個(gè)方陣從上往下豎起來(lái)讀,并把它們重新編成密碼。這時(shí)當(dāng)然還要補(bǔ)充上原有的空格。由于方陣可以采取多種形式,所以編成的密碼也就非常難以識(shí)別了。
第三句密碼用的是“退三反寫(xiě)”法。編碼人先把每個(gè)英文字母都用它在字母表中后面第三個(gè)字母來(lái)代替。這時(shí)字母A就成為D,L就成為O……然后把所有字母全部反過(guò)來(lái)寫(xiě),再插入原有的空格即可。當(dāng)然如果不去退三而去退四也是可以的,所以這種密碼同樣顯得撲朔迷離,讓人難以識(shí)破。
第四句密碼用的是“累次退后”法。方法是讓原句中的第一個(gè)字母(就是A)不動(dòng),把第二個(gè)字母在字母表中退后一位,第三個(gè)字母則退后兩位,第四個(gè)退后三位……所以原來(lái)的A還是A,但L退后一位就成了M,而第二個(gè)L就得變成N,C則變成F,如此等等。這種方法誰(shuí)又能猜得到呢?
第五句用的是“圓圈對(duì)應(yīng)”法。把數(shù)1至26按順時(shí)針?lè)较驅(qū)懗梢粋€(gè)圓圈,同時(shí)把字母A至Z也按順時(shí)針?lè)较驅(qū)懺谕粋€(gè)圓內(nèi)。于是對(duì)應(yīng)關(guān)系就成為A=1,B=2,C=3……先把各字母變?yōu)閷?duì)應(yīng)的數(shù)(例如ALL=1、12、12,CODES=3、15、4、5、19),再?gòu)?開(kāi)始順時(shí)針沿圓圈數(shù)過(guò)相同的位置。例如見(jiàn)1就數(shù)過(guò)一位變成2(而2=B),接著從2開(kāi)始再數(shù)過(guò)12位(因?yàn)長(zhǎng)=12),這第二個(gè)字母L的密碼現(xiàn)在就成為14(而14=N);然后從14開(kāi)始再數(shù)12位(還是因?yàn)長(zhǎng)=12),第三個(gè)字母L的密碼現(xiàn)在就是26(26=Z)等等,最后只要把(2、14、26)按照A=1,B=2來(lái)代回字母成為BNZ即可。
這種編制密碼的方法雖然簡(jiǎn)單,收發(fā)雙方甚至都不需要什么專(zhuān)門(mén)的密碼本,只要心領(lǐng)神會(huì),就能讓外人莫名其妙了。然而在現(xiàn)代熟悉電腦的專(zhuān)家面前,它們還是很容易被破譯的,所以不算什么高難度的密碼。
其次我們來(lái)介紹密碼中經(jīng)常使用的一種密鑰圖(俗稱(chēng)key)。加密一方和解密一方各自都必須擁有一張相同的密鑰圖,這里用的可以稱(chēng)為是一種幾何方法。加密一方利用密鑰圖來(lái)編制密碼,解密一方則用它來(lái)解密。第三者很難知曉其中奧秘。不信嗎?不妨假定你無(wú)意中獲得了一張5×5的密鑰圖(圖1),另外又截獲了他們雙方之間傳送的5張密碼圖,每張圖也都是5×5的方陣(圖2)。其中的25個(gè)小方格全被涂上了黑白雙色。告訴你:每個(gè)方陣各自對(duì)應(yīng)一個(gè)英文字母,5個(gè)英文字母組合起來(lái)就能拼成一種樂(lè)器名稱(chēng)。現(xiàn)在你能破譯出這個(gè)結(jié)果來(lái)嗎?我們甚至還可以告訴你:圖2左起第一張圖代表的就是大寫(xiě)英文字母A,但是其余的呢?
如果你還沒(méi)看出來(lái)的話(huà),只要把圖2的每張圖和圖1的密鑰圖逐格對(duì)照就行了。如果它們的顏色是同黑或同白的,那么在相應(yīng)的答案圖中就應(yīng)該把這一方格涂為白色;如果密鑰圖的某格與原圖中的相應(yīng)方格不同色,則要把答案圖的該格涂為黑色。所以原來(lái)5張圖就對(duì)應(yīng)成了圖3中的字母A、I、N、O、P,合起來(lái)就可組成PIANO,也就是鋼琴的意思,局外人當(dāng)然是無(wú)法猜到的了。
智力大沖浪
1. 當(dāng)質(zhì)數(shù)p等于多少時(shí),數(shù)2p+1能夠被9整除?
2. 某自然數(shù)列的第一項(xiàng)為1,以下各項(xiàng)都是把它前面一項(xiàng)乘以2再加上1。那么在這個(gè)數(shù)列的前2006項(xiàng)中有多少項(xiàng)能被5整除?
3.善于抽象思維的人能把魚(yú)缸想象成兩個(gè)疊在一起的正方體,把魚(yú)想象成為其中的一條折線。如果從缸的正面去觀察,看到的魚(yú)就像圖中左側(cè)粗線那樣;如果從右面去觀察呢,魚(yú)就像圖中右側(cè)的粗線那樣。那么如果從魚(yú)缸頂端朝下觀察,看到的又是什么樣的呢?請(qǐng)你畫(huà)出來(lái)。
4. 三個(gè)女孩分別穿上白色、綠色和藍(lán)色的連衣裙,連她們的鞋子也是這三種同樣顏色的。不過(guò)只有阿蘭的衣服和鞋子同色,而小麗的衣服和鞋子都不是白色,還有芳芳穿的是一雙綠鞋子。那么阿蘭、小麗和芳芳穿的各是什么顏色的連衣裙呢?
5.這里給你的圖形完全是由圓弧構(gòu)成的。具體說(shuō)就是由一個(gè)半徑為2的半圓,還有兩個(gè)半徑為1的半圓所圍成(注:這很像是我國(guó)陰陽(yáng)太極圖的一半)。那么你能把這個(gè)圖形四等分嗎?
6.一個(gè)大正方形被分成36個(gè)較小的正方形,而其中有35個(gè)正方形的面積都等于1,只有剩下的一個(gè)正方形面積不等于1。那么這個(gè)正方形有多大呢?