首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打破泥潭3密码?

如何打破泥潭3密码?
EN

Cryptography用户
提问于 2016-05-11 00:14:43
回答 1查看 2.7K关注 0票数 4

攻击泥潭3密码的好方法是什么?

据我所知,它是多字母的,有一个键和一个指示器。我从密码文本开始,取每一个n个字母,然后把它放在一个字符串中,计算我得到的n个字符串的重合指数,然后将它平均。我假设,无论n值与英语最接近的平均指数(0.066)相对应,都是字母数,即指示符的长度。

我从那里去哪里?还是我的做法不正确?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-01-03 00:18:32

所有的泥潭密码(例如,这里的定义)都是Vigenère移位密码和基于关键字的简单替换密码的组合,其中替换密码用于在Vigenère加密之前和/或之后对字母表进行置乱。

特别是,泥潭III密码实际上在执行普通Vigènere加密之前先对明文字母表进行扰扰(使用从“指示符”派生出来的密钥,并以同样的方式对其字母表进行置乱),然后对产生的密文的字母表进行_un_scrambles。同样地,我们可以把它看作只是一个Vigenère密码,但使用的是从字母到数字的非标准(而且通常是保密的)映射,而不是通常的A=0、B=1、C=2等。

这有几个值得注意的后果:

此外,对应于k不同指示字母的k不同替换字母在某种特定的方式上是相关的:从数学上讲,它们都是字母的同一循环置换的幂(严格意义上;不允许不动点)。(基本Vigenère密码也是如此;在这种情况下,底层周期只是一个字母移位A→B→C→...→X→Y→Z→A)。因此,一旦您设法解决了其中一个k替换密码,其余的应该会简单得多(并且您还可以比较这些解决方案,以确保它们是正确的)。

此外,循环排列的幂的循环结构本身也受到了一定的限制:它不能有不动点(除非是身份置换),而且它的所有循环都必须具有与字母大小除以相同的长度。特别是,对于一个26个字母的字母,循环排列的幂总是由一个26个循环(使它也是循环的)、两个13个循环、13个两个循环或26个不动点(在这种情况下是恒等)组成。其中,前两个可能性(一个26个周期或两个13个周期)是最有可能的,所以如果你看到了其他的东西(特别是如果它不是上面剩下的可能性之一),你就会知道你在某个地方犯了错误。

如果有足够的密文,通过上面描述的方法来破解这个密码应该不会特别困难。实际上,使用符合索引法来确定密钥长度甚至不需要那么多密文;我在氪星 K1和K2密文上尝试了这一方法(使用威尔逊评分间隔校正来减少大密钥长度的抽样噪声),它非常清楚地将K1 (63个字母)的密钥长度确定为5个、10个或20个字母(实际关键字:PALIMPSEST,10个字母)和K2键长度(369个字母),它们最有可能是8个字母(实际关键字:ABSCISSA)。然而,在有限的密文和长密钥的情况下,解决单个替换可能需要大量的尝试和错误。

此外,值得注意的是,此方法不会自动生成用于加密文本的关键字。事实上,它不能,因为泥潭密码有许多等价的密钥。然而,简单地考虑替代字母表和移位量的所有可能的解决方案可能会出现一个产生于一个特别自然的关键字对。

票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/35232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档