Flags picoCTF 2019 Solution

Published: April 2, 2026

Description

What do the flags mean? The image shows signal flags - decode them using the US Navy signal flag alphabet.

Download the image file.

bash
wget <url>/flag.png
  1. Step 1Open the image and identify the flag system
    Open flag.png. The image shows a series of maritime signal flags - the international code of signals used by the US Navy and merchant vessels. Each flag design corresponds to a letter. Search for a 'US Navy signal flags alphabet' reference chart.
    bash
    xdg-open flag.png
    Learn more

    The International Code of Signals (ICS) uses a set of 26 lettered flags, 10 numeral pennants, and special flags. Each letter flag has a unique color pattern. The US Navy uses this system for visual ship-to-ship communication. This is distinct from semaphore (which uses a person holding two handheld flags at different angles).

    Note that the number flags in the US Navy system differ from the national/NATO version - Martin specifically found that the number flags differed from the international standard and had to use the US Navy chart specifically.

  2. Step 2Look up the US Navy signal flag alphabet
    Search for 'US Navy signal flags' or 'Navy signal flag alphabet' to find a reference chart showing the color pattern for each letter and number. Match each flag in the image to its corresponding character.
    Learn more

    Each flag in the ICS has a specific design: for example, Alpha is white and blue, Bravo is all red, Charlie is horizontal red-white-blue stripes. The numeric flags (0-9) are pendants (triangular) with different color patterns. Pay attention to whether the flags in the image are letter flags or number flags.

  3. Step 3Decode and submit the flag
    Read each flag from left to right (or in sequence as shown). Concatenate the decoded letters/numbers. Wrap in picoCTF{...} to submit.
    Learn more

    Maritime signal flags are still used today by the US Navy and international shipping for visual communication when radio silence is required. The full ICS defines single-flag signals (letters) with standardized meanings (e.g., Alpha = diver down, Bravo = dangerous cargo), as well as multi-flag signals for longer messages.

Flag

picoCTF{...}

Decode using the US Navy signal flag alphabet (not semaphore) - each flag design represents a letter or number that spells the flag.

Want more picoCTF 2019 writeups?

Tools used in this challenge

Related reading

What to try next