rsatool安装及使用

安装

git clone https://github.com/ius/rsatool.git
cd rsatool

使用

  功能

已知p.q生成私钥文件 .key/.pem(如果纯数字根据数学工具可以求出d然后得出m,但我在题中碰到的是python脚本文件 里面需要私钥文件而不只是数字 py如下)

import sys
import base64
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
if __name__ == '__main__':
	cipher = open("flag.enc", "r").read()//
	key = open("priv.key", "r").read()//这里需要打开priv.key文件 条件没有给出所以需要自己生成
	rsakey = RSA.importKey(key)
	rsakey = PKCS1_OAEP.new(rsakey)
	decrypted = rsakey.decrypt(base64.b64decode(cipher))
	print(decrypted)
 格式

--参数  -o :输出文件 -f 格式化后生成公钥和私钥文件

python rsatool.py -p    -q    -o priv.key//下图所示
python rsatool.py -f PEM -o key.pem -n  -d //格式都可以

!!!注意:需要在python3下  且一定要先cd处于rsa目录下

私钥文件如图所示

使用时出现的问题

在我python decrypt.py后报错

SyntaxError: Missing parentheses in call to ‘print‘. 

由于Python3和Python2版本不同,print函数语法也不同造成的

把decrypt.py里的 print加上()即可

!!!还有报错python无法打开时 文件名很有可能出错了

RSA参数说明

公钥(e,n)e一般是65537

私钥(d,n)

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

(e*d)mod l=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值