栅栏密码

2022-04-15  本文已影响0人  小红鱼

由于在加密解密的过程中密文的排列形似栅栏,因此被称作栅栏密码。

【加密原理】

1、首先将明文交替排成上下两行,即奇数位置的字母写作一行,偶数位置的字母写作另一行。例如“tomorrow is another day”排成:

tmroiaohra

oorwsntedy

2、然后将下一行的字母排在上一行的后边,从而形成一段密文:tmroiaohraoorwsntedy

这仅仅是分成两行的情况,也可以将明文分成多行。例如同样的明文分成三行:

toosoea

orwatry

mrinhd

最后的密文是:toosoeaorwatrymrinhd

【解密原理】

1、确定每行的字符数。根据密文的长度和栅栏的行数,可以确定每行的字符数。上例中:

每行字符数 = 密文的长度20 / 栅栏组数3 = 6,余数2,不能整除的话,结果还需要+1,所以每行字符数为7。

2、然后按照每行字符数为7,将密文toosoeaorwatrymrinhd重新排列:

toosoea

orwatry

mrinhd

3、将上述数组由上至下,由左至右读取,从而恢复明文tomorrowisanotherday。

【代码实现】

上一篇 下一篇

猜你喜欢

热点阅读