ctfshow中crypto的部分题目
1、密码学签到:
当我们点开题目,可以看到:
依据题目的描述,我们可以大致分析出,这个的密文时flag的逆序,那么我们可以通过编写一个相关的程序来使之逆转,代码如下:
我们通过切片符号反向输出密文,得到了结果:
flag{ctf.show}
2、crypto2
在打开第二道题目后,我们打开DOWN.txt,看到其中的文件内容为:
我们通过查询得知,这种的密文为通过JSfuck加密,这种的密文我们可以通过F12中的控制器直接解密,所以得到:
以下的结果,即为flag{3e858ccd79287cfe8509f15a71b4c45d}
3、crypto3
打开第三道文件,我们见到:
打开后,我们见到此文件中为大部分为乱码,此时我们认识到此时不太可能为切实的密码,之后,我们将文字另外保存为文档形式,我们就可以得到切实的密文为:
这样,我们就可以通过控制器直接得到密文:
这样就可以通过。
4、crypto4
见到题目之后,我们发现有两个大的p值与q值,我们可以认定为是使用了RSA的算法进行了加密,所以解密的算法为:
所以我们通过python来进行编译解密器:
p=447685307
q=2037
e=17
n = (p - 1) * (q - 1)
d = (n - 1)//e
print(f"{d}")
这串代码可以使得密文解密
crypto5
见到此次密文中,我们意识到此次解密并不是仅仅得到私钥(即得到d)之后,之后,我们进行编译彻底解密的编码,即为:
p = 447685307
q = 2037
e = 17
c = 704796792
n = (p - 1) * (q - 1)
d = (n - 1)//e
k: int = p*q
m = pow(c, d, k)
print(m)
随即得到密文为:
226803654798