CTF中密码学一些基础

本文作者:i春秋签约作家MAX、

凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。

给大家先找两道题,来一起探讨基础密码学~

图片12.png

图片14.png

下一题

图片16.png

看了看题目就是一个隐写术的题嘛  上神器ss

图片17.png

扫描一下我们看看flag不就出来了吗!!

图片18.png

下一题

图片19.png

一看就知道是AES加密先解密再说

图片20.png

提交答案错误

仔细观察,感觉可能用了凯撒移位

前5个字母按照flag的规律应是NSCTF,由此得到移位数

手工破解即可flag{NSCTF_Rot_EnCryption}

恺撒密码

它是一种代换密码。据说凯撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。

凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。

下一题

图片21.png

里面有汉语什么鬼???汉语怎么解密???我们想想一般都是/什么的标识符等等难道是==???那其他字就是/??我们尝试一下可以!

图片22.png

不是flag接着RainRaid解密

图片23.png

下一题:

图片24.png

下载文件发现是py脚本还有一个txt文件题目给了一个py脚本和一个密文文件,阅读源码可知:py脚本将明文转换为密文,现在需要将密文文件中的密文解密得到明文。 很明显加密流程为将明文转换为16进制编码,在转化为10进制数,将每两位数字构成的数进行FAN函数运算,再拼接起来得到密文。 

因此解密流程为:将0~99利用FAN函数求得加密值,建立加密值到原数的字典,在明文中查字典拼接得到10进制数,转化为16进制数,再求取字符串。 

按照要求用python脚本跑即可

图片25.png

flag:SIS{a9ab115c488a311896dac4e8bc20a6d7}

下一题:

图片26.png

rot13解密即可

图片27.png

下一题

图片28.png

图片29.png

不用我说了吧以前我们见过摩斯码解密即可。

图片30.png

原文地址:https://www.cnblogs.com/ichunqiu/p/7593201.html