arrow_backUS Cyber Games 2026
Cryptomedium

Fog Of War

by Pavel Knespl (capyplivl)

Two same-size 1-bit PNG shares that are each 50/50 black-and-white noise. This is visual cryptography: XOR the two shares and the noise cancels to reveal a hidden image with a short substitution-ciphered quote and an instruction.

Solve

  1. Load both PNGs as 1-bit arrays. Each is about 50% set pixels and visually empty, the signature of visual-crypto shares.
  2. XOR the two pixel arrays to lift the noise. A Roman battle scene appears with two text lines: the cipher XFOK XKEK XKDK and the task "Decipher the encrypted text and write the name of the author of the quotation in ALL CAPITAL LETTERS."
    from PIL import Image
    import numpy as np
    a = np.array(Image.open("Battle1.png").convert("1"))
    b = np.array(Image.open("Battle2.png").convert("1"))
    Image.fromarray(((a ^ b) * 255).astype("uint8")).save("fog_xor_result.png")
    
  3. The three four-letter words, the shared leading letter, and the Roman imagery point to VENI VIDI VICI. A fixed letter substitution decodes it consistently:
    sub = {"X":"V","K":"I","F":"E","O":"N","E":"D","D":"C"}
    print("".join(sub.get(c, c) for c in "XFOK XKEK XKDK"))
    
  4. The author of that quotation is Julius Caesar. Answer in all caps, underscore-joined inside the flag wrapper.

Flag: SVIUSCG{JULIUS_CAESAR}