Crypto入门 (七) Railfence (栏栅密码,正常型和W型)
前言:
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
最新文章
- 类型转换和类型相关函数.png
- windows系统查看被占用的端口号
- String,Date,XMLGregorianCalendar的转换
- Android源码分析之SparseArray
- co css规范
- 转载yield关键字理解
- hadoop 关闭进程时报错no 进程 to stop
- js基础知识总结(全)
- 【转】Objective-C并发编程:API和挑战
- Android------自定义ListView详解
- 关于Atlassian无法注册的问题,请看过来
- 使用sklearn进行数据挖掘-房价预测(6)—模型调优
- jQuery noConflict() 方法----与其他javaScript插件冲突时
- CMDB运维开发项目
- ●BZOJ 4237 稻草人
- 0428css样式
- mac 终端里进入mysql和退出
- 树链剖分——NOI2015
- 理论篇-Java中一些零碎的知识点
- js every some 遍历函数理解