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

231

выбрать, прежде чем у него будут элементы всех типов?"

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

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

 

 

1

 

1

 

1

N 1

 

2

 

3

...

 

.

 

 

 

 

 

N

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

N dx

1 x ln(N ) ,

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

1

1

 

1

...

1

ln(N ) при N ,

2

3

N

 

 

 

 

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

26(ln(26)+0.577) 99.7

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

Глава 10

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

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

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

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

232

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

n 6

(1 x n) 1 .

n 1

Его можно подсчитать либо вручную (с большим трудом!), либо с помощью компьютерной программы. Оно оказывается равным 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].

(3)Сколькими способами можно представить N в виде суммы

(фиксированного числа) k положительных целых чисел, с

233

учетом порядка слагаемых?

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

Xk(1-X)-k

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

(1-X)-k

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

(N 1)! . (k 1)!(N k)!

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

М19. Максимальная кратность значения зацепления, которая может встретиться при вычислении разности гаммы шифрмашины "Хагелин"

Рассмотрим колесо с w штифтами, имеющее зацепление k. При взятии разности на любом расстоянии d, не кратном w, есть четыре возможности, показанные в таблице A.1:

Таблица А.1

Штифт N

Штифт (N+d)

Разность гаммы

Неактивный

Неактивный

0

Неактивный

Активный

+k

Активный

Неактивный

-k

Активный

Активный

0

 

 

 

Наибольшие значения разности оказываются равными k. Если теперь мы возьмем разность повторно, на любом расстоянии, не кратном w, то наибольшие значения разности гаммы, которые могут встретиться, равны

k-(-k)=2k,

и, в случае отрицательных величин,

234

-k-(+k)=-2k.

При каждом следующем взятии разности эти крайние значения могут вырасти не более, чем вдвое. Следовательно, после n-кратного применения операции взятия разности максимальное значение, кратное зацеплению, которое может встретиться, равно

2(n-1)k.

Похожая ситуация возникает при реализации численных методов; там она принимает следующую форму:

единичная ошибка в таблице значений распространяется по "конусу ошибок"; максимальное значение ошибки после n операций взятия разности будет равно произведению величины исходной ошибки и максимального коэффициента в разложении (1+x)n.

Так, например, после шести операций взятия разности единичная ошибка распространится, и в центре шестой строки "конуса ошибок" будет в 20 раз больше по абсолютной величине. Более подробно об этом можно прочитать в

[10.3].

M20. Определение смещения шифрмашины "Хагелин" с помощью коэффициента корреляции

Если барабан является известным, криптоаналитик может вычислить "теоретическое распределение" знаков шифрованного текста по известным частотам встречаемости букв языка открытого текста, лежащего под шифром, и по распределению частот 26 различных знаков гаммы. При этом значение смещения по умолчанию предполагается равным 0. Расчеты выполняются аналогично тому, как это описано в М6. Затем подсчитываются частоты встречаемости букв в реальном шифрованном тексте. Теперь два набора частот ("теоретический" и "реальный") сравниваются друг с другом для всех 26 возможных смещений, и в каждом случае подсчитывается коэффициент корреляции. В идеальном случае то значение смещения, при котором коэффициент корреляции максимален, и есть истинное значение. На практике вариантов может оказаться несколько, но, скорее всего, их будет не очень много. Каждое из этих значений придется опробовать. В деталях подсчет коэффициента корреляции описан в [2.4].

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