来源:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=35
题目:凯撒加密
大概就是这样吧,不能告诉你再多了。。
U8Y]:8KdJHTXRI>XU#?!K_ecJH]kJG*bRH7YJH7YSH]=93dVZ3^S8:8"&:9U]RH;g=8Y!U92'=j*KH]ZSj&[S#!gU#*dK9.
分析:
1.基础知识
恺撒密码是一种简单的替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
恺撒密码通常被作为其他更复杂的加密方法中的一个步骤。恺撒密码还在现代的ROT13系统中被应用。但是和所有的利用字母表进行替换的加密技术一样,恺撒密码容易被破解,在实际应用中无法保证通信安全。
凯撒是没有密匙的,即使没有密匙也能将它破解出来,因为凯撒移位密码只有25种密匙,最多就是将这25种可能性挨个检测一下可以了,这就是我们所说的暴力破解法。用软件破解或人工破解都可以。
解密推理的方法:对于有空格的凯撒移位,单字母A和I是突破口,这无异相当于告诉了移动的位数,这样很容易就被破解了。所以,如果我们要用凯撒密码的话一定要去掉空格加大破解难度。差数法:有空格时,而又没有单字母A和I时,这种方法很,如果我们令A=1,B=2,C=3……就是每个字母是字母的第几个,经过移位后的单词,每两相邻的字母之间的差值不变的。如the的差值为12,3(用前面的一个字母减前面的一个字母,当然你也可以用后面的一个字母减前面的一个字母),移动后两个相邻字母的差值也将会是12,3。对于没有空格的恺撒破解起来就比有空格的难一些,对于没有空格的我们还要对密文进行分析,找出重复出现的字母串,然后利用英文词频对字母串进行猜测。例如有3个字母串,出现的次数比较高,我们就可以试试the。
我们看到一个密码怎样判断是凯撒密码呢?这又要扯到频率分析去(在这里不介绍,在后面在说),没有经过移位的明文和移过的密文是有区别的,这样就可以区分凯撒密码和栅栏密码了
没有移位的栅栏密码元音比较多,这是语言本身的性质绝定,像英语和汉语拼音的元音出现频率就比较高。
2.这个题中比一般凯撒问题要难,因为里面含着那么多非英文字符。先不考