Rating:
## Solution
Viewing the provided PNGs in a hex editor we see that they each have a valid header, but the pixel data appears to be noise. This is a common CTF challenge: the two PNG files are XORed with the same key. If we XOR the pixels of the provided files together we will have an image that is a composite of the original PNG pixels.
The provided images can be expressed as:


where  is the encrypted pixels, and  is the original PNG pixels. Based on the nature of XOR, any value XORed with itself is `0`, and any value XORed with `0` is itself. From this we can write the equation as:





As we see, the key is cancelled out from the equation, resulting in the XOR of the original pixels from each image. This results in a blend of the two images that can usually be viewed to see the contents of the original images.
`gmic` can be used to quickly XOR the PNG pixels of the two images with the command `gmic crypted1.png crypted2.png -blend xor -o xor.png`. The resulting image contains the flag:

## Flag
**flag{otp_reuse_fail}**