6  Using Context

Amateurs hack systems, professionals hack people

Bruce Schneier

6.1 Codebreaking with Cribs

During WW2, much of the Allied effort1 in breaking encrypted messages relied on cribs, which is a just a fancy word for fragments of plaintext that were expected to appear in the decoded messages.

The important thing is that a crib is not any random guess. It’s an educated guess. Wartime messages were often predictable in ways that had nothing to do with the cipher itself. They followed routines, contained expected phrases, weather reports tended to mention weather, military communications tended to mention military things. Human beings, even under conditions of extreme secrecy, are still frustratingly prone to habit.

By aligning these expected fragments with intercepted ciphertext, codebreakers were able to recover information about the encryption process. This essentially provided a way into systems that would have otherwise been extremely difficult to analyse directly.

The point being, these breakthroughs did not come purely from analysing symbols in isolation.

6.2 Choosing Cribs

One of the most useful habits you can build in the Cipher Challenge is learning to choose cribs intelligently, which means thinking carefully about what is reasonable to expect instead of choosing words you hope exist.

And where do those expectations come from? Context.

Fortunately for National Cipher Challenge, the ciphers are not dropped into a vacuum. Every single piece of information is intentional 2. They are built around stories, themes, recurring characters, and intentional framing. The plaintext is very rarely arbitrary, which means that before you even begin solving the cipher, you often already know more than you think you do. The Case Files section will prove especially useful here, but other examples include:

  • Titles may hint at key(s) or type of cipher used

  • Recurring named figures across the challenges

  • Specific dates or years hinting towards historic events

  • Certain themes being reflected in the structure of the ciphertext. Eg: telegraph machine in 2024(10B) and playing cards in 2025(10B)

One of the most useful habits you can develop is learning to think like the setter. Code setters are still people, and people have tendencies. They reach for certain kinds of wordplay, references, and structures that feel satisfying to build. If you were designing this challenge, what kinds of keys, themes, or hidden signals might you want someone to eventually notice? Everything is intentional, and everything is given to you.

6.3 Using Context Cautiously

While context is incredibly powerful, it must be used with care. The same instinct that helps you identify a likely crib can also lead you to see what you want to see rather than what is actually there. An educated guess that fits the theme perfectly might still be a red herring, and the more elegant it feels, the more dangerous it becomes. So apply the same scepticism to context-driven ideas as you would to any other problem. Remember the sunk cost fallacy, and be willing to challenge your own assumptions.

Context also plays a useful role when you’ve acquired a solution. For instance:

  • Does the length of your solution match the ciphertext (only if a one-to-one mapping is expected, but you get the idea)

  • Does the solution make sense within the theme of the challenge

  • Does the solution have any missing/incomplete sections?

Remember that spaces don’t matter in your solution as all spaces and punctuation are removed from submissions when they are checked.

153: Cryptography

  1. This became extremely important when it came to breaking the Enigma↩︎

  2. And even if something isn’t, that’s a feature, not a bug↩︎