关于德国Enigma机器,如果我没记错的话,它们被击败的原因是因为盟国能够生成可能的转子设置的庞大数据库,并且因为在每条消息的开头两次对day键进行了编码。 >
鉴于当今的计算机可以模拟具有任意数量和复杂度的转子的Enigma-ish机器(例如,仅显示十分之一字符的转子,或者每次显示不同数字的转子) ,传输错误率低,并且二进制数据(不是纯文本,而是gzip或base64格式的文本)往往会胜过频率分析,是否有可能使用Enigma风格的密码来加密数据,或者是否容易受到

作为一个更普遍的问题,是否可以将其他较旧的密码“重新发明”用于计算机并在当今世界中可行?

评论

操作错误在打破谜题中起了很大的作用。

#1 楼

是的,如果您愿意为此投入足够的资源。如果有足够的额外计算,则只能挽救最致命的方案(实际上)。由于您甚至愿意提高转子的复杂性,因此您实际上可以使用它来精确地实现现代算法。转子能够“每次前进一个不同的数”的能力使它听起来像是一个可编程的体系结构。

但是为什么要这么做? (当然,这不是一个很酷的项目)最终所得到的结果肯定比在现代硬件上运行的现代密码的效率低很多倍。此外,能够开发自定义硬件(FPGA或ASIC)的攻击者可能会获得比防御者更有效的实现方式。

#2 楼

您的回忆并非完全不正确,尽管并不完全正确。盟友之所以能够生成给定日期的设置,是因为他们俩都知道用于编写消息的方法存在陷阱,并且通常情况下,消息本身的构成存在缺陷。错误(在布莱奇利公园(Bletchley Park)被称为Cillies)被扑灭,并被用作撬开盖子的杠杆。消息通常是按照严格的配方编写的-呼号,通常以已知的设置开头,在不同的日期(例如“天气-全部晴朗”)频繁重新分配相同的明文,使用旧密钥意外传输,立即用新密钥讨厌,等。

密码破解者都承认,如果Axis用户以完美的使用模式部署了Enigma,他们将永远不会破解它,或者,如果他们知道算法存在一些问题,例如谜从来不会给自己写一封信,也不会那么频繁地发生。

因此,即使是基本的3转子或海军4转子(鲨鱼)也可以使用这些组合,它们的组合仍然很大,以至于这些天很难被破解。特别是如果您的敌人不知道如何编码传输,则Enigma的频率分布非常可靠。

#3 楼

在1993年,罗斯·安德森(Ross Anderson)提出了“一种现代转子机”,该机通过使用LFSR产生随机步进来改进Enigma。他相信它可以抵抗所有已知的攻击。<​​br />

#4 楼

您问:


作为一个更笼统的问题,其他“较旧的密码”是​​否可以“重新发明”用于计算机并在当今世界中可行?


是的,有些可以。考虑一个Vigenère密码,其中密钥的长度与明文一样长,是使用TRNG生成的,并且仅使用一次。这是一个一次性密码,并且非常安全,尽管它的生存能力会像OTP一样受到限制。

更有用的替代方法是使用现代流密码/生成Vigenère密钥。只要产生PRNG引擎的明文密钥流即可。对于非文本数据,Vigenère网格可以扩展为基于字节的256 x 256网格。

#5 楼

从未有过对美国SIGABA机器进行成功的密码分析的报道,并且许多专业人士(包括许多会报告成功分析的NON-spooks)都对其进行了研究。

还有其他一些具有这种区别的机器。另一个是英文TYPEX。它不像SIGABA一样“安全”,因为其转子的步进不是从混乱的过程中产生的。但是,似乎很混乱,已经使任何人都无法找到用计算机破解它的方法。

应避免使用哈格林的机器-在某些情况下,它们被故意削弱。而且美国的M-209也很弱。

#6 楼

谜机器就像是一个物理世界的一次性垫板-算法物理构造的细节是算法本身的一部分,因此,像这样的系统背后的想法是,卡罗尔(Carol)对算法的了解抽象不一定会破坏Alice和Bob的系统-Carol需要将对象本身交给加密和解密。

这是字面上的答案,我知道;毫无疑问,有人会指责我的简单解释,而没有实际的Enigma密码系统的历史。

(在某些方面,最好的加密系统仍然是这样的:理想情况下,银行的加密标准和协议足够健壮,因此必须对实现的本质保密。可能有钥匙并不意味着您可以任意设置自己的平衡-因为您需要巨大的Flourinert填充的大量矢量单元,或者隧道掘进机,或者您拥有什么。)

评论


$ \ begingroup $
我认为这是不正确的。 Enigma是带密钥的:这意味着其输出取决于密钥。如果密码分析员从爱丽丝那里窃取了Enigma机器,那么阻止密码分析员破坏Bob的流量的原因是,他不了解Bob正在使用的秘密密钥。它与鲍勃的机器的物理细节无关。每个用户都获得同一台计算机的相同副本;区别在于密钥。
$ \ endgroup $
– D.W.
2011年8月14日在2:52