sage: x = factorial(2^27) sage: open('aaa.txt','w').write(str(x)) 1032606162 >>> a = open('aaa.txt', 'rb').read() >>> res = 0 >>> for i in a: ... res += i-0x30 ... >>> from hashlib import sha256 >>> sha256(str(res).encode()).hexdigest() 'bbdee5c548fddfc76617c562952a3a3b03d423985c095521a8661d248fad3797'
from Crypto.Util.number import bytes_to_long from secret import flag import os
n = 6249734963373034215610144758924910630356277447014258270888329547267471837899275103421406467763122499270790512099702898939814547982931674247240623063334781529511973585977522269522704997379194673181703247780179146749499072297334876619475914747479522310651303344623434565831770309615574478274456549054332451773452773119453059618433160299319070430295124113199473337940505806777950838270849 e = 641747 m = bytes_to_long(flag)
flag = flag + os.urandom(n.bit_length() // 8 - len(flag) - 1) m = bytes_to_long(flag)
from Crypto.Util.number import long_to_bytes p=91027438112295439314606669837102361953591324472804851543344131406676387779969 e = 641747 c = 730024611795626517480532940587152891926416120514706825368440230330259913837764632826884065065554839415540061752397144140563698277864414584568812699048873820551131185796851863064509294123861487954267708318027370912496252338232193619491860340395824180108335802813022066531232025997349683725357024257420090981323217296019482516072036780365510855555146547481407283231721904830868033930943 n=p^5 phi=p^5-p^4 K=Zmod(p^5) x=K(c).nth_root(e) #y=K(1).nth_root(e) y=pow(2,phi//e,n) from tqdm import tqdm for i in tqdm(range(e)): x=(x*y)%n m=long_to_bytes(int(x)) ifb"flag"in m: print(m) break