關於古典密碼的小研究
其疾如風,其徐如林,侵掠如火,不動如山,難知如陰,動如雷震。
《孫子兵法·軍爭篇》
在戰場上,敵我雙方的情報,事關重大,所以訊息保密肯定是十分重要的事,思考到這裡,我開始好奇,以前沒有電腦做過於複雜的運算,那古時候的人都是怎麼加密訊息的。
我在課堂上有學過凱薩密碼和維吉尼亞密碼,但是這些比較適合用在類似英文字母這樣的拼音系統上,那如果是中文呢?除此之外,這世界還有什麼奇特的加密方法,也是這篇報告的研究對象。以下利用我在網路上找到的資料來細細說明,到頭來還是靠google。
※注意:以下內容因為疫情在家裡憋太久所以有點放飛自我,如果討厭請直接關閉視窗上一頁謝謝。
1. 陰符和陰書
周武王曾向姜子牙詢問,征戰時皇帝該如何和主將傳遞訊息,而姜子牙說了一堆讓人聽不懂的文言文,「主與將,有陰符,凡八等……(後面都在講不同長度的棒子各自代表什麼意思)」、「諸有陰事大慮,當用書,不用符。書皆一合而再離,三發而一知。」大意是說,使用陰符,陰符有八種不同長度,各自代表不同的訊息,可以把戰場上的資訊轉成敵人看不懂的符號。而陰書呢,則是說機軍書要分成三份,每一份由不同的人傳遞,之後要重新拼湊在一起才能還原原本的資訊。
2. 密碼棒
自製的圖片,覺得自己弄了一個糟糕的東西。
在古希臘,斯巴達人有一種奇特的加密方法,他們會先準備一條夾帶加密訊息的皮革(可以想成明文的字母被移位成讓人看不懂的密文),只要把這條皮革纏在一根木棒上,就能夠解讀上面的訊息(將字母移回原位),所以接受到密文的人需要拿同樣尺寸的木棒才能解密。
3. 豬圈密碼
早在1700年代,共濟會利用這種加密方法來保護一些祕密或重要訊息。在加密時,字母會題換成上圖中,字母對上的符號。拿維基百科上的的例子來舉例,明文「Star wars」的加密結果將呈現如下:

4. 培根密碼
| A | AAAAA | G | AABBA | N | ABBAA | T | BAABA |
| B | AAAAB | H | AABBB | O | ABBAB | U-V | BAABB |
| C | AAABA | I-J | ABAAA | P | ABBBA | W | BABAA |
| D | AAABB | K | ABAAB | Q | ABBBB | X | BABAB |
| E | AABAA | L | ABABA | R | BAAAA | Y | BABBA |
| F | AABAB | M | ABABB | S | BAAAB | Z | BABBB |
培根密碼是英國著名的法蘭西斯.培根發明的,加密時,每個英文字母(其實中文應該也行)都會轉換成上表顯示的五個字母(不就是二進位的0跟1換成A和B)。只是實際加密時其實更複雜,加密時會事先準備兩種字形,分別代表A和B,所以人們看到密文時可能只是覺得這篇文章怪怪的,怎麼有兩種字形,不知道其實它隱藏了祕密訊息。
舉例來說,A是正常字形,B是加粗字形(連逗號加密和句號都是密文的一部分),那就可以把LOVE加密成下面的訊息:真的有加密到嗎
阿姨洗鐵路 阿姨洗鐵路 阿姨洗鐵路 阿姨洗鐵路
5.戰國時代上杉氏使用的加密法
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
|---|---|---|---|---|---|---|---|
| 1 | i | ro | ha | ni | ho | he | to |
| 2 | chi | ri | nu | ru | wo | wa | ka |
| 3 | yo | ta | re | so | tsu | ne | na |
| 4 | ra | mu | u | i | no | o | ku |
| 5 | ya | ma | ke | fu | ko | e | te |
| 6 | a | sa | ki | yu | me | mi | shi |
| 7 | e | hi | mo | se | su | n |
據說戰國時代的上杉曾使用上面的表格來加密訊息,這個表格中的文字,從左到右、從上到下,是按照伊呂波歌的歌詞來排序。順代一提,伊呂波歌是日本平安時代的和歌,全文以47個不重複的假名組成(上面表格多加了n),回想起以前當提督的日子了。
如果想要加密的話,就從每個假名對到的索引來當密文,以a i shi te ru為例(羞恥心什麼的隨他去吧),因為a位在(6, 1),所以密文是61,所以整個明文會轉成61 44 67 57 24。

