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

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

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. 解决Emoji存储MySQL报错问题

    在解决之前,得先说明一下为什么会出现报错,Emoji表情占用4个字节,但是MySQL数据库UTF-8编码最多只能存储3个字节,就会导致存储不进去 如何解决Emoji存储问题 mysql 的 utf8编 ...

  2. HDU 4055 Number String (计数DP)

    题意:由数字1到n组成的所有排列中,问满足题目所给的n-1个字符的排列有多少个,如果第i字符是‘I’表示排列中的第i-1个数是小于第i个数的. 如果是‘D’,则反之. 析:dp[i][j] 表示前 i ...

  3. HDU 1111 Secret Code (DFS)

    题目链接 题意 : 给你复数X的Xr和Xi,B的Br和Bi,让你求一个数列,使得X = a0 + a1B + a2B2 + ...+ anBn,X=Xr+i*Xi,B=Br+Bi*i : 思路 : 首 ...

  4. linux 不在sudoers文件中、普通用户获得sudo权限

    现在要让jack用户获得sudo使用权 切换到超级用户root $su root 查看/etc/sudoers权限,可以看到当前权限为440 $ ls -all /etc/sudoers -r--r- ...

  5. 12、Semantic-UI之输入框

    12.1 基础输入框   在Semantic-UI中可以定义多个样式的输入框,可以将图片与输入框结合,输入提示信息文字,设置输入框的状态. 示例:定义基础输入框 用户名: <div class= ...

  6. alpha七天冲刺计划

    alpha七天冲刺计划(更新ing) 第一天:https://www.cnblogs.com/renluqian/p/9895895.html 第二天: 第三天: 第四天: 第五天: 第六天: 第七天 ...

  7. opencv——(动态)旋转图像

    #include "stdafx.h" #include <opencv2\opencv.hpp> #include <opencv\cv.h> #incl ...

  8. Linq善解人意之通过MSDN对14个“查询关键字“逐个解剖

    linq中存在的 14个关键字 网址: https://msdn.microsoft.com/zh-cn/library/bb310804.aspx from: 迭代变量 where:对数据源进行逻辑 ...

  9. django drf 初探serializer

    1.定义Model对应的serializer from rest_framework import serializers class GoodsSerializer(serializers.Seri ...

  10. HTML5 开发APP 第一章

    当今天下,移动端基本上是安卓和苹果的天下,基本上没微软什么事,作为微软忠实的支持者,也要顺势而变. 但安卓和IOS  开发是两个完全不同的世界,有没有一种技术,开发完以后可以运行在任意终端呢,答案是有 ...