"黄道十二宫杀手"的340个字符密码的 Wolfram 解决方案
编者注:"黄道十二宫杀手( Zodiac Killer,又译星座杀手、黄道杀人魔,以下简称黄道带杀手 )"(在 20 世纪 60 年代和 70 年代活跃的美国身份不明的连环杀手)向旧金山地区的新闻界发出了许多关于当地凶杀案的嘲讽信。在这些信中,凶手对罪行负责,并威胁要进一步谋杀。他还包括三个密码,每个密码包含一个 408 个字符的密码的三分之一。凶手声称,这种密码在解密后会揭示他的身份。凶手在 1969 年 408 个字符的密码被解密后,将第四个和最后一个密码(在本博客文章中讨论)发送给了《旧金山纪事报》,但这并未揭示凶手的身份。 ![]() 2020 年,澳大利亚墨尔本对整个城市进行了为期 112 天的封城,以帮助阻止 COVID-19 的传播。戴口罩是强制性的,我们每天只能进行一小时的户外活动。否则,我们将被困在家里。这给了我很多时间来研究这多年来一直拖延的有趣问题。 我受到 David Oranchak 的油管视频的启发,该视频查看了“黄道带杀手”(Zodiac Killer)的 340 个字符密码(Z340),如下图所示。该密码被认为是密码学的圣杯之一,因为该密码已抵御了 50 年的攻击,因此,寻找解决方案的任何尝试都好比登天。 ![]() 在他的演讲中,David 探索了密码既是谐音替代密码又是换位密码的思想。存在用于求解谐音替换密码的高效程序,其中最好的程序是 AZdecrypt。实验表明,AZdecrypt 可以解决所有长度和符号分布与 Z340 相同的谐音替换密码。但是,AZdecrypt 无法用于解决 Z340,因为当您在 Z340 上运行它时,它不会产生解决方案。解决 Z340 的情况可能是通过反复试验找到正确的换位,然后使用AZdecrypt 解决谐音替换密码的情况。 David 概述了一个特殊的变位,该变位是独立发现的,并由用户“ daikon ”和 Jarl van Eycke( AZdecrypt 的作者)发布到了 zodiackillersite.com:“ period-19 ”,它具有一些有趣的统计特性,表明它们更接近正确的换位。只是为了好玩,我决定使用Mathematica 绘制这种转置: ![]() 但是,这看起来与 daikon 和 Jarl 的 19 周期换位没有任何关系。令我惊讶的是,事实证明,他们的换位在垂直(周期性地)环绕时使用了一个周期 18。 ![]() 尽管这种换位在视觉上很有趣,但它并没有让我印象深刻,因为它是一种非常自然的铅笔和纸质结构。应当指出,Z340 创建于 1969 年,因此几乎可以肯定是使用铅笔和纸建造的。 我看到了 19 周期换位与 20x17 密码的 1,2- 抽取之间的联系。也就是说,从左上角开始,先移动一个垂直步长,然后再移动两个水平步长,并在水平和垂直方向上定期包裹,就像将密码包裹在圆环上一样。此换位采用与 19 周期换位类似的对角线: ![]() 通过 AZdecrypt 运行 Z340 的 1,2 抽取转置不会产生解决方案。 研究找到谐音 (homophonic) 替换密码正确换位的可能性的一种方法是通过计算重复的双字母组(符号对)的数量。在 Mathematica 中,可以很容易地为任意 n-grams 编写以下代码:
然后,我们可以构造大量类似 Z340 的密码,并将它们的二元组计数分布与大量 Z340 的随机改组进行比较: 直方图[{randomShuffle340,z340CiphersBigrams},{1}, ChartBaseStyle-> EdgeForm [Thin],框架-> True,轴-> False, FrameLabel-> {Style [“ repeating bigram count”,12], Style [“ frequency”,12]}, ChartLegends-> {“ Z340 的随机洗牌”, “类似于 Z340 的随机密码”}, ChartStyle-> {RGBColor [0.514366,0.731746,0.415503], RGBColor [0.996414,0.825742,0.330007]}] ![]() |