It's Not My Fault 1
Problem
Solution
>>> n=95580702933509662811256129990158655210667121276245053843875590334281563078868202152845967187641817281520364662600110239110410372520340630639373679599982371620736610194814723749147422221945978800055101110346161945811520158431287139909125886966214800526831490560384144156085296004816333892025839072729987354233 >>> e=1817084480271067137841898198122075168542117135135738925285694555698012943264936112861815937200507849960517390660821911331068907250788900674614345400567411 >>> m = 7516789928765 # random number >>> for dp in range(1000000): ... f = gmpy2.gcd(m-pow(m, e*dp, n), n) ... if f > 1: ... print(dp, f) ... break ... 187261 8275629468590614667884614599278593237258686111405345888268221129814081809682982742676180514534238891248302334619164139839173447495925780801832743975865311 >>> p = 8275629468590614667884614599278593237258686111405345888268221129814081809682982742676180514534238891248302334619164139839173447495925780801832743975865311 >>> q = n // p >>> p*q == n True[+] Opening connection to mercury.picoctf.net on port 26695: Done [*] MD5 PoW string must start with 31950 and hash must end with bdf98c [+] Bruteforcing MD5 PoW: MD5 PoW String Found: 319507851758 [+] Getting public modulus and clue: Success [+] Bruteforcing RSA-CRT d_p: p=6755585209747918163868616886189762801438723814293780076178965401337533787532793973718733625630017793302088239336261323736906089254764788312712004326117117, q=13014663099444252202371035556694916836922288463424074950271603159273262042649683760419705683944766998631464971606746251919923961539027359455369007457245187 [*] Switching to interactive mode picoCTF{1_c4n'7_b3l13v3_17'5_n07_f4ul7_4774ck!!!} [*] Got EOF while reading in interactive
Flag
Last updated