Cryptography, Information Theory, and Error-Correction. Aiden A. Bruen
Чтение книги онлайн.

Читать онлайн книгу Cryptography, Information Theory, and Error-Correction - Aiden A. Bruen страница 29

СКАЧАТЬ (b) the German Enigma machine display at the Naval Museum of Alberta, Canada, (c) the caption on the display at the Naval Museum of Alberta, Canada, (d) the Enigma machine type-K, power supply, and additional lamp panel."/>

      Source: Used with permission of the Naval Museum of Alberta, Canada.

Schematic illustration of a block diagram of the Enigma machine.

      It is worth noting some of the deficiencies in the machine design, as they made it possible for Allied cryptanalysts to eventually break the cipher. There is a very nice YouTube video, “Flaw in the Enigma Code ‐ Numberphile,” [Gri13], that talks about flaws in the Enigma machine. They note that a given letter of the alphabet might be mapped to any other letter, i.e. a letter is never encoded as itself. The number of permutations of n objects is n factorial, but if we insist that no object is mapped to itself, then the number of such permutations, i.e. the number of derangements of n objects, is reduced to approximately StartFraction n factorial Over e EndFraction, (where e almost-equals 2.72 is the base of the natural logarithm). See Ryser [Rys63, p. 23]. Thus, some information about the encoding is revealed along with a coded message!

      We will now investigate the machine from a mathematical standpoint. Each rotor is represented by a set of permutations containing all letter values between 0 and 25. The transition of each set runs left to right, with each bracket representing a wrap‐around or cycle. The first, second, and third rotors have unique permutation sets denoted alpha 1, alpha 2, and alpha 3, respectively (each representing the possible transitions between letters). To aid in our analysis, we introduce the variables r 1, r 2, and r 3 to represent the initial rotor settings (taken to be the character currently located at the top of the rotor). For the purposes of this analysis, we will be ignoring the role of the plugboard. Finally, the reflector plate is modeled as a set of permutations between pairs of characters, denoted by beta. The goal is to track a signal as it leaves the input keyboard, travels though the rotors and reflector, and back to the illuminated display. To determine the appropriate cipher text for each given plain text letter, we will calculate the shift of each rotor, the resulting reflector permutation and reflected signal shifts until we end up with a final cipher text character.

      The idea is to keep track of each intermediate substitution, in order to determine the final cipher text character. To illustrate the encoding process, consider the following example:

      Example 2.1 Suppose the permutation sets of each rotor and reflector are defined as follows:

StartLayout 1st Row 1st Column alpha 1 2nd Column equals 3rd Column left-parenthesis 0 15 6 10 14 8 19 17 22 18 11 right-parenthesis left-parenthesis 1 2 9 13 21 25 right-parenthesis left-parenthesis 3 4 23 5 24 7 12 16 20 right-parenthesis 2nd Row 1st Column alpha 2 2nd Column equals 3rd Column left-parenthesis 0 7 9 4 6 18 23 25 8 right-parenthesis left-parenthesis 1 17 19 right-parenthesis left-parenthesis 2 20 10 right-parenthesis left-parenthesis 3 12 right-parenthesis left-parenthesis 5 11 13 21 right-parenthesis left-parenthesis 14 22 15 16 24 right-parenthesis 3rd Row 1st Column alpha 3 2nd Column equals 3rd Column left-parenthesis 0 2 4 7 16 17 19 5 right-parenthesis left-parenthesis 1 6 3 8 21 24 11 13 9 10 25 12 14 15 right-parenthesis left-parenthesis 18 23 20 22 right-parenthesis 4th Row 1st Column beta 2nd Column equals 3rd Column left-parenthesis 0 4 right-parenthesis left-parenthesis 1 7 right-parenthesis left-parenthesis 2 9 right-parenthesis left-parenthesis 3 16 right-parenthesis left-parenthesis 5 20 right-parenthesis left-parenthesis 6 8 right-parenthesis left-parenthesis 10 19 right-parenthesis left-parenthesis 11 17 right-parenthesis left-parenthesis 12 25 right-parenthesis left-parenthesis 13 18 right-parenthesis left-parenthesis 14 24 right-parenthesis 5th Row 1st Column Blank 2nd Column Blank 3rd Column left-parenthesis 15 22 right-parenthesis left-parenthesis 21 23 right-parenthesis EndLayout Schematic illustration of the Simplified Enigma model.

       Each permutation set possesses an inverse, which “undoes” the action of said permutation, as follows:

StartLayout 1st Row 1st Column alpha 1 Superscript negative 1 2nd Column equals 3rd Column left-parenthesis 11 18 22 17 19 8 14 10 6 15 0 right-parenthesis left-parenthesis 25 21 13 9 2 1 right-parenthesis left-parenthesis 20 16 12 7 24 5 23 4 3 right-parenthesis 2nd Row 1st Column alpha 2 Superscript negative 1 2nd Column equals 3rd Column left-parenthesis 8 25 23 18 6 4 9 7 0 right-parenthesis left-parenthesis 19 17 1 right-parenthesis left-parenthesis 10 20 2 right-parenthesis left-parenthesis 12 3 right-parenthesis left-parenthesis 21 13 11 5 right-parenthesis left-parenthesis 24 16 15 22 14 right-parenthesis 3rd Row 1st Column alpha 3 Superscript negative 1 2nd Column equals 3rd Column left-parenthesis 5 19 17 16 7 4 2 0 right-parenthesis left-parenthesis 15 14 12 25 10 9 13 11 24 
              <a href=СКАЧАТЬ