Replicating Colossus’s Chi-wheel setting

One piece of early computing history that I’ve been interested in for a while is the wartime development of the Colossus computer at Bletchley Park. In trying to understand what it did, I worked through an example of one aspect of the cryptanalysis it performed on intercepted enciphered radio traffic.

The Germans used a Lorenz cipher machine to encrypt some of their more sensitive radio traffic. The team at Bletchley Park reverse-engineered the workings of the machine (without ever seeing one), and developed attacks which could be used against it. In doing so, they developed novel statistical techniques, and also the first electronic computers.

This blog isn’t the best format for this kind of thing, so I’ve made my worked example available as a Jupyter notebook:

In the present day, there is a rebuilt Colossus working at the UK’s National Museum of Computing. It’s an inspiring piece of engineering to see in action, and it’s thought-provoking to try to imagine it in its original context.

(Thanks to Oliver Nash for his helpful comments on a draft version of the notebook.)