$ cat writeup.md…
$ cat writeup.md…
cryptohack
Task: an oracle returns md5(data XOR cycle(FLAG)) for any attacker data >= len(FLAG); recover the 46-byte FLAG. Solution: exploit the public MD5 Merkle-Damgard padding plus the cyclic-key wrap-around (the flag's last byte '}' is immediately followed by its first 7 bytes 'crypto{'), giving 8 known plaintext bytes adjacent to a single unknown brute byte. Align the unknown byte at the end of a hashed block, read the oracle's digest as the MD5 internal state, then locally finish hashing (data || md5-pad) for each of the 256 guesses and match the oracle output. This recovers the cyclic key one byte at a time right-to-left; FLAG length is 46.
Permission denied (requires tier.pro)
Sign in with GitHub, Discord, or Google to continue. No email required.
$sign in$ grep --similar