從《紅燈記》開始,我們就聽說了密電碼這個詞。李玉和把密電碼藏在粥桶裏,讓敵人難以發現。直到現在每一部諜戰劇中都有的各種密碼,解密等等的情節,讓我們對密電碼、密電、解密產生了好奇。
那天有網友提到了莫爾斯密碼,說是敲敲就能讓對方知道要說的話。確實,看到過這樣的情節,很佩服他們的記憶力和彼此的默契。但真不知道他們是怎麽掌握的。
今天好奇在網上搜了一下,看到了有專門介紹密碼的文。轉過來跟大家分享一下,了解我們看諜戰劇的時候,那些密碼的秘密,也能了解他們到底是怎樣解密的。
是不是以後會寫電腦程序的人,都比較容易做解密工作呢?不知道。
現代戰爭據說更需要密碼了。
密電碼簡介
每個國家都有自己專用的密電碼,一套至幾套不等(軍事)密
電碼。二戰期間日軍的密電碼因係統不同,電碼各別,其中以陸軍密電碼為最難破譯,整個抗戰期間,日軍陸軍與海軍的密電碼始終未曾被破譯過;空軍密電碼則比較簡單,容易破譯。有英文字母的,有數字組成的,也有日文的,其中以英文的為最多。但不論哪種形式,都有一個共同特點,那就是字符之間不留任何空檔,一律
緊密連接,不像英文電報每個單詞一組,也不像中文電報每四個數字一組。
另外,各種行業也都有通用的國際電碼。(航海,航空,救援)等等。
電碼莫爾斯電碼
電碼曆史
最早的莫爾斯電碼是一些表示數字的點和劃。數字對應單詞,需要查找一本代碼表才能知道每個詞對應的數。用一個
電鍵可以敲擊出點、劃以及中間的停頓。
雖然莫爾斯發明了電報,但他缺乏相關的專門技術。他與Alfred Vail簽定了一個協議,讓他幫自己製造更加實用的設備。Vail構思了一個方案,通過點、劃和中間的停頓,可以讓每個字符和標點符號彼此獨立地發送出去。他們達成一致,同意把這種標識不同符號的方案放到莫爾斯的專利中。這就是現在我們所熟知的美式莫爾斯電碼,它被用來傳送了世界上第一條電報。
這種代碼可以用一種音調平穩時斷時續的無線電信號來傳送,通常被稱做連續波(Continuous Wave),縮寫為CW。它可以是電報電線裏的電子脈衝,也可以是一種機械的或視覺的信號(比如閃光)。
一般來說,任何一種能把書麵字符用可變長度的信號表示的編碼方式都可以稱為莫爾斯電碼。但現在這一術語隻用來特指兩種表示英語字母和符號的莫爾斯電碼:美式莫爾斯電碼被使用了在有線電報通信係統;今天還在使用的國際莫爾斯電碼則隻使用點和劃(去掉了停頓)。
電報公司根據要發的信的長度收費。商業代碼精心設計了五個字符組成一組的代碼,做為一個單詞發送。比如:BYOXO ("Are you trying to crawl out of it?";LIOUY ("Why do you not answer my question?",;AYYLU ("Not clearly coded, repeat more clearly."。這些五個字符的簡語可以用莫爾斯電碼單獨發送。在網絡用辭中,我們也會說一些最常用的莫爾斯商用代碼。現在仍然在業餘無線電中使用的有Q簡語和Z簡語:他們最初是為
報務員之間交流通信質量、頻率變更、電報編號等信息服務的。
1838年1月8日,Alfred Vail展示了一種使用點和劃的電報碼,這是莫爾斯電碼前身。
作為一種信息編碼標準,莫爾斯電碼擁有其他編碼方案無法超越的長久的生命。莫爾斯電碼在海事通訊中被作為國際標準一直使用到1999年。1997年,當法國海軍停止使用莫爾斯電碼時,發送的最後一條消息是:“所有人注意,這是我們在永遠沉寂之前最後的一聲呐喊”!
電碼軍事應用
自從無線電和莫爾斯電碼問世後,軍事通訊進入了一個嶄新的時代,但是無線電通訊完全是一個開放的係統,在己方接受電文的同時,對方也可“一覽無遺”,因此人類曆史上早就伴隨戰爭出現的密碼也就立即與無線電結合,出現了無線電密碼。直到第一次世界大戰結束,所有無線電密碼都是使用手工編碼,毫無疑問,手工編碼效率極其低下,同時由於受到手工編碼與解碼效率的限製,使得許多複雜的保密性強的加密方法無法在實際中應用,而簡單的加密方法又很容易被破譯,因此在軍事通訊領域,急需一種安全可靠而又簡便有效的方法。
電碼電碼構成
莫爾斯電碼由點(.)、劃(-)兩種符號組成:
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 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
0 -----
? ..--..
/ -..-.
() -.--.-
- -....-
. .-.-.-
電碼構成原則
1.一點為一基本信號單位,每一劃的時間長度相當於3點的時間長度。
2.在一個字母或數字內,各點、各劃之間的間隔應為兩點的長度。
3.字母(數字)與字母(數字)之間的間隔為7點的長度。
電碼產生背景
1918年德國發明家亞瑟·謝爾比烏斯(Arthur Scherbius)和理查德·裏特(Richard Ritter)創辦了一家新技術應用公司,曾經學習過電氣應用的謝爾比烏斯想利用現代化的電氣技術來取代手工編碼加密方法,發明一種能夠自動編碼的機器。
電碼工作原理
謝爾比烏斯給自己所發明的電氣編碼機械取名“埃尼格瑪”(ENIGMA,意為啞謎),乍看是個放滿了複雜而精致的元件的盒子,粗看和打字機有幾分相似。可以將其簡單分為三個部分:鍵盤、轉子和顯示器。
鍵盤一共有26個鍵,鍵盤排列和現在廣為使用的計算機鍵盤基本一樣,隻不過為了使通訊盡量地短和難以破譯,空格、數字和標點符號都被取消,而隻有字母鍵。鍵盤上方就是顯示器,這可不是現在意義上的屏幕顯示器,隻不過是標示了同樣字母的26個小燈泡,當鍵盤上的某個鍵被按下時,和這個字母被加密後的密文字母所對應的小燈泡就亮了起來,就是這樣一種近乎原始的“顯示”。在顯示器的上方是三個直徑6厘米的轉子,它們的主要部分隱藏在麵板下,轉子才是“埃尼格瑪”密碼機最核心關鍵的部分。如果轉子的作用僅僅是把一個字母換成另一個字母,那就是
密碼學中所說的“簡單替換密碼”,而在公元九世紀,阿拉伯的密碼破譯專家就已經能夠嫻熟地運用統計字母出現頻率的方法來破譯簡單替換密碼,柯南·道爾在他著名的福爾摩斯探案《跳舞的小人》裏就非常詳細地敘述了福爾摩斯使用頻率統計法破譯跳舞人形密碼(也就是簡單替換密碼)的過程。——之所以叫“轉子”,因為它會轉!這就是關鍵!當按下鍵盤上的一個字母鍵,相應加密後的字母在顯示器上通過燈泡閃亮來顯示,而轉子就自動地轉動一個字母的位置。舉例來說,當第一次鍵入A,燈泡B亮,轉子轉動一格,各字母所對應的密碼就改變了。第二次再鍵入A時,它所對應的字母就可能變成了C;同樣地,第三次鍵入A時,又可能是燈泡D亮了。——這就是“埃尼格瑪”難以被破譯的關鍵所在,這不是一種簡單替換密碼。同一個字母在明文的不同位置時,可以被不同的字母替換,而密文中不同位置的同一個字母,又可以代表明文中的不同字母,字母頻率分析法在這裏絲毫無用武之地了。這種加密方式在
密碼學上被稱為“複式替換密碼”。
但是如果連續鍵入26個字母,轉子就會整整轉一圈,回到原始的方向上,這時編碼就和最初重複了。而在加密過程中,重複的現象就很是最大的破綻,因為這可以使破譯密碼的人從中發現規律。於是“埃尼格瑪”又增加了一個轉子,當第一個轉子轉動整整一圈以後,它上麵有一個齒輪撥動第二個轉子,使得它的方向轉動一個字母的位置。假設第一個轉子已經整整轉了一圈,按A鍵時顯示器上D燈泡亮;當放開A鍵時第一個轉子上的齒輪也帶動第二個轉子同時轉動一格,於是第二次鍵入A時,加密的字母可能為E;再次放開鍵A時,就隻有第一個轉子轉動了,於是第三次鍵入A時,與之相對應的就是字母就可能是F了。
因此隻有在26x26=676個字母後才會重複原來的編碼。而事實上“埃尼格瑪”有三個轉子(二戰後期德國海軍使用的“埃尼格瑪”甚至有四個轉子!),那麽重複的概率就達到26x26x26=17576個字母之後。在此基礎上謝爾比烏斯十分巧妙地在三個轉子的一端加上了一個反射器,把鍵盤和顯示器中的相同字母用電線連在一起。反射器和轉子一樣,把某一個字母連在另一個字母上,但是它並不轉動。乍一看這麽一個固定的反射器好像沒什麽用處,它並不增加可以使用的編碼數目,但是把它和解碼聯係起來就會看出這種設計的別具匠心了。當一個鍵被按下時,信號不是直接從鍵盤傳到顯示器,而是首先通過三個轉子連成的一條線路,然後經過反射器再回到三個轉子,通過另一條線路再到達顯示器上,比如說上圖中A鍵被按下時,亮的是D燈泡。如果這時按的不是A鍵而是D鍵,那麽信號恰好按照上麵A鍵被按下時的相反方向通行,最後到達A燈泡。換句話說,在這種設計下,反射器雖然沒有象轉子那樣增加不重複的方向,但是它可以使解碼過程完全重現編碼過程。
電碼操作方法
使用“埃尼格瑪”通訊時,發信人首先要調節三個轉子的方向(而這個轉子的初始方向就是密匙,是收發雙方必須預先約定好的),然後依次鍵入明文,並把顯示器上燈泡閃亮的字母依次記下來,最後把記錄下的閃亮字母按照順序用正常的電報方式發送出去。收信方收到電文後,隻要也使用一台“埃尼格瑪”,按照原來的約定,把轉子的方向調整到和發信方相同的初始方向上,然後依次鍵入收到的密文,顯示器上自動閃亮的字母就是明文了。加密和解密的過程完全一樣,這就是反射器的作用,同時反射器的一個副作用就是一個字母永遠也不會被加密成它自己,因為反射器中一個字母總是被連接到另一個不同的字母。
埃尼格瑪”加密的關鍵就在於轉子的初始方向。當然如果敵人收到了完整的密文,還是可以通過不斷試驗轉動轉子方向來找到這個密匙,特別是如果破譯者同時使用許多台機器同時進行這項工作,那麽所需要的時間就會大大縮短。對付這樣“暴力破譯法”(即一個一個嚐試所有可能性的方法),可以通過增加轉子的數量來對付,因為隻要每增加一個轉子,就能使試驗的數量乘上26倍!不過由於增加轉子就會增加機器的體積和成本,而密碼機又是需要能夠便於攜帶的,而不是一個帶有幾十個甚至上百個轉子的龐然大物。那麽方法也很簡單,“埃尼格瑪”密碼機的三個轉子是可以拆卸下來並互相交換位置,這樣一來初始方向的可能性一下就增加了六倍。假設三個轉子的編號為1、2、3,那麽它們可以被放成123-132-213-231-312-321這六種不同位置,當然現在收發密文的雙方除了要約定轉子自身的初始方向,還要約好這六種排列中的一種。
而除了轉子方向和排列位置,“埃尼格瑪”還有一道保障安全的關卡,在鍵盤和第一個轉子之間有塊連接板。通過這塊連接板可以用一根連線把某個字母和另一個字母連接起來,這樣這個字母的信號在進入轉子之前就會轉變為另一個字母的信號。這種連線最多可以有六根(後期的“埃尼格瑪”甚至達到十根連線),這樣就可以使6對字母的信號兩兩互換,其他沒有插上連線的字母則保持不變。——當然連接板上的連線狀況也是收發雙方預先約定好的。
就這樣轉子的初始方向、轉子之間的相互位置以及連接板的連線狀況就組成了“埃尼格瑪”三道牢不可破的保密防線,其中連接板是一個簡單替換密碼係統,而不停轉動的轉子,雖然數量不多,但卻是點睛之筆,使整個係統變成了複式替換係統。連接板雖然隻是簡單替換卻能使可能性數目大大增加,在轉子的複式作用下進一步加強了保密性。讓我們來算一算經過這樣處理,要想通過“暴力破譯法”還原明文,需要試驗多少種可能性:
三個轉子不同的方向組成了26x26x26=17576種可能性;
三個轉子間不同的相對位置為6種可能性;
連接板上兩兩交換6對字母的可能性則是異常龐大,有100391791500種;
於是一共有17576x6x100391791500,其結果大約為10000000000000000!即一億億種可能性!這樣龐大的可能性,換言之,即便能動員大量的人力物力,要想靠“暴力破譯法”來逐一試驗可能性,那幾乎是不可能的。而收發雙方,則隻要按照約定的轉子方向、位置和連接板連線狀況,就可以非常輕鬆簡單地進行通訊了。這就是“埃尼格瑪”密碼機的保密原理。
電碼社會反響
1918年謝爾比烏斯為“埃尼格瑪”密碼機申請了專利,並於1920年開發出了商用的基本型和帶打印機的豪華型,但是高昂的價格(折算成今天的貨幣,約相當於3萬美元)卻使“埃尼格瑪”密碼機少人問津。就在謝爾比烏斯研製“埃尼格瑪”密碼機的同時,還有三個人也有了類似的發明。1919年荷蘭人亞曆山大·科赫(Alexander Koch)也注冊了相似的發明專利“秘密寫作機器”,但最終因無法商業化而於1927年轉讓了這個專利(因此也有說法稱謝爾比烏斯是根據科赫的專利研製出了“埃尼格瑪”密碼機)。瑞典人阿維德·達姆(Arvid Damm)也獲得了一個同樣原理的專利,但是直到1927年他去世時還隻是停留在紙麵上。第三個人是美國人愛德華·赫本(Edward Hebern),而他的遭遇最為悲慘,他發明“獅身人麵”密碼機,並集資三十八萬美元開辦工廠進行生產銷售,結果卻隻賣出十來台,收入還不到兩千美元,1926年遭到股東起訴,被判有罪而入獄。
電碼接到訂單
在1923年國際郵政協會大會上,公開亮相的“埃尼格瑪”密碼機仍舊是購者寥寥。眼看“埃尼格瑪”也要無疾而終,卻突然柳暗花明——1923年英國政府公布了一戰的官方報告,談到了一戰期間英國通過破譯德國無線電密碼而取得了決定性的優勢,這引起了德國的高度重視。隨即德國開始大力加強無線電通訊安全性工作,並對“埃尼格瑪”密碼機進行了嚴格的安全性和可靠性試驗,認為德國軍隊必須裝備這種密碼機來保證通訊安全——接到德國政府和軍隊的定單,謝爾比烏斯的工廠得以從1925年開始批量生產“埃尼格瑪”,1926年德軍海軍開始正式裝備,兩年後德國陸軍也開始裝備。當然這些軍用型“埃尼格瑪”與原來已經賣出的少量商用型在最核心的轉子結構上有所不同,因此即使擁有商用型也並不能知道軍用型的具體情況。納粹黨掌握德國政權後也對“埃尼格瑪”密碼機的使用進行了評估,認為該密碼機便於攜帶,使用簡便,更重要的是安全性極高。對於敵方而言,即使擁有了密碼機,如果不能同時掌握三道防線所組成的密鑰,一樣無法破譯。德國最高統帥部通信總長埃裏希·弗爾吉貝爾上校認為“埃尼格瑪”將是為德國國防軍閃擊戰服務的最完美的通信裝置。因此上至德軍統帥部,下至陸海空三軍,都把“埃尼格瑪”作為標準的製式密碼機廣為使用。——德國人完全有理由認為,他們已經掌握了當時世界最先進最安全的通訊加密係統,那是無法破譯的
密碼係統。然而如此愚蠢地寄信心於機器,最終隻會飽嚐機器所帶來的苦果。
而“埃尼格瑪”之父謝爾比烏斯卻未能看到“埃尼格瑪”被廣泛使用並對第二次世界大戰所產生的重大影響,他於1929年5月因騎馬時發生意外傷重而死。
加密是保障信息安全的重要手段之一。當前最常用的加密技術是用複雜的數學算法來改變原始信息。這種方法雖然安全性較高,但存在被破譯的可能,並非絕對可靠。而
量子密碼術是一種截然不同的加密方法,主要利用量子狀態來作為信息加密和解密的密鑰。任何想測算和破譯密鑰的人,都會因改變量子狀態而得到無意義的信息,而信息合法接收者也可以從
量子態的改變而知道密鑰曾被截獲過。從理論上來說,用量子密碼加密的通信不可能被竊聽,安全程度極高。世界上第一個量子密碼通信網絡2004年6月3日在美國馬薩諸塞州劍橋城正式投入運行。
人們在單一愷撒密碼的基礎上擴展出多表密碼,稱為“
維吉尼亞密碼”。它是由16世紀法國亨利三世王朝的布萊瑟·維吉尼亞發明的,其特點是將26個愷撒密表合成一個,見下表:
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 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
B 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
C 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
D 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
E 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
F 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
G 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
H 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
I 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
J 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
K 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
L 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
M 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
N 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
O 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
P 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
Q 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
R 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
S 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
T 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
U 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
V 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
W 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
X 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
Y 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
Z 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
維吉尼亞密碼引入了“密鑰”的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上麵第一行代表明文字母,左麵第一列代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,依此類推,得出對應關係如下:
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
曆史上以維吉尼亞密表為基礎又演變出很多種加密方法,其基本元素無非是密表與密鑰,並一直沿用到二戰以後的初級電子密碼機上。
所謂柵欄密碼,就是把要加密的明文分成N個一組,然後把每組的第i個字連起來,形成一段無規律的話。
一般比較常見的是2欄的棚欄密碼。
電碼加密
比如明文:THERE IS A CIPHER
去掉空格後變為:THEREISACIPHER
兩個一組,得到:TH ER EI SA CI PH ER
先取出第一個字母:TEESCPE
再取出第二個字母:HRIAIHR
連在一起就是:TEESCPEHRIAIHR
這樣就得到我們需要的密碼了。
電碼解密
而解密的時候,我們先把密文從中間分開,變為兩行:
T E E S C P E
H R I A I H R
再按上下上下的順序組合起來:
THEREISACIPHER
分出空格,就可以得到原文了:
THERE IS A CIPHER
但是有些人就偏不把密碼作出2欄,比如:
明文:THERE IS A CIPHER
七個一組:THEREIS ACIPHER
抽取字母:TA HC EI RP EH IE SR
組合得到密碼:TAHCEIRPEHIESR
那麽這時候就無法再按照2欄的方法來解了...
不過棚欄密碼本身有一個潛規則,就是組成棚欄的字母一般不會太多。(一般不超過30個,也就是一、兩句話)
這樣,我們可以通過分析密碼的字母數來解出密碼...
比如:TAHCEIRPEHIESR
一共有14個字母,可能是2欄或者7欄...
嚐試2欄——失敗
嚐試7欄——成功
然而當棚欄和拚音相結合後,誕生出一種令人痛恨的新思路...
比如在正道學院網絡版的開篇flash中出現過這樣一個棚欄:
QGBKSYSHJIEUEIIIIAN
總共19個字母~貌似不符合棚欄的規則...其實是因為出現了一個叫做捆綁的東西:
Q G B K S Y SH J
I E U E I I I IAN
上麵是聲母,下麵是韻母...
聲母中的sh和韻母中的ian都是被作者當為一個字符使用...
(密碼介紹的文章來自網絡)
啥情況,領導還不更,準備用密碼了?:)
問好!
王室的人也搞文革,動不動就來個”定性”什麽似的,賊搞笑。
博多電碼 (Baudot code)是電傳打字機打出的代碼,對方收到的是一個長條上麵帶很多孔的紙條,不學過的人,還真讀不懂。是民用碼,稍微學學就懂的啦。
當年的電傳通信如同今天的伊妹兒Email,隻是電傳的通信費用超級昂貴,尤其是那套設備的配置。
當然在那個年代,三十年前的中國大陸用電傳報名上學,奇怪,奇異又奇葩吧。
博主說的諜劇中的密碼是單手打的,而博多電碼是雙手打的,就如同使用今天的電腦鍵盤。
為此還去夜校學了三個月的外文打字,班上全是女生就我一個男的。在豔雀聲中學會了打ABC,還交了一班女學友,天啊!那個”吵”,美哉也。
回複 曉青: 老實話隻讀了開頭和結尾,很暈!如果以後文學城不是改用密碼寫文,我就不用學了哈!不過這城裏還真是說什麽都有人懂,太厲害了!
問好點點。
《正陽門下的小女人》在北京衛視熱播,書記看了嗎?
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
不然總錯位一個字母,請教了!
隻有英國人回我博多電碼 (Baudot code),次日就知道入學要求了。