On the grounds that this part of the Forum really does mean 'anything that meets your fancy', I have a problem. I visited Bletchley Park a week ago, and since then I've not been able to tear my thoughts away from Bombes, Collossus, Banburismus and the EINS catalogue.
Does anyone know where there are Fortran simulators for any of the Bletchley Park code-breaking algorithms?
I was particularly taken by the EINS catalogue. Apparently, 90% of the messages transmitted include the word EINS. For a 3 rotor original Enigma there are apparently only 17,576 ways that EINS can be encoded. It seems to me to be a rather trivial job for a current model PC with FTN95 to go through a set of intercepts looking for possible coded EINS sequences 4 characters at a time, especially as:
Enigma never encodes a character as itself, so the first test must be to see if the first character is E, or the second I, etc.
The catalogue can be sorted so that the test is only required on the subset of the catalogue that begins with the same letter as the first one of the 4-character segment . Presumably this would require less than 1000 tests, even if one was no cleverer in writing the Fortran code.
It seems that the 17,576 is 263. Even pushing the problem to a 4 rotor machine only makes the number of ways EINS can be cyphered to 456,976, which doesn't seem to be an insuperable problem for a modest PC (and is 264). Are either of the EINS catalogues downloadable, or is there an algorithm to generate them?
Doing it with today's technology, presumably the Enigma settings could be deduced from EINS catalogue searches of enough messages with the day's settings, or another program could be written to simulate the operation of a Bombe.
If only it were possible to return to Bletchley some 80 years ago with my laptop, let alone the desktop! (But I would have to cut the 13 amp UK plug off the kettle lead and replace it with the 15 amp 3 pin plug that was the standard at the time).
Perhaps someone can explain why the catalogue contains 26^n entries for n rotors.
Eddie