码迷,mamicode.com
首页 > Web开发 > 详细

最简单的RSA及其几个网站和工具

时间:2018-09-16 15:54:32      阅读:952      评论:0      收藏:0      [点我收藏+]

标签:ext   png   最简   tps   记事本   base   lin   ssl   php   

最简单的形式

给你公钥和一个密文。
技术分享图片

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及其几个网站和工具

标签:ext   png   最简   tps   记事本   base   lin   ssl   php   

原文地址:https://www.cnblogs.com/zaqzzz/p/9655325.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!