前情提要
Alice想要傳訊息給Bob。
他們協議出一把金鑰,來為這次的訊息進行加解密。
![]() |
步驟一
加密
Alice 和 Bob 已協議金鑰為「字母K 」 還不太熟悉加密金鑰如何使用,想寄送「字母A 」給Bob。
(明文:A、加密金鑰:K)
(明文:A、加密金鑰:K)
選擇字母 | 電腦編碼 | |||||||||
明文字母 |
|
|||||||||
⊕加密金鑰 |
|
|||||||||
|
||||||||||
密文 |
|


步驟二
解密
Bob 收到密文後進行解密。 (解密時,要使用什麼金鑰呢 ?)
選擇字母 | 電腦編碼 | |||||||||
密文 |
|
|||||||||
⊕解密金鑰 |
|
|||||||||
|
||||||||||
明文 |
|
XOR 運算的精隨
想想看,為何密文經由相同的金鑰,也能回推為明文?
可以再操作上方的XOR運算,從加解密的過程想一下為什麼!
A⊕B=C 、C⊕B=A WHY?


Alice和Bob完成字母加解密後,Alice決定更進一步,這次使用另一把與Bob協議好的金鑰B,寄了三封信給Bob測試。
每一封信的內容為一個單字,每個單字包含六個加密後的字母。
每一封信的內容為一個單字,每個單字包含六個加密後的字母。
現在請你幫忙Bob,隨機選擇一個加密信封後,將每個加密後的字母,用XOR演算法解密為「明文的二進制表示法」。
最後,透過右方的ASCII編碼表對照為「明文字母」,看看信封裡說了什麼吧!
最後,透過右方的ASCII編碼表對照為「明文字母」,看看信封裡說了什麼吧!
加密金鑰:B (01000010)2
![]() ![]() ![]() |
||||||||||||||
密文的 二進制表示法 |
|
|||||||||||||
⊕加密金鑰 |
|
|||||||||||||
|
||||||||||||||
明文的
二進制表示法 明文字母
|
|




