編碼與密碼

國中電腦科學A 到 Z 的字母會被移位或替換;其他字元則保持不變。頻率分析會將字母數量與英語中的字母頻率進行比較。

使用通行證解鎖此實驗

通行證可解鎖網站上的所有模擬,包括課堂展示模式。下方的教學筆記仍免費開放給所有人。

一次性付款,無需訂閱。

關於此實驗

數千年來,人們一直透過打亂字母來隱藏訊息。尤利烏斯・凱撒將每個字母沿著字母表向後移三位;後來出現的密碼則使用秘密關鍵字替換字母,或讓每個字母的移動位數都不同。這些密碼最終全都被破解了,破解時經常會統計每個字母出現的頻率。加密和解密你自己的訊息,逐個字母了解加密過程,然後用頻率分析破解一段秘密文字。

學習目標

  • 使用凱撒密碼、關鍵字替換密碼和維吉尼亞密碼加密與解密訊息
  • 解釋演算法和金鑰的差異
  • 比較每種密碼可能的金鑰數量,並探討這對暴力破解有何意義
  • 利用字母頻率破解凱撒密碼
  • 解釋為什麼現代加密需要遠不止字母替換

使用方法

  1. 1使用位移量為 3 的凱撒密碼加密範例訊息。逐個查看字母,並沿著轉盤追蹤每個字母的移動。
  2. 2按下「將結果用作輸入」並解密。要還原位移 3,應該使用多少位移?如果將位移 13 套用兩次呢?
  3. 3凱撒密碼只有 25 個有用的金鑰。手動逐一嘗試需要多久?用電腦呢?
  4. 4切換至關鍵字密碼。如何根據關鍵字建立密碼字母表?為什麼它有多得多的可能金鑰?
  5. 5使用金鑰 LEMON,以維吉尼亞密碼加密一則訊息。找出訊息中一個重複出現、但加密後變成兩個不同字母的字母。這為什麼有助於抵禦頻率分析?
  6. 6開啟「破解」。滑動位移,直到輪廓與長條圖吻合。確認解密後的文字讀起來通順。
  7. 7將一段非常短的密文貼到「破解」中。為什麼頻率分析對短文本的效果較差?

模型

凱撒加密(字母編號從 A = 0 到 Z = 25)
凱撒解密
維吉尼亞密碼:使用長度為 m 的金鑰,每個字母的位移都會改變
字母計數與一般英語頻率的差異程度

假設

  • 與課堂密碼一樣,只有 A 到 Z 這 26 個字母會被加密;大小寫維持不變,其他所有內容都會原樣複製。
  • 英文字母頻率採用已公布的標準值。頻率分析假設隱藏文字是一般英文。
  • 關鍵字密碼會先寫下去除重複字母後的關鍵字,再依序寫出字母表中剩餘的字母。
  • 關鍵字密碼的金鑰數量等於字母表所有可能的排列數,也就是 26! ≈ 4 × 10²⁶。

在課堂上試試這個實驗

  1. Q1解密 KHOOR ZRUOG。這是位移量為 3 的凱撒密碼。
  2. Q2為什麼位移 26 沒有用?
  3. Q3關鍵字密碼有約 4 × 10²⁶ 個金鑰,卻很容易破解。請說明如何破解。
  4. Q4為什麼維吉尼亞密碼比凱撒密碼更能隱藏字母頻率?
  5. Q5說明代碼與密碼的差異。

常見問題

為什麼這個實驗只能使用英文文字?

這些歷史密碼使用 26 個字母的拉丁字母表,破解工具會將字母出現次數與英文進行比較。其他語言的字母頻率各不相同,而中文或日文等文字系統則需要完全不同的方法。

維吉尼亞密碼是如何被破解的?

在 19 世紀 50 年代和 60 年代,查爾斯·巴貝奇和弗里德里希·卡西斯基發現,重複出現的字母組可以揭示金鑰長度。一旦知道金鑰長度,每隔 m 個字母取出的字元就構成一個簡單的凱撒密碼,可以透過頻率分析破解。

這與網際網路上使用的加密方式有什麼不同?

AES 等現代密碼處理的是位元而非字母,並透過多輪運算將位元混合,因此字母出現次數不會洩漏任何資訊。RSA 等公開金鑰方法還能讓兩個人無需見面就協商出一把金鑰。