查看: 2199|回复: 5

[密码课] 米兹科夫斯基换位密码

  • 打卡总天数:2

积分成就

用户组:管理员

书币:130179

推理币:775990

发表于 2019-6-26 13:42:30 | 显示全部楼层 |阅读模式
米茨科夫斯基密码是柱状换位密码的一种变体。它是在1902年由特雷·维克托·特奥多尔·米兹科夫斯基提出的。
加密方法:
在加密之前,我们需先选择关键字,然后对关键字进行数字编号,编号的顺序是根据英文字母表的顺序出现先后编号,如果关键字字母相同,则编号也是相同。
之后,我们在网格中写入明文,网格的列数就是关键字的字母数,如果明文长度不足,则在最后用X代替。
下面是一个简单的例子。
我们要加密的:
明文是:
Thetomatoisaplan
tinthenightshadefamily
关键词是“tomato”
然后根据要求,我们先绘制一个网格,然后再网格的顶部,写入关键词,关键词下面写入编号,接着把明文依序写入网格,如下图所示

200551c6mbt1ju6tnlq61n.jpg

之后,我们将密文读出,方法是这样的:
我们先从以1开头的列开始读出第一组密文,
1=TINESAX。
然后读出以2开头的列
2=EOAHTFX
接着我们读出第三组,在网格中我们可以看到,网格中有两组以3开头的列,因此,我们将从左到右读出每一列的字母,得到
3=HMTALITIHAEIYX
最后,我们读出以4开头的列,
4=TOASPTNNGDMLX
最后,我们根据以上得到的四组密文,依序写出,得到最终密文:
明文:
“Thetomatoisaplantinthenightshadefamily”
密文:
“TINESAXEOAHTFXHMT
ALITIHAEIYXTOASPTNNGDMLX”
解密方法:
解密的过程也非常类似于柱状换位密码,解密之前我们需要知道关键词。
我们先在网格中写出关键词,然后根据英文字母表的顺序出现先后写出编号,如果关键字字母相同,则编号也是相同。
之后,我们把密文的长度除以关键字的长度,计算出需要添加到网格中的行数,接下来我们只需有系统地把密文放回网格中即可。
放入的方法,也是先从以1开头的列开始,然后依序放入。
如果这个列只有一个编号,我们就直接从上填下来就好。如果这个列有两个一样的编号,我们就从左向右依次填写。
下面的是一个简单的例子:
我们要解密的密文和关键字是:
密文:
SXOOSITIHAeiylexp
endltAEHNTHFMAWXX
关键字:potato
我们先计算一下,密文有42个字母,关键字是6个字母,所以我们要绘制的网格是,42÷6 = 7行。


我们先从以1开头的列开始写入密文,因为1只有一个编号,所以我们只需要用密文的前7个字母写入该列即可。


接着,我们开始写入以2开头的列。2有两个编号,所以我们从第8个密文开始,依次从左到右写入这些列中。


然后根据上述方法,把所有密文写入网格:


现在,我们遮住关键字和编号,依序读出网格中的所有字母即可得到最终明文:
potatoesareinthenig
htshadefamilyaswell

积分成就

用户组:推理新人

书币:0

推理币:59

发表于 2019-8-19 10:15:50 来自移动端 | 显示全部楼层
请问:关键字的编号是怎么来的呢?

积分成就

用户组:推理新星

书币:0

推理币:109

发表于 2019-8-19 12:31:10 来自移动端 | 显示全部楼层
同问数字顺序是怎么得来的?

积分成就

用户组:推理新星

书币:0

推理币:109

发表于 2019-8-19 12:38:20 来自移动端 | 显示全部楼层
新垣 发表于 2019-8-19 12:31
同问数字顺序是怎么得来的?

懂了

积分成就

用户组:推理新星

书币:0

推理币:83

发表于 2019-8-21 23:45:55 来自移动端 | 显示全部楼层
12,3,/是什么密码?

积分成就

用户组:普通侦探

书币:0

推理币:4008

发表于 2019-8-25 21:59:05 来自移动端 | 显示全部楼层
DYY 发表于 2019-8-19 10:15
请问:关键字的编号是怎么来的呢?

按照在字母表中的顺序排的
返回列表 发新主题 回复
小黑屋| 隐私政策| 侵权投诉| 数字千年版权法(DMCA)| 切换繁体 |捐助本站
copyright 2019-2023 推理罪 All Rights Reserved