from Crypto.Util.number import * from secret import flag assert flag[:7] == b'ZJUCTF{' and flag[-1] == 0x7d p = 22874236765582512818346580947708667745188778288884101219751361699392149989458510773797824610944321686257783426829474659298957510513578978620495392070614563 g = 12992966891086556058043617860106952736598816342586014149483372202900857379441187722193997976148795991526844581149548123484519204440052676174785545786320297 x = bytes_to_long(flag[7:-1]) c = pow(g,x,p) print(f"{c = }") # c = 4006948706881298103593084841644986324930377713436980291670378524564662999515313693489885343780490631115314181593435331209712709857825836348345723998675361