A traffic-analysis exercise

Reading the Radio Log

Two days of invented wireless intercepts. You will not decrypt a single message. Who worked whom, which new callsign was which old station, and what can you honestly claim?

This log is fictional. Every callsign, frequency, time, bearing and fragment on this page is invented for teaching. It reconstructs a method, not any real network, army or day.

The method is traffic analysis: the study of the externals of communications—callsigns, frequencies, schedules, routing, volume and where a transmitter is—while message content is left to cryptanalysis. The National Security Agency’s history of the subject describes those elements and their wartime use, and the notes below cite it as the NSA history. Predict, then check: each step records what you chose, so that later evidence can show what your own choices imply. Everything runs in your browser.

1. Read the log

One invented net, two days. Our receiver listened from 06:00 to 18:00 each day, with the gaps shown. Each station transmits on its own frequency. At midnight every station took a new callsign. Serial numbers restart at 1 each day.

Groups is the length of the enciphered text. The text itself is not part of this exercise, so nothing can be decrypted. R followed by a number is a receipt for the other station’s message of that number.

Day 1 intercept log (invented)
TimekHzFromToSerialGroupsIntercept operator’s note
Day 2 intercept log (invented; all callsigns changed at midnight)
TimekHzFromToSerialGroupsIntercept operator’s note

What the log does not contain

Missing observations are evidence too. This list is computed from the log and stays on the page throughout the exercise.

2. Who worked whom?

Using only the From and To columns for Day 1, tick each pair of callsigns you saw in contact. Then compare your drawing with the log.

Day 1 pairs heard in contact
Diagram positions are arbitrary; they are not locations. After comparison: solid lines are in the log, red dashed lines have no supporting row, faint dotted lines are links you missed. A partly read callsign gets its own node.
Choose the pairs you saw working each other, then compare with the log.

Net control, and the headquarters question

A military net was typically run by a net control station working its outstations, and the structure of a net could mirror the organization it served (NSA history). Choose the callsign that looks like net control. It is recorded as hypothesis H1, kept apart from what you observed.

No hypothesis recorded yet.

3. Day 2: the callsigns changed

Changing callsigns was meant to break exactly the continuity you need. Analysts often bridged a change through whatever did not change at the same time: frequencies, contact schedules, an operator’s sending style, the pattern of who worked whom (NSA history). Match each Day 2 callsign to a Day 1 callsign, or leave it unresolved, then read what your matches imply.

Choose a Day 1 callsign, or leave unresolved, for each Day 2 callsign.

4. Observed, inferred or not supported?

Sort each statement by what the log can bear. An observation is in the rows. An inference goes beyond them and could be wrong. Some claims the log cannot support at all.

Classify each statement, then check.

5. Second-stage evidence

Two further sources arrive. Direction finding measures the bearing of a transmitter from a receiving post; bearings from two posts can cross to give an approximate fix (NSA history). Operators’ chatter was generally sent unenciphered, and careless chatter could leak callsigns, schedules or even unit designators. Record your Day 2 matches first, so the new evidence tests your own choices.

6. Debrief

The debrief opens with the second-stage evidence. Until then, keep your own reasoning.

After the exercise: the history behind it

Callsigns are not units. The NSA history recounts how, on the day of Jutland in May 1916, an Admiralty operations director asked what a callsign located in harbour meant and was told it was the German fleet commander’s. The commander used a different callsign at sea; that one stayed at fleet headquarters. The British commander-in-chief was signalled that direction finding placed the German flagship in harbour.

Quiet on the air is not quiet on the ground. In another First World War example, British signals suggested that Australian and Canadian units were still in Flanders while those units moved under signals silence to Amiens. An absence of traffic says something about a radio, not necessarily about a unit.

Volume is not intention. Volume was one of the externals analysts studied, and in general more traffic allowed more to be inferred (NSA history). But a count of groups measures activity on the air. In this log the apparent Day 2 rise is mostly longer listening. A real rise could still be routine reports, repeats of garbled messages, an exercise, or dummy traffic sent to mislead.

Analysts were not working alone. Traffic analysis informed cryptanalysts about who was talking to whom, and its products were combined with decrypts and other sources (NSA history). James Thirsk’s chapter in The Bletchley Park Codebreakers is a participant’s account of this work as a wartime “log-reader”.

How this differs from real traffic analysis

Where this leads

The history route. Continue with Station HYPO, where partial JN-25 recovery worked alongside traffic analysis and operational context before Midway, or follow the Ciphers at War tour. The Hall of Codebreakers holds the people behind the methods.

The modern version. Blind Relay, in Crypto Lab, runs the same move on modern logs. Its “Correlation without collusion” exhibit joins an Oblivious HTTP relay’s log to the gateway’s log without touching key material, on ciphertext size and on timing. Padding merges the size join into one anonymity set; when traffic is sparse, the timing join still links requests. Where sizes or arrivals coincide, it reports an anonymity set or an overlap instead of guessing, the same discipline as leaving a callsign unresolved here.

The same join, then and now
In this radio logIn Blind Relay’s logs
Message length in groupsCiphertext size
Contact schedule: the minute past the hourArrival time at relay and gateway
Leaving a callsign unresolvedReporting an ambiguous join instead of guessing

Sources

The log, bearings, chatter and key are original to this page. No private copy of any source is linked.