Solution de jsreynaud pour Clair connu

intro crypto

9 décembre 2023

Un chiffrement avec xor. On connait un bout du message (le debut FCSC). Or la clé est de longueur 4 bytes et elle est répétée 20 fois. Donc il suffit de:

from Crypto.Util.strxor import strxor


FLAG = bytes.fromhex(open("output.txt", "rb").read().decode())
# compute the key from the known plaintext
c = strxor(FLAG[:4], b"FCSC")
key = c * 20
c = strxor(FLAG, key[: len(FLAG)])
print(c)