Substitution-Cipher
如何使用凱撒密碼對此進行加密?
我最近有一個練習,內容如下:
使用定義為 C=E(P)=(Pi+3) mod 26的凱撒密碼加密消息“簡單問題”
這個公式是什麼以及如何解決它?
公式如下:
- C : 字元的密文
- E(P) : 使用明文字元的凱撒加密 =
- (Pi + 3) mod 26 : 字母表中字元的索引,加上 3(鍵),然後是模數 26,即字母表的大小
所以基本上
A
你將值編碼為 0 並添加 3,得到值 3,解碼回D
. 對於Y
您使用 24,添加 3 並得到 27。但是,當您執行 mod 26 時,您會得到值 2,它會解碼回B
. 所以基本上你向右走 3 個字元,A
在你到達Z
.解密只是相反。
如果該符號在您的課程早期沒有定義,那麼我會說作業太模糊且寫得不好。也就是說,知道凱撒密碼是如何工作的,你可以猜到它告訴你:
- 將明文消息拆分為單個字母,
- 將每個明文字母映射成一個從 0 到 25 的數字,大概使用映射 A → 0, B → 1, C → 2, …, Y → 24, Z → 25,
- 每個字母的個數加 3,然後以 26 為模減少結果,並且
- 將得到的數字轉換回字母並將它們連接在一起以獲得加密的消息。
問題中給出的公式確實具有加密文獻中一些相當廣泛的符號約定。具體來說:
- $ P $ 通常代表明文,並且 $ C $ 為對應的密文。
- $ P_i $ 大概代表 $ i $ - 明文字元串的第一個字元 $ P $ (你應該從這個猜測地圖 $ C_i = (P_i + 3) \bmod 3 $ 應該應用於每個明文字母以獲得相應的密文字母,即使練習實際上沒有這樣說)。
- $ E $ 通常代表“加密”,這樣 $ E(P) $ 表示明文消息的加密 $ P $ . (也常寫成 $ E_K(P) $ 用於加密 $ P $ 使用鑰匙 $ K $ . 當然,凱撒“密碼”實際上沒有密鑰,除非您認為加法常數 3 是密鑰。)相反,字母 $ D $ 常用於表示對應的解密函式。
也就是說,所寫的問題肯定具有一些錯誤的符號。如果我要重寫它,我會讓它變成這樣:
使用定義為的凱撒密碼加密消息“EASYQUESTION”:
$$ C_i = (P_i + 3) \bmod 26, $$在哪裡 $ P_i $ 和 $ C_i $ 代表 $ i $ - 明文和密文的第一個字母,從 A 到 Z 的字母表示為從 0 到 25 的數字,以便進行算術運算。