CTFshow-Crypto(1-5)

1密码学签到

自己倒序
在线网站倒序

文字倒序工具,在线文字倒序 (qqxiuzi.cn)

python脚本
python 复制代码
a = '}wohs.ftc{galf'
print(a[::-1], end="")#end=""表示每一次print后都不换行

2crypto2

下载附件并解压

JSFuck编码

查资料是这个编码

30余种加密编码类型的密文特征分析(建议收藏)-腾讯云开发者社区-腾讯云 (tencent.com)

特征:只用! + ( ) [ ] 这六个字符就能完成对任意字符串的编码。也可在F12中解密执行

随波逐流解密
在线网站解密

CTF在线工具-在线JSfuck加密|在线JSfuck解密|JSfuck|JSfuck原理|JSfuck算法 (hiencode.com)

浏览器开发者模式控制台解密

3crypto3

颜文字

30余种加密编码类型的密文特征分析(建议收藏)-腾讯云开发者社区-腾讯云 (tencent.com)

特征:一堆颜文字构成的js代码,在F12中可直接解密执行

在线网站解密

AAEncode加密/解密 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)

浏览器控制台解密

4crypto4

RSA

很明显是简单的RSA算法

p=447685307 q=2037 e=17,求d

python脚本
python 复制代码
import gmpy2
e = 17
p = 447685307
q = 2037
phi = (p-1)*(q-1)#计算φ(n) = (p - 1) * (q - 1) 
d = gmpy2.invert(e,phi) #计算e关于模φ(n)的乘法逆元d
print(d)
gmpy2.invert()
模逆运算:a = gmpy2.invert(b,c)#对b,求a,使得a*b=1(mod c)
工具RSATool

加解密工具RSATool的使用-CSDN博客

5crypto5

RSA

一道简单RSA

p=447685307 q=2037 e=17 c=704796792,求m

工具RSATool+Big Integer Calculator

用RSATool求出n和d

用Big Integer Calculator求出m

m=(c^d)mod n=904332399012

python脚本
python 复制代码
import gmpy2
e = 17
p = 447685307
q = 2037
c = 704796792
n = p*q
phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
m = pow(c,d,n)
print(m)
pow()
pow(x, y, z)       //x的y次方再对z取模