crypto

Małe jest piękne

Punkty: 50
Rozwiązań: 10

Znaleźliśmy zaszyfrowane dane na bardzo starej maszynie. Jedyne co o niej wiemy, to to że obsługiwała jedynie obliczenia na małych liczbach. Może da się to jakoś wykorzystać do odzyskania danych.

import codecs


def bytes_to_long(data):
    return int(data.encode("hex"), 16)


def rsa_encrypt(msg, e, n):
    return pow(bytes_to_long(msg), e, n)


def main():
    n = 13513545201780754751363061730973412461964840798555163524204230289623875027547891
    e = 65537
    flag = "" # secret!
    with codecs.open("encrypted.txt", "w") as output_flag:
        output_flag.write(hex(rsa_encrypt(flag, e, n)))


main()

Oto zaszyfrowane dane:

0x2b159079b43d4d15a2a5ab21d4c76248343db01ade023ac233c63086dd638de694L

Format flagi: pwn{litery_cyfry_i_znaki_specjalne}

Aby wysłać flagę, musisz się zalogować.