困在栅栏里的恺撒WriteUp(附栅栏密码加密解密脚本)
题目地址:http://www.shiyanbar.com/ctf/1867
这道题目并不难,就是先用栅栏密码解密,然后再用恺撒密码解密就好。
1.

6代表了栅栏密码的栏数(说实话,一开始我也没看出来,后来是抱着试试的心态用6作栏数解密)。
下面是我写的Python脚本:
import argparse,re,math
def cut_string(string,length):
textArr=re.findall('.{'+str(length)+'}',string)
textArr.append(string[len(textArr)*length:])
return textArr
def rail_fence_encryption(group_char_number,string):
str_len=len(string)
TS_list=cut_string(string,group_char_number)#temporary storage
result_str=''
for i in range(group_char_number):
for j in range(len(TS_list)):
try:
result_str=result_str+TS_list[j][i]
except:
pass
return 'Encryption result:'+result_str
def rail_fence_decryption(group_number,string):
group_char_number=int(math.floor(len(string)/group_number))
add_char_number=len(string)%group_number
TS_list1=cut_string(string[:((group_char_number+1)*add_char_number)],group_char_number+1)
TS_list2=cut_string(string[((group_char_number+1)*add_char_number):],group_char_number)
TS_list=TS_list1+TS_list2
result_str=''
for i in range(group_char_number+1):
for j in range(len(TS_list)):
try:
result_str=result_str+TS_list[j][i]
except:
pass
return 'Decryption result:'+result_str
if __name__ == '__main__':
parser=argparse.ArgumentParser()
parser.add_argument("m",choices=['d','e'],help='encipherment/decipherment')
parser.add_argument('g',type=int,help='group_char_number/group_number')
parser.add_argument('s',type=str,help='encrypt/decrypt strings')
args=parser.parse_args()
if args.g>len(args.s):
print 'ERROR:Please enter the correct group_char_number/group_number!'
pass
else:
if args.m=='e':
print rail_fence_encryption(args.g,args.s)
elif args.m=='d':
print rail_fence_decryption(args.g,args.s)
使用示例(解密):python 文件名.py d 6 NlEyQd{seft}

2.
我们将NEQ{etlydsf}这段密文放到https://www.cryptool.org/en/cto-ciphers/caesar网站上去解密,当KEY=15时,结果出来了:

提交答案时要将{}里的大写字母转换成小写字母,通过。

困在栅栏里的恺撒WriteUp(附栅栏密码加密解密脚本)的更多相关文章
- 围在栅栏中的爱WriteUp(附QWE密码加解密脚本)
题目的链接:http://www.shiyanbar.com/ctf/1917 1.首先题目给出的是摩尔斯电码: 在下面的网站上解密:https://www.cryptool.org/en/cto-c ...
- CTF---密码学入门第四题 困在栅栏里的凯撒
困在栅栏里的凯撒分值:10 来源: 北邮天枢战队 难度:易 参与人数:4531人 Get Flag:2124人 答题人数:2285人 解题通过率:93% 小白发现了一段很6的字符:NlEyQd{sef ...
- 实验吧-密码学-Decode、困在栅栏里的凯撒
Decode 这是一个多重加密. 0x253464253534253435253335253433253661253435253737253464253531253666253738253464253 ...
- 凯撒密码加密解密--JAVA实现(基础)
凯撒密码一种代换密码,据说凯撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码.凯撒密码的基本思想是:通过把字母移动一定的位数来实现加密和解密.明文中的所有字母都在字母表上向后(或向前) ...
- 实验吧—密码学——WP之 困在栅栏里的凯撒
首先我们研究题目.栅栏:凯撒 还发现一个数字“6”,那么我们很容易就有一个解题思路 对这段字符进行栅栏解密再进行凯撒解密 我们都知道,栅栏解密的关键就是栏数,根据题目中我们发现的信息,这段字符串是12 ...
- 1009: 恺撒Caesar密码
1009: 恺撒Caesar密码 时间限制: 10 Sec 内存限制: 128 MB提交: 349 解决: 215[提交][状态][讨论版] 题目描述 Julius Caesar 生活在充满危险和 ...
- PythonChallenge 1:恺撒密码的解码
题目: 解题思路:根据图中的K→M,O→Q,E→G,我们可以发现K,O,E这三个字母都向后移动了2位.据说恺撒率先使用了这一加密方法,因此将其命名为恺撒密码.它的基本思想是:通过把字母移动一定的位数来 ...
- 恺撒密码 I Python实现
'''恺撒密码 I描述凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:原文:A ...
- 恺撒密码 I
恺撒密码 I ...
随机推荐
- php将用户信息提交到表单并且以txt文档打印出来
1.分析: ====不推荐这种======== <?php function foo(){ // global $message; if(empty($_POST['username'])){ ...
- 字符输入流 FileReader
package cn.lideng.demo3; import java.io.FileNotFoundException; import java.io.FileReader; public cla ...
- lucene之中文分词及其高亮显示(五)
中文分词:即换个分词器 Analyzer analyzer = new StandardAnalyzer();// 标准分词器 换成 SmartChineseAnalyzer analyze ...
- codeforces794D dfs+图上hash
http://codeforces.com/problemset/problem/794/D 题意:在一个国家有 n 座城市和一些双向边.这些城市被编号为 1 到 n. 一共有 m 条双线边,第 i条 ...
- NoSQL数据库Mongodb副本集架构(Replica Set)高可用部署
NoSQL数据库Mongodb副本集架构(Replica Set)高可用部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. MongoDB 是一个基于分布式文件存储的数据库.由 C ...
- python django基础一web框架的本质
web框架的本质就是一个socket服务端,而浏览器就是一个socker客户端,基于请求做出相应,客户端先请求,服务器做出对应响应 按照http协议的请求发送,服务器按照http协议来相应,这样的通信 ...
- C#设计模式(13)——享元模式
1.享元模式介绍 在软件开发中我们经常遇到多次使用相似或者相同对象的情况,如果每次使用这个对象都去new一个新的实例会很浪费资源.这时候很多人会想到前边介绍过的一个设计模式:原型模式,原型模式通过拷贝 ...
- Web API中给领域模型添加媒体类型支持
一.媒体类型 媒体类型(也称为MIME类型)标识一段数据的格式.在HTTP中,媒体类型描述了消息体的格式.媒体类型由两个字符串组成,一个类型和一个子类型.例如:text / html: image/ ...
- python --端点调试
python端点调试 左边三角:快速跳到下一个端点 下箭头:单不调试 斜向下箭头:跳到函数内部执行代码
- 利用C#访问注册表获取软件的安装路径
文章地址:https://blog.csdn.net/yl2isoft/article/details/17332139