1、openssl分析私钥,得到n, e值。

西普CTF-RSA-以夕阳落款其中Modulus的值就是n的值,Exponent的值就是e的值。

2、通过msieve来分解n值:

msieve.exe 0xA41006************************EB2FB817A7 -v

西普CTF-RSA-以夕阳落款

其中,prp39显示的2个数字就是p,q值。

3、通过脚本,根据p,q,e值,生成私钥,貌似该脚本只能在Linux或者cygwin的python下运行。

import math
import sys
from Crypto.PublicKey import RSA

keypair = RSA.generate(1024)

keypair.p = 258************************269
keypair.q = 286************************027
keypair.e = 65537

keypair.n = keypair.p * keypair.q
Qn = long((keypair.p-1) * (keypair.q-1))

i = 1
while (True):
    x = (Qn * i ) + 1
    if (x % keypair.e == 0):
        keypair.d = x / keypair.e
        break
    i += 1

private = open('private.pem','w')
private.write(keypair.exportKey())
private.close() 

4、使用密钥进行解密

openssl rsautl -decrypt -in flag.enc -inkey private.pem -out flag.dec

Flag:

温馨提示: 此处内容需要评论本文后刷新才能查看,支付2元即可直接查看所有Flag。

小广告:关于获取西普实验吧所有Flag请点击这里查看索引

查看所有Flag文章需要输入密码,需要获取文章密码的童鞋请扫描下面微信或支付宝二维码捐助至少2元(老哥,捐多捐少是个缘分)之后发送支付凭证号联系我获取,Flag大全地址:Flag大全

新功能:捐款的小伙伴请联系我把自己的注册邮箱加入网站白名单,可以免回复看到本站所有Flag

PS:本站不是实验吧的官方站点,纯粹是个人博客,收取Flag费用仅是维持服务器费用,做站不易,且行窃珍惜!

微信二维码:
支付宝二维码: