#zer0ptsCTF2021 #good_challenges_2021
from Crypto.Util.number import * from flag import flag assert len(flag) == 40 p = 74894047922780452080480621188147614680859459381887703650502711169525598419741 a1 = 22457563127094032648529052905270083323161530718333104214029365341184039143821 a2 = 82792468191695528560800352263039950790995753333968972067250646020461455719312 Fp = Zmod(p^3) E = EllipticCurve(Fp, [a1, a2]) m = bytes_to_long(flag) S = E(201395103510950985196528886887600944697931024970644444173327129750000389064102542826357168547230875812115987973230106228243893553395960867041978131850021580112077013996963515239128729448812815223970675917812499157323530103467271226, 217465854493032911836659600850860977113580889059985393999460199722148747745817726547235063418161407320876958474804964632767671151534736727858801825385939645586103320316229199221863893919847277366752070948157424716070737997662741835) T = m * S with open("output.txt", "w") as f: f.write("T: {}".format(T))
上の楕円曲線。むずかしい