Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kody_i_shifry_yuliy_Cezar_Enigma_i_Internet_2007.pdf
Скачиваний:
259
Добавлен:
29.03.2016
Размер:
2.04 Mб
Скачать

213

Приложение. Математические вопросы

Глава 2

М1. Совпадения знаков в алфавитах замены

Данная задача называется задачей о числе смещений элементов множества; ее решение в качестве частного случая может быть получено методом,

известным под названиями принципа включения-исключения и классического метода решета. Доказательство этого метода можно найти в книгах по комбинаторике, таких как [2.6]. Применяя принцип включения-исключения, нетрудно показать, что среди всех перестановок множества (1,2,...,n) доля тех перестановок, в которых ни одно число не стоит на "своем" месте (то есть имеется n смещений), равна

11 11! 21! 31! 41! 51! ...и т.д. до (n+1)-го слагаемого.

Эта сумма дробей очень быстро сходится к значению 0,3678... , то есть к значению, обратному числу e (известному тем, кто знаком с натуральными логарифмами). Значения этой суммы для n от 0 до 6 с точностью до трех десятичных знаков равны 1, 0, 0.5, 0.333, 0.375, 0.367 и 0.368. Поэтому для значений n, больших 5, размер этой доли практически один и тот же. Это означает, что в перестановке знаков 26-буквенного алфавита примерно в 37% случаев не будет ни одной буквы, стоящей на "своем" месте, а в 63% случаев хотя бы одна такая буква найдется.

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

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

26 25

2

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

24 23

2

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

214

26 25 24 23 ... 4 3 2 1 , 2 2 ... 2 2

однако это не так, потому что сформированные 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) букв неизменными, то число вариантов будет равно

26!

,

k!(26 2k )!2k

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

M3. Парадокс дней рождения

Вероятность того, что два случайно выбранных человека родились в один и тот же день, равна 1/365. Мы не будем учитывать високосные годы, поскольку никакого заметного влияния на результат это не окажет.

*) При использовании взаимно-обратных алфавитов говорить о снижении стойкости можно не только как о сокращении общего числа возможных вариантов алфавитов замены, но и о непосредственном упрощении способа дешифрования. Действительно, если криптоаналитик знает, что используется именно взаимнообратный алфавит, то при вскрытии такого шифра простой замены он при любом сопоставлении пары "буква открытого текста - буква шифрованного текста" автоматически получает еще одну пару букв (например, из A W сразу следует W A). Это кардинально облегчает ему процесс вскрытия и фактически сводит 26-буквенный алфавит к "алфавиту", состоящему из 13-ти "пар букв". (прим. перев.)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]