CTF<密码学> writeup 传统知识+古典密码
小明某一天收到一封密信,信中写了几个不同的年份
辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
信的背面还写有“+甲子”,请解出这段密文。
key值:CTF{XXX}
百度可以查到有关传统知识
可以得到年份 list = [28,30,23,8,17,10,16,30]
+甲子,意为加60年,新的list = [88,90,83,68,77,70,76,90]
这些数字相隔不大,很容易联想到ascii码的对应的字符值:

栅栏密码python 代码:
list = [28,30,23,8,17,10,16,30]
i=0
while i<len(list):
list[i]+=60
i+=1
s=""
i=0
while i<len(list):
s+=chr(list[i])
i+=1
print s
#s='abcdefgh'
fac = [x for x in range(1,len(s))]
i=1
print fac
for j in range(len(fac)):
str1=''
for i in range(fac[j]):
k=0
while i+k<len(s):
str1+=s[i+k]
k+=fac[j]
print str1
进行一轮栅栏算法解密得到的结果:
XZSDMFLZ
XSMLZDFZ
XDLZMZSF
XMZFSLDZ
XFZLSZDM
XLZZSDMF
XZZSDMFL
发现没有什么特别规律,然后对每一个进行凯撒解密,python代码如下:
i=0
s=input("Input the string:")
s.upper()
for j in range(25):
str1=''
for i in range(len(s)):
str1+=chr((ord(s[i])-64+j)%26+64)
print str1
当试到第4个字符串时:
XM@FSLD@
YNAGTMEA
@OBHUNFB
APCIVOGC
BQDJWPHD
CREKXQIE
DSFLYRJF
ETGM@SKG
FUHNATLH
GVIOBUMI
HWJPCVNJ
IXKQDWOK
JYLREXPL
K@MSFYQM
LANTG@RN
MBOUHASO
NCPVIBTP
ODQWJCUQ
PERXKDVR
QFSYLEWS
RGT@MFXT
SHUANGYU
TIVBOH@V
UJWCPIAW
VKXDQJBX
flag就是SHUANGYU
CTF<密码学> writeup 传统知识+古典密码的更多相关文章
- 实验吧—密码学——WP之 传统知识+古典密码
仔细读题,发现有价值的信息: 几个不同的年份:“+甲子”:key值结构 首先我们并不知道这些年份在这里代表着什么,那么我们就去百度一下发现了如下所示的六十甲子顺序表 而在表中每个年份前都有数字,将他们 ...
- CTF---密码学入门第五题 传统知识+古典密码
传统知识+古典密码分值:10 来源: 霜羽 难度:易 参与人数:2297人 Get Flag:735人 答题人数:938人 解题通过率:78% 小明某一天收到一封密信,信中写了几个不同的年份 ...
- ctf密码学习题总结
1.变异凯撒 加密密文:afZ_r9VYfScOeO_UL^RWUc格式:flag{ } 一看题中说的是凯撒加密,我就赶快使用工具列出了所有的组合,然而发现没有一个是我想要的. 于是乎,又重新审题 ...
- ctf古典密码从0到
本文首发于“合天智汇”公众号 作者:淡灬看夏丶恋雨 古典密码和现代密码的区别: 代换密码 单表代换密码 字符或数学型 凯撒密码 仿射密码 四方密码 培根密码 图表 标准银河字母 圣堂武士密码 猪圈密码 ...
- 实验吧—密码学——WP之 古典密码
首先我们研究题目 1.古典密码 2.key值的固定结构 3.加密方式就在谜面里 首先看到这些数字我们就能想到ASCII,而且做题多了就能看出123是{:125是},所以得到字符串如下 OCU{CFTE ...
- CTF-Tools 一款CTF古典密码加解密工具
CTF-Tools 一款CTF古典密码加解密工具 工具截图 工具简介 一款CTF编码.解码.加密.解密工具. 支持的编码解码: URL-UTF-8 URL-GB2312 Unicode Escape( ...
- CTF密码学总结
CTF中那些脑洞大开的编码和加密 摘自:https://www.cnblogs.com/mq0036/p/6544055.html 0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到 ...
- CTF---密码学入门第六题 古典密码
古典密码分值:10 来源: 北邮天枢战队 难度:易 参与人数:5115人 Get Flag:1549人 答题人数:1783人 解题通过率:87% 密文内容如下{79 67 85 123 67 70 8 ...
- CTF密码学常见加解密总结
CTF密码学常见加解密总结 2018年03月10日 19:35:06 adversity` 本文链接:https://blog.csdn.net/qq_40836553/article/details ...
随机推荐
- Sublime Text 3 -mac简体中文汉化包下载及教程
Sublime Text 3下载 官方下载地址:http://www.sublimetext.com/3 汉化包链接 1.将上面要求下载的sublime_text_3.zip 文件解压,得到的Defa ...
- Android Logging
Here is HauteLook’s logger class from our Android Code Library. It displays class name, method name ...
- SOAP协议初级指南 (一)
SOAP(Simple Object Access Protocal) 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问.SOAP是把成熟的基于HTTP的WEB技 ...
- 深入理解java虚拟机(十一) 方法调用-解析调用与分派调用
方法调用过程是指确定被调用方法的版本(即调用哪一个方法),并不包括方法执行过程.我们知道,Class 文件的编译过程中并不包括传统编译中的连接步骤,一切方法调用在 Class 文件调用里面存储的都只是 ...
- SSH密钥登陆
参考: SSH公钥登录原理 比如git可以生成公钥,然后用有权限的账户把他加到仓库上,以后就可以通过公钥登陆了.不需要像https那样需要有账号,但是权限管理就不细了. 有时候如果仓库上添加了多个公钥 ...
- Android 虚拟机访问本地服务器的地址
http://10.0.2.2:8080/test/ 比如 localhost:8080 为 tomcat 地址,然后 test 是 tomcat 目录下 webapps 的子目录. 10.0.2.2 ...
- CharSequence与String的区别
CharSequence与String都能用于定义字符串,但CharSequence的值是可读可写序列,而String的值是只读序列. 原文: http://blog.csdn.net/joy_zha ...
- OCP最新题库收集,新版052考题及答案整理-19
19.Which is true about invalid PL/SQL objects? A) They are automatically recompiled against the new ...
- leecode刷题(14)-- 有效的字母异位词
leecode刷题(14)-- 有效的字母异位词 有效的字母异位词 描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = " ...
- bzoj2662冻结
题目链接 话说为什么出题人老是卡$SPFA$啊$qwq$ 然而$SPFA$硬是让本宝宝写成了$dij$ 分情况讨论就好 /*************************************** ...