Cryptography, Information Theory, and Error-Correction. Aiden A. Bruen

Читать онлайн.
Название Cryptography, Information Theory, and Error-Correction
Автор произведения Aiden A. Bruen
Жанр Зарубежная компьютерная литература
Серия
Издательство Зарубежная компьютерная литература
Год выпуска 0
isbn 9781119582403



Скачать книгу

alt="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 21 8 3 6 1 right-parenthesis left-parenthesis 22 20 23 18 right-parenthesis EndLayout

      The initial settings are defined with r 1 equals 22 (i.e. the letter at the top of roter 1 is upper V), r 2 equals 7, r 3 equals 12.

       For the signal traveling toward the reflector plate, the substitutions through the rotors are represented mathematically as follows:

StartLayout 1st Row 1st Column b 2nd Column equals 3rd Column upper R e m left-bracket a plus r 1 comma 26 right-bracket Superscript alpha 1 2nd Row 1st Column c 2nd Column equals 3rd Column upper R e m left-bracket b plus r 2 comma 26 right-bracket Superscript alpha 2 3rd Row 1st Column d 2nd Column equals 3rd Column upper R e m left-bracket c plus r 3 comma 26 right-bracket Superscript alpha 3 EndLayout

      where raising a term to the exponent alpha 1 means locating the term in the permutation set and replacing it with the number to the right of the term. If there is a bracket adjacent to the term, wrap around to the beginning of the subset. For example, with our settings as above, 3 Superscript alpha 1 Baseline equals 4 and 8 Superscript alpha 2 Baseline equals 0.

       Since the reflector has contacts which are only connected in pairs, we get

e equals left-parenthesis d right-parenthesis Superscript beta

      Once e has been output from the reflector, we follow the signal back to the keyboard:

StartLayout 1st Row c prime equals upper R e m left-bracket e Superscript alpha 3 Super Superscript negative 1 Superscript Baseline minus r 3 comma 26 right-bracket 2nd Row b prime equals upper R e m left-bracket c Superscript prime alpha 2 Super Superscript negative 1 Superscript Baseline minus r 2 comma 26 right-bracket 3rd Row a prime equals upper R e m left-bracket b Superscript prime alpha 1 Super Superscript negative 1 Superscript Baseline minus r 1 comma 26 right-bracket EndLayout