一,定义
栅栏密码,就是将需要加密的明文分成N组,每组M个字母(每组字母数可等可不等,一般情况为相等),然后把每组的第I个字母连接在一起并加以整合,形成一行无规律字母序列,用以传送讯息的加密方法。
二,典例
下面以例子为主来具体解释上述定义。
首先是最为常见的2栏密码,例一如下,
明文:I love you.(我爱你) 去间隔,整理成:ILOVEYOU
以两个字母为一组,分成四组:IL OV EY OU
连接每组的第一个字母,得:IOEO
连接每组得第二个字母,得:LVYU
整合成为一行,既得密文:IOEOLVYU
当然,实际中要比这样复杂得多,绝非两组这样简单,比如例二,
明文:I do not know.(我不知道) 整理成:IDONOTKNOW
以五个字母为一组,分成两组:IDONO TKNOW
依次连接,整合成密文:ITDKONNOOW
当然,还有可能会出现总字数为奇数的明文,如例三,
明文:Seeing is beliving.(眼见为实) 整理:SEEINGISBELIEVING
两个一组,从前至后整理:SE EI NG IS BE LI EV IN G
整理得密文:SENIBLEIGEIGSEIVN
三,解密原则及基本解法
原则:组成棚栏的字母一般不会太多,一般不超过30个,一般只是一、两句话而已。所以,我们可以通过分析密码的字母个数来解出密码。
基本解法:约数法。
例一解法,
密文:IOEOLVYU 约数1,2,4,8,可能为2栏或4栏密码。
尝试2栏,从中间分隔密码:IOEO LVYU
上下排列,得:I O E O
L V Y U
按上下上下的顺序依次连接,得ILOVEYOU,即可得明文:I love you.(我爱你)
关于例二,同理可以尝试2栏或5栏,得出答案,不再赘述。
例三解法,
密文:SENIBLEIGEIGSEIVN 可以看出,明文字数为17,为奇数,如果是两栏(9-8),正好第一栏富裕一个字母,可能就是分隔时出现的多余字母,可以尝试求解,当然,也可以是三栏(6-6-5),前两行富裕字母收尾。
依次尝试即可,两栏:S E N I B L E I G
E I G S E I V N
上下连接既是答案了。如果不行,可尝试其他,总体来看,较为简单。
综上,单纯出现栅栏密码的情况,解法万变不离其宗,当然,这种情况很少,大多数密码会有类似凯撒密码,其他语言或者与汉语拼音相结合,组成较为复杂的密码。
四,基础及提升练习
1,IEHHAITM(基础);
2,TEESCRHRIAA(基础);
3,ASLELNASLAJLLHLWLDCHLVILABEAJKAHEL(提升);
4,QGBKSYSHJIEUEIIIIAN (提升,提示:汉语拼音 )。