mar*_*aca 11 encryption algorithm text analysis frequency
我想基于频率分析来破译文本.编程不是问题,但存在一些数学上的困难.
(不用担心,不是为了黑客攻击,我想要去Zodiac 340密码,但问题只是解释http://zodiackillerciphers.com/wiki/images/7/7d/340-cipher-hi -resolution.jpg,而不是关于密码的其他问题.)
我把它分解为5个与成本函数相关的简短问题,以显示我的努力,简短的答案很好,任何帮助赞赏.我的问题是成本函数中的值的差异非常小.
有关频率分析的问题:
如果不感兴趣,请跳过.我不想在这里详细介绍,有几种方法可以使用.粗略草图:
成本函数如何?一般可以表达为:
w1 * letterCost + w2 * pairCost + w3 * tripletCost + w4 * wordCost
并且所有轮动的总和是一个:
w1 + w2 + w3 + w4 = 1
关于成本函数的问题
现在用简单的频率忽略单词(w4 = 0)你可以计算频率并取平方差(这就是我现在正在做的事情).我想知道的是:w1 = w2 = w3或w1 = 27*w2 = 27*27*w3更合理吗?
如何处理条件概率?
你如何结合关于单词的知识?只计算有多少真正的英语单词,可能按它们的长度加权,还是有更聪明的方法?
小智 4
在我看来,你的问题源于过于笼统的概念。如果你不精确的算法,就不可能计算成本函数。我可以提出一种方法来实现您概念的精确第二点:
不过,第三点和“判断”是非常笼统的,但基于此我可以给你几个答案:
关于成本函数的问题
成本函数
在我的例子中,算法的成本是 O( n ) + const (对于长单词,你可以考虑使用哈希表)+“判断”。问题依然存在,因为很多事情取决于“判断”将如何解决。