Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коды и шифры.DOC
Скачиваний:
62
Добавлен:
18.08.2019
Размер:
2.07 Mб
Скачать

М15. Число возможных отражателей шифрмашины "Энигма"

В отражателе 26 букв объединены попарно. Первую пару можно выбрать

способами (число способов необходимо делить на 2, так как не важно, какую букву данной пары выбирать первой, а какую второй). Теперь следующую пару можно выбрать

способами, и так далее. Таким образом, разбиение 26 букв на пары можно осуществить

способами. Однако, если мы в другом порядке выберем те же самые 13 пар, то получим тот же самый отражатель. И поскольку 13 пар можно переставить 13! способами, то число различных отражателей равно

,

что превосходит 71012. Это число совпадает с числом взаимно-обратных шифров простой замены (см. М2).

Точно так же вычисляется число возможных коммутаторов.

М16. Вероятность одноключевых сообщений для "Энигмы"

Если имеется N сообщений, то число пар индикаторов равно

.

Поскольку всего возможно 17576 начальных угловых положений тройки колёс, то число ожидаемых случайных совпадений среди этих пар индикаторов будет равно

.

Если это число больше единицы, то можно предполагать, что найдется хотя бы одно случайное совпадение индикаторов. Поскольку это число превосходит единицу уже при N188, то отсюда следует, что среди 200 сообщений, скорее всего, найдется пара со случайно повторившимся индикатором.

М17. Среднее число индикаторов, необходимое для построения полных цепочек

Эта задача представляет собой частный случай (для N=26) более общей задачи, которая, выступая под разными названиями (например, "задача о собирателе купонов" или "задача о сигаретных пачках")*), в течение многих лет являлась предметом повышенного интереса:

"В множестве содержатся элементы N различных типов, причем самих элементов имеется очень много. Коллекционер каждый раз случайно выбирает по одному элементу из множества. Сколько элементов (в среднем) ему придется выбрать, прежде чем у него будут элементы всех типов?"

(Для тех, кто знаком с терминологией теории вероятностей скажем, что этот случай называется "выборка с возвращением").

Можно показать (см., например, [8.1], стр. 225), что ожидаемое число равно

.

Его можно оценить, заменив сумму в скобках на соответствующий интеграл

,

где ln(N) - это натуральный логарифм числа N. Если быть более точным, то

при N,

где число , называемое константой Эйлера, равно 0.577... . Подставляя N=26, получаем оценку

26(ln(26)+0.577)99.7

числа сообщений, которое, скорее всего, потребуется криптоаналитику, прежде чем он сможет полностью построить цепочки.

Глава 10 м18. Число возможных барабанов шифрмашины "Хагелин"

Это число совпадает с

количеством возможных представлений числа 27 в виде суммы шести неотрицательных целых чисел

Это эквивалентно количеству способов представления числа 27 в виде суммы неотрицательных целых чисел, каждое из которых не превосходит 6. (Элементарное доказательство этого факта можно найти в [10.1].)

Данное значение, в свою очередь, равно коэффициенту при x27 в разложении по степеням x функции

.

Его можно подсчитать либо вручную (с большим трудом!), либо с помощью компьютерной программы. Оно оказывается равным 811.

Если мы потребуем (что было бы вполне логично), чтобы напротив каждого колеса стоял хотя бы один выступ, то нужное нам значение представляет собой коэффициент при x21 из упомянутого выше разложения, поскольку мы сначала выставим по одному выступу напротив каждого колеса, а оставшиеся 21 можно распределить без каких-либо ограничений. Это значение оказывается равным 331.

Эти примеры принадлежат к классу задач, которые относятся к разделу математики, именуемому комбинаторикой. Вот еще несколько подобных примеров.

Допустим, задано положительное целое число N:

  1. Сколькими способами можно представить N в виде суммы положительных целых чисел, без учета порядка слагаемых? Это число обозначается p(N) и называется числом разбиений числа N. Например:

4:=4=3+1=2+2=2+1+1=1+1+1+1,

поэтому p(4)=5.

Для значения p(N) не существует никакой простой формулы. Подробное изложение этого вопроса можно найти в [10.1].

(2) Сколькими способами можно представить N в виде суммы (любого числа) положительных целых чисел, с учетом порядка слагаемых? Это число обозначается c(N) и называется числом комбинаций числа N. Например:

4:=4=3+1=1+3=2+2=2+1+1=1+2+1=1+1+2=1+1+1+1,

поэтому c(4)=8. На самом деле можно показать, что

c(N)=2N-1.

Доказательство этого факта см. в [10.2].

  1. Сколькими способами можно представить N в виде суммы (фиксированного числа) k положительных целых чисел, с учетом порядка слагаемых?

Поскольку всего слагаемых k штук, и каждое из них больше или равно единице, то это значение равно коэффициенту при XN в разложении по степеням X функции

Xk(1-X)-k

или, что то же самое, коэффициенту при X(N-k) в разложении функции

(1-X)-k

Этот коэффициент равен

.

Данная формула также используется при решении задачи 4.2 (при N=9 и k=3, в результате получаем 28).