logo
Коды и шифры

М2. Снижение стойкости при использовании взаимно-обратных алфавитов

Для первой буквы существует

вариантов, так как выбрать пару A и W - это то же самое, что выбрать пару W и A. Аналогично, для второй пары букв существует

вариантов, и так далее. Может показаться, что отсюда следует, что общее число взаимно-обратных алфавитов равно

,

однако это не так, потому что сформированные 13 пар можно переставлять между собой в любом порядке, и сам алфавит от этого не изменится. Например, если мы сначала объединим в пару буквы A и W, а затем буквы B и K, то получим точно такой же результат, как если бы мы сначала сформировали пару B и K, а затем пару A и W. Поэтому полученное выше число необходимо разделить на

13!=131211...21

(это число превосходит 6227000000). Так как в знаменателе уже стоит число2 в 13-й степени, что уменьшает число вариантов в 8192 раза, то мы получаем сокращение числа алфавитов замены более чем в 50000000000000 раз. В итоге это означает, что теперь число возможных алфавитов замены будет не более, чем 10 в 13-й степени, в то время как изначально их было более, чем 10 в 26-й степени.*)

Это может показаться странным, но при этом оказывается, что выгоднее объединять в пары не все 26 букв. Число вариантов будет больше, если только 22 буквы составляют пары, а оставшиеся 4 остаются без изменения. Это происходит потому, что если объединить 2k букв в пары и сохранить оставшиеся (26-2k) букв неизменными, то число вариантов будет равно

,

и это число достигает максимума при k=11. И если для шифров простой замены этот факт не имеет значения, то при анализе числа пар в коммутаторе "Энигмы" он становится важным, как мы увидим в главе 9.