playfair 密码是一种分组密码,在混淆文本方面非常有效。频率分析不是破解 playfair 密码的有效密码分析工具,因为每个字母都可以根据与哪个字母配对而被加密为不同的字母。因此,有必要利用有向图(在本程序中为四边形)及其相对于英语的频率来破解密码。这是使用模拟退火来完成的,它计算英语的“适应度”。适应度越接近 0,文本出现的与英语越相似。
如何使用
首先,运行“make”编译程序。
接下来,将密文存储在程序可访问的文件中。
通过键入 './crack < [filepath] 运行程序
破解过程可能需要 5 秒到 5 分钟,具体取决于文本的长度以及明文在英语中的代表性(破解 'HexIsnxtzeetixng' 比破解 'He Isnt eating' 更难) .
有时该过程将无法破解密码。这是不幸的,但绝对有可能。
默认情况下,破解程序使用 I/J 组合,但您可以使用命令行参数“-r”替换您选择的任何字母(例如 Q 或 V)
示例:'./crack -r Q < test.txt'