ctf.show与学习笔记

ctf.show

1.密码学签到

ctf.show与学习笔记_第1张图片

看到密文之后不难发现,flag就是倒着写的,直接将密文倒叙输出就是答案

2.

ctf.show与学习笔记_第2张图片

看到题目,全是由符号组成的,将题目内容全部复制到控制台,回车即可得到答案

3.

ctf.show与学习笔记_第3张图片

 第三题与第二题看起来是一样的,所以先将其复制到控制台,发现报错了,有中文的引号,将所有的引号全部换成英文之后还是没有得到flag,········(不会了,没有思路了)

4.

ctf.show与学习笔记_第4张图片

 直接用工具计算出私钥d即可

5.

ctf.show与学习笔记_第5张图片

 根据rsa密码的解密规则解出m

ctf.show与学习笔记_第6张图片

 6.

ctf.show与学习笔记_第7张图片

 没有判断出这是什么密码,网上查到时rabbit流密码,但是没有解密出来

7.

ctf.show与学习笔记_第8张图片

 拿到题目之后可以看到这是ook密码

ctf.show与学习笔记_第9张图片

 用在线工具直接解密即可

8.

ctf.show与学习笔记_第10张图片

这个密码是brain fuck与ook相似

ctf.show与学习笔记_第11张图片

9.

ctf.show与学习笔记_第12张图片

 要想解压需要密码,尝试了一下serpent,不对,然后,没法解压,

10.

 看到题目,这是QP编码,直接解码即可

11.

ctf.show与学习笔记_第13张图片

 看到密文后第一反应感觉是base64,试着解码之后发现不是,然后试MD5,用32位和16位都试了,都不对,最后上网查了MD5,发现有一种情况----MD5碰撞

MD5 相同的情况叫做“碰撞”,现在网络中已经出现了两个相同的 MD5 可执行文件,就会造成一些问题,文件被篡改,但MD5值是一样的。

MD5免费在线解密破解_MD5在线加密-SOMD5

12.

ctf.show与学习笔记_第14张图片

 在花括号前面有4个字母,所以考虑凯撒密码,位移1即可得到flag

13.

ctf.show与学习笔记_第15张图片

 拿到题之后第一反应是凯撒密码,但是得不到flag{}的形式,所以考虑了“变异的凯撒”,发现它们的ASCII码的位移没有规律,所以不是凯撒密码的变形,但是,还有一种替换密码是埃特巴什码

埃特巴什码(Atbash Cipher)是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。

在罗马字母表中,它是这样出现的:

明文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

密文:Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

(解密之后,得到了flag{}的形式,但还是不对)

学习总结:

密码算法采用针对字符的替代(substitution)和置换(permutation)

培根密码:

培根密码(Baconian Cipher)是一种替换密码,每个明文字母被一个由5字符组成的序列替换。

原理:最初的加密方式就是由‘A’和‘B’组成序列替换明文,比如字母‘D’替换成“aaabb”

ctf.show与学习笔记_第16张图片

 仿射密码:

仿射密码是一种表单代换密码,字母表的每个字母相应的值使用一个简单的数学函数对应一个数值,再把对应数值转换成字母。

它的加密函数是e(x)=ax+b(mod m),其中a和m互质,m是字母的数目。解码函数是

ctf.show与学习笔记_第17张图片

,其中是a在Zm群的乘法逆元。

破解:仿射密码对于任意两个不同的字母,其最后得到的密文必然不一样,所以其也具有最通用的特点。当密文长度足够长时,我们可以使用频率分析的方法来解决。

当a=1时,仿射加密是凯撒加密。而一般来说,我们利用仿射密码时,其字符集都用的是字母表,一般只有26个字母,而不大于26的与26互素的个数一共有ϕ(26)=ϕ(2)×ϕ(13)=12算上b的偏移可能,一共有可能的密钥空间大小也就是12×26=312

这种密码由两种参数来控制,如果我们知道其中任意一个参数,那我们便可以很容易地快速枚举另外一个参数得到答案。但是,假设我们已经知道采用的字母集,这里假设为26个字母,我们还有另外一种解密方式,我们只需要知道两个加密后的字母 y1,y2即可进行解密。那么我们还可以知道

y1=(ax1+b)(mod26)        y2=(ax2+b)(mod26)

两式相减,可得y1−y2=a(x1−x2)(mod26)

这里 y1,y2已知,如果我们知道密文对应的两个不一样的字符 x1 与 x2 ,那么我们就可以很容易得到 a ,进而就可以得到 b 了。

维吉尼亚密码:

维吉尼亚密码是在单一恺撒密码的基础上扩展出多表代换密码,根据密钥(当密钥长度小于明文长度时可以循环使用)来决定用哪一行的密表来进行替换,以此来对抗字频统计,以第一行为明文字母,第一列为密钥字母,对应的密文就是其交点处的字母。

ctf.show与学习笔记_第18张图片

曲路密码:

曲路密码(Curve Cipher)是一种换位密码,需要事先双方约定密钥,

明文: The quick brown fox jumps over the lazy dog

填入5行7列表(事先约定填充的行列数)

ctf.show与学习笔记_第19张图片

列移位密码:

列移位密码(Columnar Transposition Cipher)是一种比较简单,易于实现的换位密码,通过一个简单的规则将明文打乱混合成密文

明文 The quick brown fox jumps over the lazy dog

密钥 how are u

填入5行7列表(事先约定填充的行列数,如果明文不能填充完表格可以约定使用某个字母进行填充)

ctf.show与学习笔记_第20张图片

 按how are u在字母表中的出现的先后顺序进行编号,我们就有a为1,e为2,h为3,o为4,r为5,u为6,w为7,所以先写出a列,其次e列,以此类推

ctf.show与学习笔记_第21张图片

 密文: qoury inpho Tkool hbxva uwmtd cfseg erjez

棋盘密码:

棋盘密码是使用一个波利比奥斯方阵和两个密钥作为密阵的替换密码,通常在波利比奥斯方阵中J字母往往被包含在I字母中

ctf.show与学习笔记_第22张图片

明文:T  H  E  Q  U  I  C  K  B  R  O  W  N  F  O  X

密文:RK BK RU OC OC BI NK BQ WK RI OQ WI BU NU OQ WU

数字坐标密码:

ctf.show与学习笔记_第23张图片

 键盘密码:

一般用到的键盘密码就是手机键盘和电脑键盘两种, 按类型来分,也分为两种第一种为形状类,即通过键盘字母位置形成的各种形状来传递信息

在圈中都围绕一个字母,于是,得到

Cfgb 34rdsw bhjm 78ijhy wedxza 34rfdsw xdfv 56ygfr rtgvcd

   v         e        n        u          s           e         c        t          f   

第二种为在键盘的基础上利用替换,棋盘加密的思想而形成的对应规则

ctf.show与学习笔记_第24张图片

 ctf.show与学习笔记_第25张图片

 ctf.show与学习笔记_第26张图片

 轮转加密:

(不太懂加密的方式)

ctf.show与学习笔记_第27张图片

 

你可能感兴趣的:(安全,web安全)