歡迎來到秘密世界:基礎加密!

在本章中,我們將探討電腦如何確保資訊的私密性。無論你是向朋友發送訊息,還是在網站上輸入密碼,加密 (encryption) 都是保護數據免受窺探的「秘密武器」。我們將探討兩種著名的方法——簡單的 凱撒密碼 (Caesar Cipher) 和「無法破解」的 維納姆密碼 (Vernam Cipher)——並了解為什麼有些代碼比其他代碼更容易被破解。

1. 基本概念:什麼是加密?

從本質上講,加密是一個使用 演算法 (algorithm)(一套規則)將訊息轉換為亂碼的過程,除非擁有秘密的「金鑰」,否則沒有人能理解這些內容。

你需要掌握四個關鍵術語:

1. 明文 (Plaintext):加密前原始的訊息(例如:"HELLO")。
2. 密文 (Ciphertext):加密後無法讀取的亂碼版本(例如:"KHOOR")。
3. 密碼 (Cipher):用於擾亂數據的演算法或方法。
4. 金鑰 (Key):密碼用於將明文轉為密文(反之亦然)的秘密數值(如數字或單字)。

比喻:想像一把掛鎖。 「密碼」是鎖的結構,「明文」是盒中的寶藏,「密文」是上鎖的盒子,而「金鑰」就是……那把實體的鑰匙!

快速回顧:目標

加密的全部意義在於確保即使「第三方」(駭客或間諜)攔截了你的訊息,他們也無法理解內容,因為他們不知道所使用的 方法金鑰

2. 凱撒密碼 (Caesar Cipher)

凱撒密碼是最古老且最簡單的數據加密方式之一。它是一種 替換密碼 (substitution cipher),這意味著訊息中的每個字母都被字母表中後面的另一個字母所取代。

運作方式

你選擇一個數字作為你的 金鑰。假設金鑰是 3,你將訊息中的每個字母向右移動 3 個位置:
A 變成 D
B 變成 E
C 變成 F
...以此類推!

範例:
明文:CAT
金鑰:1
密文:DBU

為什麼凱撒密碼很脆弱

千萬不要用它來設置銀行密碼!由於以下三個原因,它非常容易被破解:

1. 有限的金鑰:英文字母只有 25 種可能的位移(金鑰)。電腦可以在不到一秒的時間內嘗試所有可能性!這被稱為「暴力破解 (brute force)」攻擊。
2. 頻率分析 (Frequency Analysis):在任何語言中,某些字母出現的頻率比其他字母高。例如,'E' 是英語中最常見的字母。如果密文中最常見的字母是 'X',駭客就能猜出 'X' 其實就是 'E',進而推算出其餘內容。
3. 「已識別位移」問題:一旦你算出其中 一個 字母的位移,你就自動知道了訊息中所有其他字母的位移。

重點總結

凱撒密碼是學習加密知識的好起點,但它提供的安全性極低,因為它極易受到 頻率分析暴力破解 攻擊。

3. 維納姆密碼 (Vernam Cipher):「完美安全性」

如果說凱撒密碼是一扇脆弱的木門,那麼 維納姆密碼 就是一個 10 英尺厚的鋼製金庫。它也被稱為 一次性密碼本 (one-time pad)

它有何特別之處?

維納姆密碼是唯一能夠實現 完美安全性 (perfect security) 的密碼。「完美安全性」意味著即使駭客擁有計算能力無限強大的電腦,他們也無法從密文中獲得任何關於明文的資訊。

完美安全性的 4 個黃金法則

要使維納姆密碼無法破解,必須滿足以下四個條件:

1. 完全隨機:金鑰必須使用真正的隨機過程產生。
2. 等長:金鑰的長度必須至少與明文訊息一樣長。
3. 僅限使用一次:金鑰使用一次後必須銷毀(因此稱為「一次性密碼本」)。
4. 保持秘密:只有傳送者和接收者才能知道金鑰。

記憶輔助:想想 R.L.O.K. (Random 隨機, Length 長度, Once 一次, Known only to two 僅兩人知曉)。

運作方式(技術細節)

在現代計算中,維納姆密碼通常使用 XOR(互斥或)運算。它將明文的位元與隨機金鑰的位元進行比較,從而產生密文。

重點總結

只要金鑰是隨機的、與訊息等長、只使用一次且保密,維納姆密碼在數學上是無法破解的。

4. 比較凱撒密碼與維納姆密碼

學生經常搞混這兩者,以下是一個簡單的對比:

凱撒密碼:
- 安全性:非常低。
- 金鑰:單一數字(位移量)。
- 可破解嗎?可以,使用頻率分析。
- 類型:對稱式 (Symmetric)

維納姆密碼:
- 安全性:完美(若遵守規則)。
- 金鑰:與訊息等長的隨機序列。
- 可破解嗎?不可,在數學上是不可能的。
- 類型:對稱式 (Symmetric)

5. 計算安全性 (Computational Security)

你可能會問:「如果維納姆密碼是完美的,為什麼我們不把所有東西都用它加密?」
答案是:太麻煩了! 要將與訊息一樣長的唯一隨機金鑰發送給每個人,管理起來非常困難。

相反地,大多數電腦系統使用 計算安全性 (computationally secure) 的密碼。
如果一個密碼從理論上 可以 被破解,但現代超級電腦需要花費數百萬年才能做到,那麼這個密碼就是 計算安全 的。它雖然不是「完美」的,但對於日常生活來說已經足夠了!

6. 對稱式與非對稱式加密

這是考試的熱門題目!重點在於你使用了多少把金鑰。

對稱式加密 (Symmetric Encryption)

這種方法使用 同一把金鑰 來加密和解密數據。凱撒密碼和維納姆密碼都屬於 對稱式

重大難題: 金鑰交換問題 (Key Exchange Problem)。你如何在不被駭客竊取的情況下,將秘密金鑰安全地傳送給對方?

非對稱式加密 (Asymmetric Encryption)

這種方法使用兩把在數學上相關聯的 不同金鑰
1. 公開金鑰 (Public Key):每個人都可以看到。它用於 加密 訊息。
2. 私密金鑰 (Private Key):只有接收者擁有。它用於 解密 訊息。

由於加密和解密使用的是不同的金鑰,你無需擔心「金鑰交換問題」,因為你永遠不需要分享你的私密金鑰!

快速回顧:常見錯誤

- 錯誤:認為凱撒密碼是非對稱的。(不對!它對加密和解密使用相同的位移量)。
- 錯誤:認為「計算安全」等於「無法破解」。(不對!它只意味著破解所需的時間太長)。
- 錯誤:忘記了維納姆密碼的金鑰 必須 與訊息一樣長。

章節總結

1. 加密使用金鑰和演算法將明文轉換為密文。
2. 凱撒密碼是一種簡單的位移,容易通過頻率分析破解。
3. 維納姆密碼若金鑰為隨機、使用一次且與訊息等長,則是完美安全的。
4. 對稱式加密使用一把金鑰;非對稱式加密使用兩把(公開與私密)。
5. 大多數網路安全依賴於 計算安全性——即破解這些代碼所需的時間和計算資源過於龐大,以致於在現實中不可行。