前言:
Crypto中分三类,分别是编码、古典密码、现代密码,栏栅密码属于古典密码中得特殊移位密码,密钥只有 一个k,表示栏栅得长度。所谓栏栅密码就是将要加密得明文分成k个一组,然后取每组得第一个字符依次连接,拼接而成得字符串就是密文
Railfence:
题目:ccehgyaefnpeoobe{lcirg}epriec_ora_g,我们能在这串字符串中找到cyberpeace这个单词得每个字母,因此可以看出这是个移位密码,根据提示,我们查查看什么是栏栅密码
通过查到得资料我们了解到栏栅密码有两种,分别是https://baike.baidu.com/item/%E6%A0%85%E6%A0%8F%E5%AF%86%E7%A0%81 这篇文章给出得,正常得栏栅密码,其原理,按照密钥k分组然后拼接组成,具体请参考该链接。
还有一种是https://zh.wikipedia.org/wiki/%E7%B1%AC%E7%AC%86%E5%AF%86%E7%A2%BC%E6%B3%95,这种属于W型栏栅密码,下面介绍下这种W型栏栅密码原理:
加密 于W型栏栅密码中,明文由上至下顺序写上,当到达最低部时,再回头向上,一直重复直至整篇明文写完为止。然后,再往右顺序抄写一次。 此例子中,其包含了三条篱笆及一段明文:'WE ARE DISCOVERED. FLEE AT ONCE'。然后再按法抄下: W . . . E . . . C . . . R . . . L . . . T . . . E . E . R . D . S . O . E . E . F . E . A . O . C . . . A . . . I . . . V . . . D . . . E . . . N . . 读取后再按传统分组: WECRL TEERD SOEEF EAOCA IVDEN
了解了w型得原理后我们再来分析咱们这个,首先我们排除了正常型,为什么排除了正常型呢,我们可以使用网站或者自己写代码进行验证,今天有点事情,下次有机会补上普通型栏栅密码和W型栏栅密码得解码代码,现在给出两个链接,大家可以根据自己需求通过网站解码:
http://www.atoolbox.net/Tool.php?Id=777 (W型)
http://www.atoolbox.net/Tool.php?Id=855 (正常型)
下面给出我们这题W型分布
1 c c e h g 2 y a e f n p e o o 3 b e { l c i r g { 4 e p r i e c - o 5 r a - g
它是个五栏得,我们按照顺序走下来得出flag为cyberpeace{railfence-cipher-gogogo}
参考链接:
https://blog.csdn.net/shidonghang/article/details/102761090
https://blog.csdn.net/qq_43504939/article/details/98473847
https://blog.csdn.net/shidonghang/article/details/102761090