最简单的RSA及其几个网站和工具
Posted zaqzzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最简单的RSA及其几个网站和工具相关的知识,希望对你有一定的参考价值。
最简单的形式
给你公钥和一个密文。
flag.enc就是密文,我们用记事本是看不出什么的,其实也不用看,因为后边的解密是直接用脚本读取文件的,只需要知道这是密文。
pub.pem就是公钥,用记事本打开是加密后的内容好像是,实际要看的话用openssl。kali下已经给安装了。
openssl rsa -pubin -in pub.pem -text -modulus
这条指令用来查看公钥。
255 bit是指模数255位,RSA的模数太短了就很容易被分解。
Exponent就是e
moudulus就是模数,等于p*q
我们要先分解n,求出私钥d,然后生成pri.pem(这里和pub.pem对应),然后对密文解密。
http://www.factordb.com/index.php
这里注意一下,必须是输入十进制,所有得把n转化为十进制。
python:print ((int)(0x439AEAB34EAEE973E968EBDD11D6D3EF7302072C4BFD4F7FE2B0CF9889277F6D))
30578675145816634962204467309994126955968568987449100734690153203822106214253
分解成功:
现在知道了p,q应该求d了。这里用个工具rsatool 2
因为我们分解后是十进制,我们直接选好number base 为10,p,q输入网站分解后的p,q。然后点击Cal.D就可以求出d来了。
下一步就是制作pri.pem了。我们要安装个工具:
要在linux下安装。
生成私钥:python rsatool.py -f PEM -o pri.pem -p 3487583947589437589237958723892346254777 -q 8767867843568934765983476584376578389 -e 65537
这里也是十进制啊。
这里把pri.pem和flag.enc放到一起,进行解密。
以上是关于最简单的RSA及其几个网站和工具的主要内容,如果未能解决你的问题,请参考以下文章