密碼學 - 單字母替換密碼



替換密碼是最古老的加密演算法型別之一,因為它會生成明文訊息中的每個字元,然後使用替換方法將其替換為密文中的新字元。

單字母替換密碼也稱為“簡單替換密碼”。單字母替換密碼使用單個金鑰對映函式 K 將特定字元 α 替換為對映 K(α) 中的字元。

單字母替換密碼是指明文中等效字母被替換為密文中相同字母的密碼。Mono(意思是“一個”)表示明文的每個字母在密文中只有一個替換。

特點

單字母密碼是一種替換密碼,其中明文中的符號和密文中符號之間的關係始終是一對一的,並且在整個加密過程中保持不變。

示例:凱撒密碼

凱撒密碼是一種單字母替換密碼。它使用類似的替換機制為每個明文字元獲得密文字元。凱撒密碼使駭客很容易破解金鑰,因為它總共只支援 25 個金鑰。這是單字母密碼的一個缺點。

示例分析

如果明文是“TREE”,密文可以是“ADOO”,這表明該密碼可能是單字母替換密碼,因為明文中的兩個“O”都用密文中的“E”加密。

單字母替換密碼的型別

主要有 4 種類型的單字母替換密碼:

加法密碼

加法密碼是單字母替換密碼,它根據使用的金鑰值將明文中的每個字元更改為密文中不同的字元。

例如,如果明文包含字元“a”,金鑰值為 4,“a”將被替換為“e”,因為根據我們用於加法單字母替換密碼過程的金鑰,“e”距離“a”4 個字元。

加法密碼的數學表示如下:

要使用加法單字母替換密碼加密明文,請使用公式 C=(P+k) mod 26。其中,P 代表明文字元,k 是加密金鑰,C 提供所需的密文。

加法密碼中將密文解密為明文的公式為 P=(C-k) mod 26。這裡,P 是明文,C 是要轉換的密文,k 是金鑰。

凱撒密碼

凱撒密碼是一種單字母替換密碼,其中明文中的每個字元都向後移動三個位置。它只是一個金鑰值為 3 的加法密碼。

例如,如果明文包含字元“a”,則密文對應的字元將是“d”,因為凱撒密碼的金鑰值為 3。

凱撒密碼的數學表示如下:

**加密過程** - 凱撒密碼使用公式 C=(P+3) mod 26 將明文編碼為密文。這裡,P 是明文,C 是密文,3 是金鑰,在凱撒密碼中始終相同。

**解密過程** - 要使用凱撒密碼將密文解密為明文,請使用公式 P=(C-3) mod 26。在此示例中,P 和 C 分別代表明文和密文,而 3 是金鑰。

乘法密碼

乘法密碼是一種單字母替換密碼,其中明文中的字元乘以金鑰,然後進行模運算。

例如,如果明文包含字元“h”,金鑰設定為 4,則密文的值為“x”。

乘法密碼的數學表示如下:

**加密過程** - 要使用乘法密碼加密明文,請使用公式 C=(P*k) mod 26。這裡,P 代表明文,C 是密文,K 是金鑰。

**解密過程** - 乘法密碼中將密文解密為明文的公式為 P=(C*k 的乘法逆元) mod 26。

阿芬密碼

阿芬密碼是最強大的單字母替換密碼之一。阿芬密碼有兩個金鑰,並結合加法密碼和乘法密碼來生成密文。

阿芬密碼的數學表示如下:

**加密過程** - 要使用阿芬密碼加密明文,請使用公式 C=(P*k1+k2) mod 26。這裡,C 代表密文,P 代表明文,k1 和 k2 是阿芬密碼中使用的兩個金鑰。

**解密過程** - 阿芬密碼中將密文解密為明文的公式為 P=((C-k2)/k1) mod 26。

優點

單字母替換密碼中的替換字元符號允許對 26 個字母的字母表進行 26! 次隨機排列。字母排列的最大數量為 4*10^26。這使得駭客難以使用暴力破解攻擊獲取金鑰。

弱點

單字母替換密碼容易受到頻率分析攻擊;此類密碼不安全,容易受到各種攻擊,其中一種是其固定的金鑰替換。我們將研究如何將基於頻率分析的攻擊用於各種密碼。

頻率分析背後的概念取決於這樣一個事實,即任何語言中的每個字母都具有獨特的特性。字母最明顯的特徵是它們在語言中出現的頻率。在英語中,“Z”的出現頻率遠低於“A”。過去,如果您想確定語言中字母的頻率,您必須找到大量文字並計算每個頻率。但是,現在我們有計算機可以為我們完成所有工作。但我們甚至不需要進入這個階段,因為大多數語言都有從數百萬份文件中編譯的非常精確的字母頻率資料庫。

例如,如果明文訊息中“N”多次被加密為“R”,它將始終被加密為“R”。

總結

雖然駭客無法使用暴力破解攻擊,但可以使用全恐統計攻擊來考慮金鑰。如果駭客瞭解任何替換密碼明文的特性,無論金鑰空間大小如何,都可以很容易地使用統計攻擊破解密碼。統計攻擊涉及分析字元的頻率分佈,並將其與英語的相同資料進行比較。

廣告