首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这是与Enigma机器转子相反的?

为什么这是与Enigma机器转子相反的?
EN

Cryptography用户
提问于 2015-04-09 15:41:43
回答 1查看 2.6K关注 0票数 6

我正在学习神秘机器是如何工作的,我发现一个字母的这个例子是由一个谜机器加密的。它显示字母"G“通过三个转子,然后进入反射器,然后返回到逆转子。这就是我困惑的地方。

转子是

代码语言:javascript
复制
Rotor I:   BDFHJLCPRTXVZNYEIWGAKMUSQO
Rotor II:  AJDKSIRUXBLHWTMCQGZNPYFVOE
Rotor III: EKMFLGDQVZNTOWYHXUSPAIBRCJ
Reflector: ABCDEFGHIJKLMNOPQRSTUVWXYZ  # not sure if this matters
           YRUHQSLDPXNGOKMIEBFZCWVJAT

我认为每个转子的反方向都是这样的。

代码语言:javascript
复制
Inversed Rotor I:   OQSUMKAGWIEYNZVXTRPCLJHFDB
Inversed Rotor II:  EOVFYPNZGQCMTWHLBXURISKDJA
Inversed Rotor III: JCRBIAPSUXHYWOTNZVQDGLFMKE

但是在我链接到的例子中

代码语言:javascript
复制
Inversed Rotor I:   TAGBPCSDQEUFVNZHYIXJWLRKOM
Inversed Rotor II:  AJPCZWRLFBDKOTYUQGENHXMIVS
Inversed Rotor III: UWYGADFPVZBECKMTHXSLRINQOJ

我看不出转子和它们的反转版本之间有什么关系。那么,这个例子是错的,还是我遗漏了什么?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2015-04-09 17:22:47

这个例子是用一个简短的符号来表示转子,它在某种程度上模糊了它们的实际工作方式。例如,示例中的第一个转子BDFHJLCPRTXVZNYEIWGAKMUSQO实际上应用了字母表的以下排列:

代码语言:javascript
复制
ABCDEFGHIJKLMNOPQRSTUVWXYZ
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
BDFHJLCPRTXVZNYEIWGAKMUSQO

因此,很明显,在相反的方向上应用这个转子,就会产生逆置换:

代码语言:javascript
复制
BDFHJLCPRTXVZNYEIWGAKMUSQO
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ

现在,同样的逆置换也可以等效地写成:

代码语言:javascript
复制
ABCDEFGHIJKLMNOPQRSTUVWXYZ
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
TAGBPCSDQEUFVNZHYIXJWLRKOM

您可以检查它们确实是相同的排列:都是map ATBACG等等。唯一的区别是列出单个输入/输出字母对的顺序:在第一个版本中,它们按照输出字母排序,而在第二个版本中,它们按照输入字母排序。

现在,您正在阅读的页面使用的是速记符号,其中排列总是按照输入字母排序,并且实际上只显示输出字母。这给出了一个很好且紧凑的表示法,但它确实会使我们更难去了解两个排列是否实际上是彼此之间的反义词。

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

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

复制
相关文章

相似问题

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