| Line 32: |
Line 32: |
| | Sophisticated hardware is only one part of a secure cryptographic system. The manner in which it is used is crucial. The Nazis made some serious mistakes. | | Sophisticated hardware is only one part of a secure cryptographic system. The manner in which it is used is crucial. The Nazis made some serious mistakes. |
| | | | |
| − | The most secure way of handling keys is the "one-time-pad", commonly used in low traffic systems such as espionage. In this system, each submarine would have been given a different list of keys, randomly generated in advance, with headquarter keeping a copy. Each key would be used only once. That is, the code book would effectively say "For the 43<sup>rd</sup> message you send use key XYZ; for the 44<sup>rd</sup> message, use key FUO, ..." After every message is sent, that key is crossed off the list. | + | The most secure way of handling keys is the "one-time-pad", commonly used in low traffic systems such as espionage. In this system, each submarine would have been given a different list of keys, randomly generated in advance, with headquarter keeping a copy. Each key would be used only once. That is, the code book would effectively say "For the 43<sup>rd</sup> message you send, use key XYZ; for the 44<sup>rd</sup> message, use key FUO, ..." After every message is sent, that key is crossed off the list. |
| | | | |
| | This one-time-pad system is too unwieldy for a large operation such as general military communication, so a common daily key was used instead. Each submarine had a copy of the list, giving the key for each day; headquarters had that list also. This had two weaknesses: | | This one-time-pad system is too unwieldy for a large operation such as general military communication, so a common daily key was used instead. Each submarine had a copy of the list, giving the key for each day; headquarters had that list also. This had two weaknesses: |
| Line 42: |
Line 42: |
| | The Nazis used word salad, but they also made a costly mistake. They routinely ended each message with "HH", for "Heil Hitler". This foolish bit of vanity was helpful to the British. | | The Nazis used word salad, but they also made a costly mistake. They routinely ended each message with "HH", for "Heil Hitler". This foolish bit of vanity was helpful to the British. |
| | | | |
| − | There is another problem. The movement of the rotors meant that simple letter frequency analysis, which plays an important part in solving cryptograms in magazines ("This message has a lot of m's; let's guess that m corresponds to e.") won't work. But one can still do frequency analysis on the letters in a corresponding position in the massages, since they all used the same key. That is, if today's messages often have m appearing in the 15<sup>th</sup> position, one could guess that those were e's in the 15<sup>th</sup> position, since everyone's rotors would have been in the same position at that point. While utilizing this information would have been much harder than ordinary substitution ciphers, it was still a weakness. | + | There is another problem. The movement of the rotors meant that simple letter frequency analysis, which plays an important part in solving cryptograms in magazines ("This message has a lot of m's; let's guess that m corresponds to e.") won't work. But one can still do frequency analysis on the letters in a corresponding position in the messages, since they all used the same key. That is, if today's messages often have m appearing in the 15<sup>th</sup> position, one could guess that those were e's in the 15<sup>th</sup> position, since everyone's rotors would have been in the same position at that point. While utilizing this information would have been much harder than ordinary substitution ciphers, it was still a weakness. |
| | | | |
| | To avoid this weakness, an extra trick was developed. Instead of just setting the rotors and plugboard according to that day's instructions in the code book, the procedure was this: | | To avoid this weakness, an extra trick was developed. Instead of just setting the rotors and plugboard according to that day's instructions in the code book, the procedure was this: |