如何使用频率分析解析加密段落
本文关键字:段落 加密 何使用 频率 | 更新日期: 2023-09-27 18:25:58
目前正在一个大学项目中工作,我必须创建一个程序,该程序能够通过频率分析自动解密基本加密,而无需任何用户反馈。该程序将在没有空格的情况下读取加密,如:
gfswmyoglgvsmfsfnkyhousslmrspcwsbfgwpoldmfrqmrssplogcpfumupccsksfohdmpfosxogcoislmesdmfrqmrsdgfrsfgqriogcpddgfslissogklglgmfuoisngqfooisgnnqkksfnslgcsmnidooskwsnmddoiseglocksjqsfodynnqkkpfrdsooskoisksxoeglogonqkprdsooskumfuoiscgdwpfregloggnnqkpfdsooskoisoipkumfulggfqfopdwsmnngqfocgkmddoicsfodsoosklp foishdmpfosxolmehdssoiswsdggbmooisphiskosxowswmfooglgdvsmfuwsmdlgndmllpcypollyeagdlwscpfuoiseglongnqkpfryeagdmfunimfrspogoiscgkegcoiscpklodsooskgcoishdmpfosxolmehdsoisfsxoeglongeegflyeagdlnimfrsuogoiscgkegCoissngfudsooskfoiscgddgwpfreglongegflyeagdinnfrsuogoicgkegcoisopkudsoosmfulggfqfopdwsmnngqfocgkmddlyeagdlgcoiskyhogrkmowswmfooglgdvs
不需要任何编码帮助,只需要寻找如何解析它的想法。
我已经有一本英语词典,里面有120k个单词,前15k个单词是英语中使用最多的。我目前正试图通过使用N语法和替换大多数常用字母/单词来解决这个问题。感谢任何想法/更好的方法。
谢谢!
计算每个字母出现的次数,并将其与英语中的用法表进行比较。例如,识别e应该很简单。使用频率较低的字母将更难识别,但如果你已经从较容易使用的字母中获得了一些可靠的信息,你可以尝试不同的可能性,然后将它产生的单词与你的dictionary进行比较。
当我做了这些事情时,我创建了一个英文字母频率数组进行比较,并创建了另一个包含密文字母频率的数组。简单地在两个数组之间进行相关性计算就会自动给出正确答案(即,最小化密码频率数组给定偏移量的平方差之和)。