XORed
1 minuto de lectura
El programa dice que alguien ha usado un cifrado XOR con una clave de un solo byte. Este es el resultado: * 7%8-s70& 61&>
.
Como sabemos que las flags empiezan por ictf{
, podemos obtener la clave mediante "*" ^ "i"
debido a las propiedades del cifrado XOR:
$$ c = m \oplus k \iff k = c \oplus m $$
Entonces podemos resolver el reto así:
$ python3 -q
>>> from pwn import xor
>>> c = b'* 7%8-s70& 61&>'
>>> k = xor(c[0], b'i')
>>> m = xor(c, k)
>>> m
b'ictf{n0tsecure}'