码迷,mamicode.com
首页 > 其他好文 > 详细

简单的RSA题目

时间:2018-11-18 23:06:18      阅读:398      评论:0      收藏:0      [点我收藏+]

标签:密文   分享图片   http   message   题目   sage   十六   enc   解密   

今天做了一道简单的RSA可惜不会写脚本,脚本还是看的WP大佬的~~~

  • 看到公钥直接丢到openssl里 openssl>>   然后输入如下命  rsa -pubin -text -modulus -in warmup -in 公钥文件名.key 

然后结果应该如下图

技术分享图片

这样就把 e 和 n 解出来了 (不过n解出来的是十六进制,需要先换算为十进制)

用python

技术分享图片

n=98432079271513130981267919056149161631892822707167177858831841699521774310891           (记得把后面的L去掉)

在使用大质数分解网站分解n         网站地址:http://factordb.com/index.php

技术分享图片

  • 到这里RSA的参数已经齐全了 

    p = 302825536744096741518546212761194311477

    q = 325045504186436346209877301320131277983

    n = 98432079271513130981267919056149161631892822707167177858831841699521774310891
    e = 65537

  • 使用python脚本得到flag   (附py脚本)
import gmpy2
import rsa
p = 302825536744096741518546212761194311477
q = 325045504186436346209877301320131277983
n = 98432079271513130981267919056149161631892822707167177858831841699521774310891
e = 65537
d = int(gmpy2.invert(e , (p-1) * (q-1)))
privatekey = rsa.PrivateKey(n , e , d , p , q)              #根据已知参数,计算私钥
with open("encrypted.message1" , "rb") as f:
    print(rsa.decrypt(f.read(), privatekey).decode())       #使用私钥对密文进行解密,并打印
with open("encrypted.message2" , "rb") as f:
    print(rsa.decrypt(f.read(), privatekey).decode())       #使用私钥对密文进行解密,并打印
with open("encrypted.message3" , "rb") as f:
    print(rsa.decrypt(f.read(), privatekey).decode())       #使用私钥对密文进行解密,并打印

                                                                                                                                                                                                 脚本来源:https://www.ichunqiu.com/writeup/detail/693

  

 

简单的RSA题目

标签:密文   分享图片   http   message   题目   sage   十六   enc   解密   

原文地址:https://www.cnblogs.com/threesoil/p/9980209.html

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