2008年10月1日 星期三

密碼之破解

電腦的普及,令很多人忽然變成了某些領域的專家。

密碼學便是一個好例子,我認識不少自稱為破碼專家的小朋友,他們就是懂得使用一兩套破解軟件,結果便成了‘專家’,對他們來說,解碼就是按幾下鼠標而已!

首先,我必需聲明,我對實際的密碼破解興趣不大。首先,我的數學和語文水平有限,缺乏真正解碼專家的條件。又由於對別人的私隱沒有甚麼興趣,所以我又當不成以上的‘破密軟件使用專家’。

但一些基本的破密方法還是有點認識的,今次便和大家分享一下。

小學時,尺牘課(教如何寫信)內提到中文電報明碼和暗碼。那時,我簡直像發現新大陸一樣,我找到了完全保密的方法了。後來才發覺,我是白痴,如此容易破解的方法都信的!

電報明碼和暗碼是這樣的。電報是西方產物,本來祗可以傳送字母和數字。當然不可以傳送中文。當電報傳入中國後,我們便把最常用的幾千字,每個加以一個特定的編號,由於電報可以傳送數字,那麼,我們便等如可以傳送中文了。

由於這個編碼是公開的,幾十年前,隨便都是可在書局裏買到這本電報碼書。比方說,我的名字有一個‘錦’字,‘錦’字的電報碼便是6930,不要問為甚麼是6930,編號編到6930就是6930。沒問題,當雙方都拿著同一版本的編碼書,見到6930便是‘錦’字啊。這便是‘明碼’!

暗碼的方法就是你和朋友約定一個數字,例如,100。這是你和朋友的共享秘密。於是‘錦’字,就由6930變成6930+100即7030,當然,若其他人拿著明碼表,你的訊息便會變為一堆沒意義的文字。但你的朋友,每碼減100,便可得回原文!

很厲害啊!錯,若今天還用這種方法,電腦不用一秒鐘,便會把原文弄出來。此話怎樣說。由於你可用的數字(匙)就祗是由1到9999,電腦頂多便是逐個嘗試,然後看看有沒有‘有意義’的文字出現。可能要你試9999次會用上一些時間,但以現代電腦來說,辦妥這事情所需的時間,應以萬份一秒計!

若文章有一定長度,及或破解者對其內容有一定的了解,根本就不用試這麼多次。阿拉伯人早在千多年前,經已懂得使用頻率分析法。任何語言,特別是拼音語系,符號出現的頻率是會有所不同的,例如,英文內的a出現頻率最高,而z就比較低。通過對這些頻率的統計,然後比對文章上符號的頻率,便會為解碼提供很大的提示。

中文是方塊字,並沒有字母,但常用與非常用字都有其出現頻率上的差別。類似方法在某程度上仍是可使用的。

對於某些文字,還有一點是可被解碼專家利用的。這就是格式。密碼學上稱為定位攻擊。例如,若訊息的開始必然是‘陳將軍大鑒’那麼,若是用上述的暗碼系統,就算不用電腦,破碼又有多難呢?

但必需說明,以上的低能系統,千年前經已被阿拉伯人完全掌握。在近代軍事,根本就不會被人使用。兩百多年前開發出來的‘多替代編碼系統’就令頻率分析法一時失效。二次世界大戰時,日軍的‘紫密’(Purple)和德軍的Enigma,簡直就配得上‘偉大’兩字。今次,先不說Enigma,‘紫密’的破解,應記一功的便是日本公文格式的嚴謹。解碼專家就是尋找規律,那怕是丁點規律,都會成為生死破綻!

珍珠港事件,美國還比日本早,破解出日本向美國宣戰的外交照會!所以,至今仍有人懷疑是不是羅斯福為製造美國參戰的理由而犠牲珍珠港官兵的生命!

沒有留言:

網誌存檔