青年CTF题集-Crypto

admin 2022年12月2日14:14:31评论25 views字数 1703阅读5分40秒阅读模式

Crypto_1


hello everyone

密码学大致分类有古典、对称、非对称三类。

密码学用我的理解就是一种加密算法 or 编码,密码学基础的内容最好的办法就是了解各种加密后的格式,把格式记清楚即可。

对应加密的算法刚开始不用太了解。

在刚开始遇到密码学不会解??

会百度吧(当然不一定就是百度哈),推荐一些超简单的办法:

百度搜索对应加密算法的在线解密

百度搜索站长工具,站长工具包含但不限于加解密,还包括了一些有趣的功能

百度搜索一些脚本加解密的内容

 第一题:

我们拿到一道easy的Crypto(密码学)类的题目

青年CTF题集-Crypto

看到这样的东西是不是很抠脑壳,先把里面的值抠出来:

71736E6374667B333939623130D226139343D293663336D246366466623564303365346364307D

看到一长串不属于正常语言的值,总计78

78位能被2整除,首先想想ASCLL类编码这些编码后都是两位值,仔细看看上面的表格最后有个7D;

既然这是一个加密后的内容最基础就先看看最后的值 正常的flag最后都是},除开某些可能,例如凯撒加密这种换位加密;

既然最后是个7D,了解过密码学的应该会觉得熟悉,7D,这样的格式像是ASCLL十六进制加密,因为编码方式很多,所以我们先试一试。

对应ASCLL表,7D是}编码后的结果。

再往前看看,我们既然拿到了},就应该看看有没有对应的{,因为flag有一个特殊的格式,就是{}。

前面有个值:7B,这个值在ASCLL编码中是{,既然这样我们就能确定这个值是被ASCLL编码加密过的值。

青年CTF题集-Crypto

用之前说过的一些解密的办法去解密。

青年CTF题集-Crypto

转换出来是乱码(提示在不同的网站可能有不同的转换方式,所以先了解到加密后的格式,你在输入内容时才能等到)。


验证网站解密格式:

以当前网站为例子随便输入内容;

青年CTF题集-Crypto

青年CTF题集-Crypto

在网站中下面的类容里发现了他的格式前面加了0x

试一下:

青年CTF题集-Crypto

获取到了值现在只需要在两个值前加一个0x

0x710x730x6E0x630x740x660x7B0x330x390x390x620x31300x630x640x2D0x630x330x660x390x2D0x340x390x310x622D0x640x660x620x350x640x300x330x650x340x630x640x307D

回到主题:

我们再仔细看看上面的表格,发现第二行不对劲,我把它用两个两个一组用红框框出来,发现第二行有好几个由字母开头的编码,但是ASCLL编码并没有由字符开头的内容。

做ctf就是要有开阔的思维,既然他位置不对,那我们就把他倒过来,不管做什么方向都要勇于尝试。

青年CTF题集-Crypto

发现直接把所有的发上去任然还有乱码的问题(大概是网站的原因),将其分段解码最后获取到了我们想要的flag

青年CTF题集-Crypto

青年CTF题集-Crypto

青年CTF题集-Crypto

qsnctf{399b10cd-c3f9-491b-dfb5d03e4cd0}

成功拿到了flag。

ok,我们总结一下从头到尾我们做了什么:

1.拿到题,分析编码类型。

2.解密

总的来说其实就两步。

第一步你就需要了解清楚有些什么编码类型,才能判断,这还是简单的,更甚有那种自己写出来的加密算法。

第二步用对应解密手法把他还原,这种仅仅只加密了一次


 


第二题

基础浏览

Rsa:一种非对称加密

青年CTF题集-Crypto

Mod(取模运算):指求两个数相除的余数

^按位异或运算符。

质数:也称素数,指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

互质:指公约数只有1的两个整数,叫做互质整数。公约数只有1的两个自然数,叫做互质自然数,后者是前者的特殊情形

rsa主要公式:

n = p * q

ø(n) = (p - 1) * (q - 1)

ed ≡ 1 mod ø(n) 

c = m**e mod n

m = c**d mod n

拿到一道py脚本

青年CTF题集-Crypto

打开看了之后,发现里面有些关键点:pqendc;一看就能知道是rsa解密

既然值都有了,我们就直接计算m的内容。

青年CTF题集-Crypto

得到m后,就是获取明文密文的时候

将m的值从十进制转换为十六进制,再将其转换为字符/字母;

青年CTF题集-Crypto青年CTF题集-Crypto

当然既然给了你脚本,直接再脚本里改

青年CTF题集-Crypto

总结:rsa;获取m的值,再转十六进制,再转字母or字符。

原文始发于微信公众号(Rot5pider安全团队):青年CTF题集-Crypto

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月2日14:14:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   青年CTF题集-Cryptohttp://cn-sec.com/archives/1435281.html

发表评论

匿名网友 填写信息