buuctf、攻防世界和学习笔记

本文介绍了参与BUUCTF、攻防世界等CTF比赛中的加密解密技巧,涉及Quoted-printable编码、Rabbit流密码、栅栏密码(Railfence Cipher)、RSA加密算法和MD5哈希。同时,分享了学习笔记,涵盖了幂数加密、摩斯密码与培根密码的解码方法,以及RSA私钥计算。

BUUCTF

1.Quoted-printable

1.内容:

任何一个8位的字节值可编码为3个字符:一个等号”=”后跟随两个十六进制数字(0–9或A–F)表示该字节的数值.例如,ASCII码换页符(十进制值为12)可以表示为”=0C”, 等号”=”(十进制值为61)必须表示为”=3D”. 除了可打印ASCII字符与换行符以外,所有字符必须表示为这种格式.

所有可打印ASCII字符(十进制值的范围为33到126)可用ASCII字符编码来直接表示, 但是等号”=”(十进制值为61)不可以这样直接表示.ASCII的水平制表符(tab)与空格符, 十进制为9和32, 如果不出现在行尾则可以用其ASCII字符编码直接表示。如果这两个字符出现在行尾,必须QP编码表示为”=09″ (tab)或”=20″ (space).

如果数据中包含有意义的行结束标志,必须转换为ASCII回车(CR)换行(LF)序列,既不能用原来的ASCII字符也不能用QP编码的”=”转义字符序列。 相反,如果字节值13与10有其它的不是行结束的含义,它们必须QP编码为=0D与=0A.

quoted-printable编码的数据的每行长度不能超过76个字符. 为满足此要求又不改变被编码文本,在QP编码结果的每行末尾加上软换行(soft line break). 即在每行末尾加上一个”=”, 但并不会出现在解码得到的文本中.(没看懂)

2.

用在线的qp编码工具就可以得到flag

2.Rabbit

1.介绍:

最大加密消息长度为264 Bytes,即16 TB,若消息超过该长度,则需要更换密钥对剩下的消息进行处理。它是目前安全性较高,加/解密速度比较高效的流密码之一,在各种处理器平台上都有不凡的表现。

2.

在线工具解密

3.篱笆墙的影子

1.栅栏密码:

把将要传递的信息中的字母交替排成上下两行。再将下面一行字母排在上面一行的后边,从而形成一段密码。

例如:明文:THE LONGEST DAY MUST HAVE AN END

加密:

*把将要传递的信息中的字母交替排成上下两行。

T E O G S D Y U T A E N N

H L N E T A M S H V A E D

*密文:

将下面一行字母排在上面一行的后边。

TEOGSDYUTAENN HLNETAMSHVAED

2.

 4.RSA

1.计算:

 2.

 5.丢失的MD5

 首先print函数要加括号,加上括号之后运行

 发现报错,说Unicode-objects必须被加密在哈希之前(没懂)

6.Alice与Bob

 分解:可以用在线的分解工具,将大整数分解成两个素数,分解后再用在线的MD5加解密工具进行哈希算法

7.rsarsa

 将私钥d算出,解码c

攻防世界

1.幂数加密

1.

幂数加密,01248密码,又称云影密码,与二进制幂加密不同,这个加密法采用的是0作间隔,其他非0数隔开后组合起来相加表示a-z字母。0作分割,其他数隔开后组合加和,转化为1-26对应的字母

2.

 884210     1220   480   22440  40   1422420     2480   122

  23                5      12        12      4         15           14        5

   w               e         l            l       d           o            n          e

2.Railfence(栅栏密码)

 由于flag为cyberpeace{}这种形式,题目中的{}在中间,不管分为5栏还是7栏都不能得到flag的正确形式,所以考虑变形,有一种叫做WWW的变种,将题目按照W形状排列,栏数从2开始试,直到出现flag的形式,最后栏数是5.

3.不仅仅是Morse

 用在线的摩斯密码解码工具解码之后发现解码后的字母有很多a,b所以就想到培根密码

 将从a开始的字母用在线培根密码解码工具解密就可以得到答案

培根密码

培根密码,又名倍康尼密码(英语:Bacon's cipher)是由法兰西斯·培根发明的一种隐写术。培根密码本质上是将二进制信息通过样式的区别,加在了正常书写之上

对照表

 4.easy_RSA

与buuctf一样,计算出私钥d即可得到答案

学习笔记

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值