[山海关crypto 训练营 day28]

贵阳crypto_rsa3

记录这题主要是这题比较反常规

题目代码和相关数据

N = 2277984791022346369005533904783614818826102788659651508959767202083843778453131366658916382803461140562467908905967443285040501371560088604538394878005827646410146244954745505114406792711000349929611271710262426493710967674490536959788665890671796421985910748091011210709414415838780453626144971988788672588103654983
e = 65537
c = 415510106371698055042355817455792784402467839071261284227679808181073943762112386236619891503158397068812942349049185918370823556100880803528976860244812587012654626659823858350868438615582709075400040571632681052556974452098591809573228654622307014559692352778252371646024960520522510301144376842967556042367321117

这个题目给出的 N N N是一个素数,那么必然无法将 n n n分解。

解题思路

import gmpy2
import binascii

N = 2277984791022346369005533904783614818826102788659651508959767202083843778453131366658916382803461140562467908905967443285040501371560088604538394878005827646410146244954745505114406792711000349929611271710262426493710967674490536959788665890671796421985910748091011210709414415838780453626144971988788672588103654983
e = 65537
c = 415510106371698055042355817455792784402467839071261284227679808181073943762112386236619891503158397068812942349049185918370823556100880803528976860244812587012654626659823858350868438615582709075400040571632681052556974452098591809573228654622307014559692352778252371646024960520522510301144376842967556042367321117

phi=N-1

d=gmpy2.invert(e,phi)

m=pow(c,d,N)

print(binascii.unhexlify(hex(m)[2:]))

#b'flag{bbe6ef5272d9be08a9a6e452b485aaf6}

你可能感兴趣的:(python)