Problem: In RSA d is alot bigger than e, why dont we use d to encrypt instead of e? Connect with nc 2019shell1.picoctf.com 25894
.
c: 40369800990193443199606441296023480419335128954834531371969594999040796584924653960245546051628967687888950325402050955460975805014339736633006326296193833808957335776044009427547298283598383008475289938637746291403737761677978752810907106559870601871951703579486704882747046420067447026820112027277075731260
n: 134160660423040675329581761560531592534998870010608548759791769297193596473065559265218176493830013232894727338887195870836610597799313832919584989464905763166934765340090723077757223755290225381136315681858054471895568736534751942385274164066107214358457633376864214386222303035375328046808411325978681227979
e: 25555971202850905455155083560762262557134533060903567797080129513193537366216800309244910742770860509322333584061945973290267279596664996721975357561070590008603998579200022137990172298899503890254993541395872671895016032676587397169877931240701616130831269329835576578599628501759620796005859410313506885505
Solution: RSA e is commonly set to 65537.
test.py
c = 403698009901934431996064412960234804193351289548345313719695949990407965849>
n = 134160660423040675329581761560531592534998870010608548759791769297193596473>
flag = hex(pow(c,65537,n))
def convert(hexx):
hex_string = hexx[2:]
bytes_object = bytes.fromhex(hex_string)
ascii_string = bytes_object.decode("ASCII")
print(ascii_string)
convert(flag)
python3 test.py
Flag: picoCTF{bad_1d3a5_3468581}