2014-02-12 68 views
0

我已经写了一个Java程序给蛮力加密算法给予一个已知纯文本的查克。我现在希望它能够识别英文文本,因此我知道密钥,但我不确定是否有一种简单的算法来检测英文文本。蛮力识别英语

我可以计算Unicity距离,所以知道我需要知道多少个字符,以确保文本是英文,但只需要算法。

任何帮助,将不胜感激

编辑

文本是明文仅

+0

仅在密文攻击中:作为第一步,我会检查第7位字节是否未设置。由于英文暗示ASCII,这是一个很好的早期阶段。然后过滤出控制字符。对于16字节的明文(一个AES块),每500万次尝试都会通过这些测试,此时您可以应用更昂贵的测试。 – CodesInChaos

+0

如果这是已知的明文攻击,为什么你甚至尝试识别英文?根据定义,您已经知道确切的明文。 – CodesInChaos

+0

我现在已经离开已知的明文 –

回答

0

老实说,检查这是最好的方法是检查叫板的字典。如果你只需要验证信息包含英语,我会推荐的是只需要一本非常常见的词典。你大概可以用20个字来建立一些有效的东西。

+0

唯一性距离很低,只有5个字符? –

+0

其实我不太了解这个话题,所以我不知道什么是单一性。我知道英语识别是StackOvrflow的常见话题,并且经常建议使用各种词典。我建议如果你只希望看到它的英文,而不是德文,任何其他语言,或完全的随机性,你不会需要一个完整的字典,将用于拼写检查。如果您以某种方式拥有更优雅的解决方案,请随时继续操作。 – Drifter64