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