文/wm.夜云
密码知识讲座与练习(一)——栅栏密码<入门版>
一,定义
栅栏密码,就是将需要加密的明文分成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 (提升,提示:汉语拼音 )。
密码知识讲座与练习(二)——棋盘密码及其“衍生物”<入门版>
首先,我们来看一道简单的题目:21 32 55 53 24 45 23 33 15 (解此密码),答案是fly with me.
想必凡接触过密码一定时间的朋友都会看到过类似的题目,或者此题的作者本身还会以为这是自己的原创,其实这种密码的祖先早在公元前2世纪,希腊人波利比乌斯就发明了这种密码,也就是被后世称作“棋盘密码”的“Polybius方表”。
先来看上题吧,初看,可以总结其特点如下:(1)密文中每两个数字被编做了一组;(2)所有数字本身均在1~5间浮动。
可以结合上述事实做如下猜想:(1)密文以数字代表明文中的字母,极有可能是一组数字表示一个字母;(2)英文有26个字母,应当是数字结合的关键。
如果你的脑子够灵光,你就会想到坐标了,也就是一个5×5的方格,26个字母多出来的Z恰好在英文中是不常用的,可以忽略。当然没想到的朋友也不要灰心,下面就把这个密码的原理和解密过程介绍给大家:
1 2 3 4 5
1 a b c d e
2 f g h i j
3 k l m n o
4 p q r s t
5 u v w x y
如上图所示,用每个数字组的第一个数字去对应横行坐标,第二个数字去对应纵行坐标,即可得到明文了:fly with me. |