安装
安装环境:Ubuntu 20.04.1
我这全程使用root账户安装,以免出现问题
话不多说,直接开整,贴一下官网文件地址
使用命令下载压缩包:
git clone https://github.com/Ganapati/RsaCtfTool.git
解压好后加入RsaCtfTool目录
cd RsaCtfTool
安装python第三方库
pip install -r requirements.txt
这里不出意外的话,会报错,简单来说就是没有所需环境,安装就完了,这里先装mprf,后面如果报错就一行代码就可解决。这里安装时间稍长,耐心等待。
wget http://www.mpfr.org/mpfr-4.0.1/mpfr-4.0.1.tar.bz2
tar jxvf mpfr-4.0.1.tar.bz2
cd mpfr-4.0.1/
./configure
make
make check
make install(报错使用:sudo make intstall)
这里安装完后,再次执行pip install -r requirements.txt,可能还会报错,gmp.h或者mpc.h找不到,那就安装。
sudo apt-get install libgmp3-dev
sudo apt-get install libmpc-dev
这里再贴一个链接,关于Exynos4412 Linux Kernel 5.15移植过程记录(一)——解决编译内核出现mpc.h: gmp.h: No such file or director问题,我觉得这位大佬写得非常好。
到这里就可以完全执行pip install -r requirements.txt命令了,也就意味着RSACtfTool安装完成了,可以随意使用了。
使用
用法一:已知公钥(自动求私钥) –publickey,密文 —-uncipherfile。
./RsaCtfTool.py --publickey 公钥文件 --uncipherfile 加密的文件
这里有道题,正好可以这样解,是bugku的题,贴个链接
将文件拖进RsaCtfTool目录后,直接对应使用命令
./RsaCtfTool.py --publickey pubkey.pem --uncipherfile flag.enc
flag就在其中!
用法二:已知公钥求私钥。
./RsaCtfTool.py --publickey 公钥文件 --private
用法三:密钥格式转换
把PEM格式的公钥转换为n,e
./RsaCtfTool.py --dumpkey --key 公钥文件
把n,e转换为PEM格式
./RsaCtfTool.py --createpub -n 782837482376192871287312987398172312837182 -e 65537