Vigenere
試圖通過蠻力辨識維吉尼亞密碼的密鑰
我正在研究一些使用 vigenere 密碼的 ARG 遊戲類型的東西。我想知道的是,玩家有可能通過簡單地檢查所有可能的正確長度的密鑰序列(即 41 個字元)來破解大約 1000 個字元的序列,從而暴力破解密碼。它還使用了比通常的 26 個更多的字元類型,它有 77 個獨特的字元。那麼他們幾乎(或完全)完全靠運氣偶然發現正確鑰匙的機會有多大?此外,我是否可以通過應用第二層防禦(例如轉換為不同的基礎或其他東西)來使密碼更安全,從而更難分辨密碼的字母表是什麼。假設玩家已經知道它以某種方式與 vigenere 密碼有關,並且他們已經知道密鑰的字元長度。
如果您只將蠻力視為一種攻擊,那麼我們首先必須計算可能的密鑰數量: $ 77^{41} = log_2(77^{41}) \approx 2^{260} $ . 對於蠻力,這將最終以 259-260 位安全性告終。常識是,128 - 256 位安全性已經保存。因此,如果蠻力是唯一可能的攻擊並且有人猜測正確密鑰的可能性可以忽略不計,那麼您的密碼將是安全的。
另一方面,Vigenere 有更好的攻擊方式。(花了幾百年才找到有效的攻擊,但今天據說是不安全的) Kasiski 攻擊可能最適合攻擊您的密碼,因為攻擊者知道密鑰的長度。
如何使它更安全:在許多情況下,第二層安全性是沒有用的(它不會歸檔所需的安全性,它不會使任何東西更安全,或者在某些情況下甚至會使安全性變得更糟)。創建一個好的輔助層通常很困難。使密碼更安全的一種方法是使用更大的密鑰。如果您查看 Kasiski 攻擊,攻擊者需要知道密鑰的長度。如果您使用不同的密鑰長度,這可能會使攻擊更加困難。您還可以將更大的密鑰長度與不同長度的密鑰結合起來。