Sky's blog

RSA常用工具

字数统计: 459阅读时长: 2 min
2017/07/25 Share

前言

这年头,不会点RSA……真不好意思说自己打过CTF(23333),经历了一些比赛,几乎每场都有RSA,我也是被虐怕了……今天就统一记录一下用过的一些好用工具

RSATool

这个工具相当直接

其中:
Keysize(Bits):填写你N的位数
Public Exp.(E):填写你的e的十进制值
Number Base:填写你下面N的进制(一般采用10进制)
Modulus(N):填写N的十进制数(和Number Base填写的要对应)
然后点击左下角的Factor N
就会自动分解出P和Q
然后点击左下角的Calc. D
就会自动计算出D
然后点击左下角的Test
(这里好像有个Bug,要先加密一次,才能用解密功能)
然后把你的密文放在result里,点击decrypto
即可得到解密后的答案

yafu

一个相当方便的大数分解工具
使用指令:(到yafu-x64.exe的目录下使用)
yafu-x64.exe factor(N)
例如要把大数87924348264132406875276140514499937145050893665602592992418171647042491658461分解
只需要:
yafu-x64.exe factor(87924348264132406875276140514499937145050893665602592992418171647042491658461)
即可

PARI

这个我工具我用的比较少了,一般是用来将大数16进制转10进制……或者是判断N的位数使用
指令也很简单:
第一步:x=87924348264132406875276140514499937145050893665602592992418171647042491658461
(当然,如果输入16进制,你要带上0x,他会底下自动给你显示10进制,十分方便)
第二步:binary(x)
他就会帮你把这个大数分解成2进制
第三步:length(x)
他可以帮你输出这个N的位数

openssl

经常会遇到类似如下格式的公钥:

1
2
3
4
5
6
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCh5Nk2GLiyQFMIU+h3OEA4UeFb
u3dCH5sjd/sLTxxvwjXq7JLqJbt2rCIdzpAXOi4jL+FRGQnHaxUlHUBZsojnCcHv
hrz2knV6rXNogt0emL7f7ZMRo8IsQGV8mlKIC9xLnlOQQdRNUssmrROrCG99wpTR
RNZjOmLvkcoXdeuaCQIDAQAB
-----END PUBLIC KEY-----

可以使用RSA将其转换成N和E的形式,指令如下:

1
openssl rsa -in public.key -pubin -noout -text -modulus

即可得到N和E

点击赞赏二维码,您的支持将鼓励我继续创作!
CATALOG
  1. 1. 前言
  2. 2. RSATool
  3. 3. yafu
  4. 4. PARI
  5. 5. openssl