Classical-Cipher
混合 vigenere 密碼的可行性是什麼?
所以維吉尼亞密碼的主要弱點是你可以對每個交替的字母表進行頻率分析,從而相對容易地破解密碼……但這意味著你知道明文的頻率是多少。
那麼,如果您將 vigenere 密碼與其他一些模糊頻率的算法混合起來呢?乍一看,這似乎不是一個遠端薄弱的系統。
您可以使用分組密碼或流密碼或使用密碼本替換來隱藏頻率,然後可能在其上使用 Vigenere Cipher,但如果您真的希望您的方案是安全的,那麼您的底層替換必須足夠安全。在這種情況下,使用安全塊或蒸汽加密本身就足夠了。二級 Vigenere 加密只是一個負擔,也可能是一個後門(可能導致懶人重用密鑰,導致漏洞)。
此外,頻率分析是它的主要弱點,但不是唯一的弱點。
假裝你的潛在替代很弱:
考慮Kasiski 檢查:如果您使用密碼本替代隨機化(不理想)或 ECB 模式中的分組密碼(您不能這樣做),然後使用與塊一樣大的 Vigenere 密鑰,那麼它很容易受到攻擊對這次襲擊。如果您使用不同長度的密鑰,它仍然很容易受到攻擊。下一步是打破替換。
現在考慮密鑰消除:只需對兩個連續的 Vigenere 密鑰大小塊進行異或,就可以得到兩個明文塊的異或。現在你可以通過尋找模式來從第一級替換中猜測兩個可能的明文來打破它。如果你使用弱的東西,這實際上很容易。
假裝你的潛在替換是安全的:
如果您使用流密碼,那麼它與將 Vigenere 密鑰與偽隨機密鑰流組合起來是一樣的,這不僅沒有用,而且可能導致模式查找,因為在 PRNG 密鑰流中重複 Vigenere 密鑰模式。
否則,只要堅持一些安全的東西。如果您將流密碼與 AES-CTR 之類的 PRNG 一起使用,會更好、更安全、更高效,它非常快速且安全。
你什麼時候才能真正保證它的安全:
- 僅使用 Vigenere Cipher,但作為One-Time-Pad。
- 使用 Vigenere Cipher 進行密鑰白化過程,您將不得不用一些塊算法重新替換。