BUUCTF [网鼎杯 2020 青龙组]you_raise_me_up

image
题目给了 m,c,n 求指数flag
离散对数问题可以用sympy自带的discrete_log求解(我还以为用(m,n)=1能有些性质直接推...)

from Crypto.Util.number import *
import sympy
import random

n = 2**512

m = 391190709124527428959489662565274039318305952172936859403855079581402770986890308469084735451207885386318986881041563704825943945069343345307381099559075
c = 6665851394203214245856789450723658632520816791621796775909766895233000234023642878786025644953797995373211308485605397024123180085924117610802485972584499
# bin(c):513位 bin(m):512位 bin(n):513位
n = 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
flag = sympy.discrete_log(n,c,m)
print(long_to_bytes(flag))
posted @ 2023-10-01 09:36  N0zoM1z0  阅读(24)  评论(0编辑  收藏  举报