2018.12 CTF备战心得——实验吧训练营密码学(一)

因为12月初有一场比赛要打,平时虽然有练习但是还是缺少系统的准备,所以挖个坑督促自己好好学习。

因为正在做实验吧密码学部分的题目,所以先在这里写写做题心得。

1、变异凯撒

      题目:加密密文:afZ_r9VYfScOeO_UL^RWUc        格式:flag{ }

      首先题目明确指出这题和凯撒加密相关,拿到题之后可以先用凯撒密码工具尝试一下

2018.12 CTF备战心得——实验吧训练营密码学(一)_第1张图片

结果中并没有看到我们想要看到的诸如“flag”“Key”这样的字段。我们都知道凯撒密码的原理是将每个字母都位移一定的位置之后生成的,这句话可以这么理解“凯撒密码的明文和密文长度是一致的并且保持一一对应”

因此我们可以进行猜测,根据题目已经给出的 flag 这四个字符 我们进行比较——,重点关注前四位

a f Z _     r 9 V Y f S c O e O _ U L ^ R W U c

f  l a g 

即密码的前四个字符通过一定的位移分别转换成了 f l a g这四个字母。此时我们注意到密码的第四位出现下划线,而下划线并不在字母表中,因此我们猜测密码的来源可能是ASCII表,下面附上表

2018.12 CTF备战心得——实验吧训练营密码学(一)_第2张图片

直接观察序号,a-f移动了5位,f-l移动了6位,Z-a移动了7位,_到g移动了8位。

所以我们大胆猜测这个加密方法为每次移动的位数都比前一位+1。至此本题方法已经得出,可以通过编程实现也可以通过强算

 

2、传统知识+古典密码

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

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

key值:CTF{XXX}

 

看到辛卯、癸巳这些字眼,即使不知道具体规则我们通过百度也能知道它们是干支编年中的其中一个。百度之后我们我们知道“干支总共有60个,每个都有对应的序号”

2018.12 CTF备战心得——实验吧训练营密码学(一)_第3张图片

所以 辛卯--28   癸巳--30  丙戌--23  辛未--08  庚辰--17  癸酉--10  己卯--16  癸巳--30

重点在于+甲子 应该如何理解。有两种理解方式,一是按照上图中将每个数字+1。二是按照传统知识中的理解法,甲子更多时候代表了60年,所以要每个数字+60。根据题目的说明我更倾向于第二种。每个数字加60后我们得到:

88 90 83 68 77 70 76 90

我们试着把这串数字当ASCII进行转换,得到:

XZSDMFLZ

根据经验我们猜测这种纯字母的密文很可能是栅栏密码,扔到工具里试试

2018.12 CTF备战心得——实验吧训练营密码学(一)_第4张图片

这里我们可以对两个结果再次进行测试,进行凯撒解密,得到

答案已经出来了。你发现了吗?

今天就暂时更到这. 2018.11.25  1:15

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

你可能感兴趣的:(2018.12 CTF备战心得——实验吧训练营密码学(一))