配對字母如何提高替換密碼的安全性?
您好,有人可以幫我理解這一點:
減少此問題的一種方法是增加密碼字母表的大小。與其認為我們的密碼字母表只是 26 個字母,每個字母都有一個可加密的密文轉換,我們可以改為使用這些相同字母的對,並且至少有 26 x 26 = 676 次轉換。可鍵轉換的大量增加使程式碼更難創建和儲存,但也減少了每個單獨的轉換可能被使用的次數
在一個簡單的替換密碼中,您有 26 個字母的映射,如下所示:
A -> M B -> Z C -> V
英文文本的統計顯示字母 E 的頻率為 11.162%、T - 9.356%、A - 8.497% 等。攻擊者計算加密文本中每個字母的頻率。如果文本足夠長,那麼頻率約為 12% 的符號很可能是 E,頻率約為 8% 的符號很可能是 A,依此類推。在上面的範例中,假設文本很長,而 M 的頻率為8.2%。那麼攻擊者首先會假設密文中的M對應於原文中的A。其他字母也一樣。實際上頻率會偏離這個,攻擊者會測試一些其他的變種。儘管如此,與簡單的 26 種暴力破解相比,他將測試的組合數量相對較少!(1x2x3x4x5…x24x35x26)。
你的文字大約 26 x 26 意味著他們建議不要一個字母一個字母地替換,而是將一對字母替換成另一對字母,如下所示:
AA -> GH AB -> DT AC -> LQ ... BA -> BM BB -> KA BC -> OJ ... ZY -> ZG ZZ -> WM
有 26 x 26 = 676 對映射到其他對。
對於對,頻率也是已知的,並且在長消息的情況下或者如果攻擊者有很多短消息,它們仍然可以相對容易地解密。但是對於短文本,這可能很難。
假設消息的長度為 2600 個符號。在簡單映射的情況下,這意味著每個字母平均使用 100 次。頻率與已知值的相關性可能非常高,並且解密可能非常快。
但是假設這條消息是用 676 對的多圖替換加密的。每對平均使用不到 4 次。這就是為什麼每對頻率與已知平均值的偏差會很大。攻擊者將不得不為每一對測試更多的候選者。計算量可能比簡單替換的情況高得多。因此,如果攻擊者沒有足夠的資源(沒有足夠的計算能力,沒有足夠的時間),這可以幫助保持消息加密。
在嚴重的情況下,當加密消息有價值時,可能會涉及更多資源,並且這種密碼也可能或多或少地被快速暴力破解。當然,攻擊者不僅會使用頻率,還會使用所有可能的資訊。例如,3-4 個字母組合的頻率,語言中某些單詞的頻率。