小明某一天收到一封密信,信中写了几个不同的年份
          辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。

信的背面还写有“+甲子”,请解出这段密文。

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 传统知识+古典密码的更多相关文章

  1. 实验吧—密码学——WP之 传统知识+古典密码

    仔细读题,发现有价值的信息: 几个不同的年份:“+甲子”:key值结构 首先我们并不知道这些年份在这里代表着什么,那么我们就去百度一下发现了如下所示的六十甲子顺序表 而在表中每个年份前都有数字,将他们 ...

  2. CTF---密码学入门第五题 传统知识+古典密码

    传统知识+古典密码分值:10 来源: 霜羽 难度:易 参与人数:2297人 Get Flag:735人 答题人数:938人 解题通过率:78% 小明某一天收到一封密信,信中写了几个不同的年份     ...

  3. ctf密码学习题总结

    1.变异凯撒 加密密文:afZ_r9VYfScOeO_UL^RWUc格式:flag{ }   一看题中说的是凯撒加密,我就赶快使用工具列出了所有的组合,然而发现没有一个是我想要的. 于是乎,又重新审题 ...

  4. ctf古典密码从0到

    本文首发于“合天智汇”公众号 作者:淡灬看夏丶恋雨 古典密码和现代密码的区别: 代换密码 单表代换密码 字符或数学型 凯撒密码 仿射密码 四方密码 培根密码 图表 标准银河字母 圣堂武士密码 猪圈密码 ...

  5. 实验吧—密码学——WP之 古典密码

    首先我们研究题目 1.古典密码 2.key值的固定结构 3.加密方式就在谜面里 首先看到这些数字我们就能想到ASCII,而且做题多了就能看出123是{:125是},所以得到字符串如下 OCU{CFTE ...

  6. CTF-Tools 一款CTF古典密码加解密工具

    CTF-Tools 一款CTF古典密码加解密工具 工具截图 工具简介 一款CTF编码.解码.加密.解密工具. 支持的编码解码: URL-UTF-8 URL-GB2312 Unicode Escape( ...

  7. CTF密码学总结

    CTF中那些脑洞大开的编码和加密 摘自:https://www.cnblogs.com/mq0036/p/6544055.html 0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到 ...

  8. CTF---密码学入门第六题 古典密码

    古典密码分值:10 来源: 北邮天枢战队 难度:易 参与人数:5115人 Get Flag:1549人 答题人数:1783人 解题通过率:87% 密文内容如下{79 67 85 123 67 70 8 ...

  9. CTF密码学常见加解密总结

    CTF密码学常见加解密总结 2018年03月10日 19:35:06 adversity` 本文链接:https://blog.csdn.net/qq_40836553/article/details ...

随机推荐

  1. Sublime Text 3 -mac简体中文汉化包下载及教程

    Sublime Text 3下载 官方下载地址:http://www.sublimetext.com/3 汉化包链接 1.将上面要求下载的sublime_text_3.zip 文件解压,得到的Defa ...

  2. Android Logging

    Here is HauteLook’s logger class from our Android Code Library. It displays class name, method name ...

  3. SOAP协议初级指南 (一)

    SOAP(Simple Object Access Protocal) 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问.SOAP是把成熟的基于HTTP的WEB技 ...

  4. 深入理解java虚拟机(十一) 方法调用-解析调用与分派调用

    方法调用过程是指确定被调用方法的版本(即调用哪一个方法),并不包括方法执行过程.我们知道,Class 文件的编译过程中并不包括传统编译中的连接步骤,一切方法调用在 Class 文件调用里面存储的都只是 ...

  5. SSH密钥登陆

    参考: SSH公钥登录原理 比如git可以生成公钥,然后用有权限的账户把他加到仓库上,以后就可以通过公钥登陆了.不需要像https那样需要有账号,但是权限管理就不细了. 有时候如果仓库上添加了多个公钥 ...

  6. Android 虚拟机访问本地服务器的地址

    http://10.0.2.2:8080/test/ 比如 localhost:8080 为 tomcat 地址,然后 test 是 tomcat 目录下 webapps 的子目录. 10.0.2.2 ...

  7. CharSequence与String的区别

    CharSequence与String都能用于定义字符串,但CharSequence的值是可读可写序列,而String的值是只读序列. 原文: http://blog.csdn.net/joy_zha ...

  8. OCP最新题库收集,新版052考题及答案整理-19

    19.Which is true about invalid PL/SQL objects? A) They are automatically recompiled against the new ...

  9. leecode刷题(14)-- 有效的字母异位词

    leecode刷题(14)-- 有效的字母异位词 有效的字母异位词 描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = " ...

  10. bzoj2662冻结

    题目链接 话说为什么出题人老是卡$SPFA$啊$qwq$ 然而$SPFA$硬是让本宝宝写成了$dij$ 分情况讨论就好 /*************************************** ...