Alan Turing realised, when he was first looking at German Naval Enigma in
1938, that it might be possible to exploit the German cryptographic mistake
of putting the wheel turnover notches at different letter positions for
each wheel. He reasoned that if it could be shown that for a given days messages,
turnover could NOT occur in certain ranges on the input alphabet, this
would PRECLUDE certain wheels from being on the right hand side.
That this might be possible depended on German Naval procedure
requiring all Enigmas on a given network for a given day, to encipher their
message setting from the same three letter wheel start position, the Grund.
Then provided that the Bigram Tables had been capture or re-created, the
code breakers had the enciphered message setting (the trigram). They did not know what the
original message setting was but they had its encryption starting at the Grund.
Since all encipherments started at the Grund, the same letter at the same place in a pair of enciphered
message settings meant that the unknown message setting letters must also have been the
If the trigrams differ only in the last letter then the message starts
must also only differ in the last letter.
If you have two lengths of cipher text and from the trigrams you think that they may have been enciphered from
nearly the same wheel start positions, then Banburismus enable you to find the
difference in start postions of the two texts. This only works because the
letter distribution of language text is not flat random.
This can be demonstrated for two German U Boat messages from 29th July
1941. Click here to investgate two messages.
You need to "Encipher German Texts" and then scroll down on the right hand
panel to get to "Histogram of Cipher" and "Histogram of source".
When these are clicked, the histograms show quite clearly the nearly flat distribution of the
cipher letters and the very peaky distribution of German text letters.
Banburismus depends on this non-random text letter distribution. What it means is
that there is a probability that if two messages start at different encipherment
points, at some point down the messages, the same letter will occur in
both texts and this same letter when keyed into the Enigma machine
will result in the same cipher letter but only when one message has
"caught up" with the other. In the example, the starts are CGC
and CGG. Thus when the first four characters of the first message
have been keyed in, its Enigma machine has advanced to CGG which is
where the second message starts its encipherment. From that point on
both Enigmas are advancing in synchronism, so if the same letter appears
by chance in the two messages the enciphered texts will match at that point.
So do enough "same letters" appear by chance in two German texts offset
by various amounts? Click here to compare
the two German texts and their encipherments. Click "Encipher German Texts"
first then scroll down to "Compare two sources" and click on it.
You will see that there is large number of matching letters shown by the
count at each offset. (the letters are actually counts as described in the
page heading). Thus there is a POSSIBILITY of a large count of same cipher
letters when the two cipher texts are aligned at the offsets corresponding to
the difference in the right hand wheel start letters.
This is where Banbury Sheets come in. This involves punching the two
cipher texts onto different sheets and then these sheets being slid
past one another counting the holes that overlap. Hopefully the maximum
score corresponds to the offset of the original encipherment starts.
To see this for yourself Click here and after
"Encipher German Texts" scroll down to and click "Set Banbury Sheets". You
can then click "Move Right" to move the second (top) sheet to the right.
(it takes a few moments to recalculate the sheet overlap).
Continue moving right the hole counts stay low until a hole count of 11 occurs at offset 4, which
is the difference between starts CGC and CGG. As a check, on moving right
again, the count drops to 6.
If you scroll down to and click on "Compare Just two Ciphers" you can
see the resultant counts of sequentially moving the Banbury Sheet right.
This comfirms the maximum count at offset 4 (letter "e" at the top) (a=0).
This alignment of cipher text starts is known as a "depth".
The German text of the two messages is shown in the right hand panel and
can be printed by first clicking on the panel then going to "print" on
the browser control bar.
Its even more spectacular if you compare two continous enicipherements of the same
letter, E as it happens, from the start positions CGD and CGH.
Click here and then click "Encipher German Texts", scroll
down to the "Cipher Texts" text boxes and change 01 to 03 and 02 to 04. Now
scroll down to Histograms and look at the histogram for the enciphered
text of message 3. This looks a pretty normal cipher distribution, but now look
at the histogram for source 3. Just E!!
Go up to "Set Banbury Sheets" and click it. Now when the top sheet is
moved right a vast score appears at offset 4. Suddenly all the hole line up.
This is what you would expect since at this point the first Enigma has
caught up with the second Enigma and exactly the same enciphered letters are
being produced by each encipherment from that point.
You may think that the punching into sheets was an over elaborate method
for counting coincidences along two alphabetic strings. Not so, it is very
difficult to spot coincidences in letter strings, especially doing it for long periods at high
speed and under stress. The "holes" method, although more time consuming, was
far more accurate, a vital neccessity when dealing with very small statistical
This page was originally created by the late Tony Sale the
original curator of the Bletchley Park Museum