Encryption

如何驗證最合適的明文?

  • May 17, 2021

所以基本上我是在實現一個解密工具(只是為了好玩),我決定實現的第一個加密邏輯是凱撒密碼。因此,如果我有輸入 ascvggbmp並且我必須找到明文是什麼,我會將其通過解密函式 26 次。我得到 26 個輸出。是否有某種方法可以將這些輸出中的每一個與 words.txt 進行匹配以獲得類似易讀的單詞密度,然後顯示具有最多易讀單詞的輸出?還是有更好的優化方法來做到這一點?

是否有某種方法可以將這些輸出中的每一個與 words.txt 進行匹配以獲得類似易讀的單詞密度,然後顯示具有最多易讀單詞的輸出?

這是一個很好的開始方式。最好使用從最快到較慢的幾種方法來使測試更可靠。

一種更快的方法是使用“零二元組”方法 - 只需找到一組對您的語言上的自然文本無效的二元組,例如零頻率二元組。如果您在解密的文本中有一些它們,您可以將文本視為無效而拒絕。

較慢的方法是使用一些統計測試。例如,您可以對二元組或 N-gram 使用卡方檢驗來區分它們在自然文本中的分佈和加密文本中的分佈。

引用自:https://crypto.stackexchange.com/questions/90014