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
Crypto入门 (七) Railfence (栏栅密码,正常型和W型)的更多相关文章
- python小白入门基础(四:浮点型和布尔型)
# Number (int float bool complex)# (1) float 浮点型 也就是小数# 表达方式一floatvar = 0.98print(floatvar)print(typ ...
- 从零3D基础入门XNA 4.0(2)——模型和BasicEffect
[题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...
- C#基础入门 七
C#基础入门 七 接口 由于C#语言不支持多重继承,所以可以使用接口模拟结构的继承,通过使用interface关键字,定义一个接口. interface USB { void Read(string[ ...
- Python爬虫入门七之正则表达式
在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...
- 转 Python爬虫入门七之正则表达式
静觅 » Python爬虫入门七之正则表达式 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串 ...
- Jmeter Web 性能测试入门 (七):Performance 测试中踩过 Jmeter 的坑
脚本运行的过程中,大量request抛error,但没有地方能够查看request是因为什么error的. 原因:Jmeter默认禁掉了运行过程中每个request的具体response信息收集,只保 ...
- python预科前三天:计算器知识、Python下载和安装、Pycharm下载安装激活设置、解释型和编译型、git、思维导图、显示隐藏文件、隐藏已知文件扩展名、创建组织、创建项目、提交作业、排BUG技巧
1.计算机组成结构:CPU.硬盘.内存.输入输出设备.主板.电源. 2.硬件之间的协作关系:是CPU运算完后给操作系统.专业术语叫指令. 3.键盘输入a之后发生的事情:键盘-CPU-操作系统-显卡-显 ...
- Python基本数据类型之整型和布尔型
整型和布尔型 获取对象的数据类型 1.type() 2.dir() 3.help() 4.在pycharm里面的操作 数字类型 int 创建: int() 接收数字字符串 .bit_lenght() ...
- 软件测试入门——测试模型(V型 W型 H型)
软件测试工程师称为“QA”,质量保证者——这是入门的第一点要学习的. 首先看基本的测试模型 1.“V”型 特点:[活动串行]这是一种古老的瀑布模型,反映了实际和测试之间的关系. 局限:仅仅把测试过程作 ...
- HotSpot关联规则算法(2)-- 挖掘连续型和离散型数据
本篇代码可在 http://download.csdn.net/detail/fansy1990/8502323下载. 前篇<HotSpot关联规则算法(1)-- 挖掘离散型数据>分析了离 ...
随机推荐
- docker nginx 配置
1.下载镜像 docker pull nginx2宿主机器建立目录/docker/nginx/conf.d 这个目录下面新建 default.conf upstream tomcat77{ serve ...
- RSTP-快速生成树协议
1 STP的不足之处STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量. 2 RSTP概述RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP. 通过接口 ...
- es启动和停止命令
1.启动命令 使用elasticsearch用户来启动,进入bin目录(例:home/db_app/elasticsearch/elasticsearch-6.5.4/elasticsearch-cl ...
- TPM 2.0 - could not load "libtss2-tcti-tabrmd.so.0"
报错: TPM 2.0 - could not load "libtss2-tcti-tabrmd.so.0" 解决:sudo apt install libtss2-tcti-t ...
- R7-3 汉诺(Hanoi)塔问题
R7-3 汉诺(Hanoi)塔问题 分数 20 全屏浏览题目 切换布局 作者 张高燕 单位 浙大城市学院 古代某寺庙中有一个梵塔,塔内有3个座A.B和C,座A上放着64个大小不等的盘,其中大盘在下,小 ...
- react 脚手架搭建项目 报错C:\Program Files\nodejs\node_cache\_logs\2022-12-28T14_38_28_286Z-debug-0.log
报错内容: 解决方法: 第一步: 删除C:\Program Files\nodejs\node_cache\_logs 目录下所有文件 第二步:切换镜像 npm config set registry ...
- 接口设置ip跨域
// 允许跨域请求的地址'allowUrls' => [ 'http://localhost:8080', 'http://192.168.2.224', 'http://192.168.2.2 ...
- select选项中的内容和其他输入框不对齐
有时候总会遇见莫名其妙的问题,如图中(为了清除的表示问题,我又用画图将偏离更夸张些).为了解决这个问题,只好取消样式优化,同时自己加小箭头.但是为什么会有这样的问题啊 /*取消iphone样式优化*/ ...
- Blender2.8 使用笔记
基本 视口 小键盘/: 隔离 Z:切换线框与实体显示 Ctrl+Alt+Q : 多视图切换 Shift+C:回原点 Shift+鼠标中键 视口平移 Ctrl+上下移动 视口放大缩小 导出FBX 几何数 ...
- 第八章:diff
1.git diff命令的格式 1]可以使用git diff命令的来源,(任意树对象.工作目录.索引) 2]git diff命令进行树比较时,可以通过(提交名.分支名.标签名) 3]git d ...