BUUCTF-Crypto-RSA2

本文探讨了RSA加密中dp参数泄露的情况,提供了一道题目并解析了解题思路。通过利用dp,使用Python进行了解密操作。

RSA2

题目:
e = 65537
n = 2482540078515262411777215266989018029858327661762216096122588
7737162058006043310153832803030521991869764361981420093067961210
988553380133534844502375167047843707305554472428068473329805159
916766030364518314616149748535863368149212966880240206579778990
5550489547645118787266601929429724133167768465309665906113
dp = 9050744980523469046430251328795183306919251745730540046218
772533186826750554219709435520166955285603648344463031969
39207056642927148093290374440210503657
c = 14042367097625269680753367358620940057566428210068411978420
352712452118899640382659743688376604187906749428095741020195
8935737360380801845453829293997433414188838725751796261702622
0285872115603533628471910603065785105113809651621334726987130
6359262102895916707278148256267368309059052121421807116028766
5180751
解题思路:
由题这是RSA的dp泄露,所以直接依照原理,在这里插入图片描述

在这里插入图片描述
然后编写python脚本

import gmpy2
此处放入数据
for x in range(1, e):
    if(e*dp%x==1):
        p=(e*dp-1)//x+1
        if(n%p!=0):
            continue
        q=n//p
        phin=(p-1)*(q-1)
        d=gmpy2.invert(e, phin)
        m=gmpy2.powmod(c, d, n)
        print(m)
        print(hex(m)[2:])
        print(bytes.fromhex(hex(m)[2:]))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值