Криптономикон, часть 1 - Страница 65


К оглавлению

65

Если же в цепи Тьюринга сто одно звено (l = 101), то после пяти оборотов мы имеем C = 100, а после шести C = 19, тогда

C = 39, 59, 79, 99, 18, 38, 58, 78, 98, 17, 37, 57, 77, 97, 16, 36, 56, 76, 96, 15, 35, 55, 75, 95, 14, 34, 54, 74, 94, 13, 33, 53, 73, 93, 12, 32, 52, 72, 92, 11, 31, 51, 71, 91, 10, 30, 50, 70, 90, 9, 29, 49, 69, 89, 8, 28, 48, 68, 88, 7, 27, 47, 67, 87, 6, 26, 46, 66, 86, 5, 25, 45, 65, 85, 4, 24, 44, 64, 84, 3, 23, 43, 63, 83, 2, 22, 42, 62, 82, 1, 21, 41, 61, 81, 0.

Так что состояние (Q = 0, C = 0) не будет достигнуто и цепь не свалится, пока колесо не совершит сто один оборот. За сто один оборот велосипед Тьюринга успевает проехать по дороге пятую часть километра, что совсем не так плохо. Значит, велосипед работающий. Однако в отличие от вырожденного случая его нельзя привести в такое состояние, чтобы цепь не спадала совсем. Это легко доказать, просмотрев приведенный список значений C и убедившись, что все возможные значения — все числа от одного до ста — в нем присутствуют. Это означает, что с какого бы значения C Тьюринг ни начал крутить педали, рано или поздно он придет к фатальному C = 0 и цепь свалится.

Разница между вырожденным и невырожденным случаем заключена в свойствах использованных чисел. Комбинация (n = 20, l = 101) принципиально отличается от комбинации (n = 20, l = 100). Главная разница в том, что 20 и 101 — «взаимно простые», т. е. у них нет общих делителей. Это означает, что их наименьшее общее кратное, их НОК — большое число и равняется собственно ln, т. е. 20 x 101 = 2020. А вот НОК ста и двадцати — всего 100. У велосипеда с l = 101 длинный период — он проходит через множество различных состояний, прежде чем вернуться к исходному, а у велосипеда с l = 100 — короткий, всего из нескольких состояний. Предположим, что велосипед Тьюринга — шифромашина, основанная на алфавитной замене, т. е. заменяет каждую из двадцати шести букв английского алфавита какой-то другой буквой. A открытого текста может стать T шифртекста, B — F, C — M и так дальше до Z. Сам по себе такой шифр до смешного прост, взломать его — детская забава. Однако предположим, что схема замены меняется от буквы к букве. Первая буква открытого текста шифруется с помощью одного алфавита замены, вторая — с помощью другого, третья — с помощью третьего и так далее. Это называется полиалфавитный шифр.

Предположим, что велосипед Тьюринга генерирует свой алфавит для каждого из состояний. Тогда состоянию (Q = 0, C = 0) будет соответствовать, например, такой алфавит замены:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Q G U W B I Y T F K V N D O H E P X L Z R C A S J M

а состоянию (Q = 180, C = 15) — такой:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B O R I X V G Y P F J M T C Q N H A Z U K L D S E W

Никакие две буквы не будут зашифрованы одним и тем же алфавитом замены, пока велосипед не вернется в исходное состояние (Q = 0, C = 0) и цикл не пойдет с начала. То есть это периодическая полиалфавитная система. Теперь, если период у машины короткий, она часто повторяет саму себя и в качестве шифровальной системы тоже годится исключительно для детской забавы. Чем длиннее период (чем больше взаимно простых чисел в него встроено), тем реже используется один и тот же алфавит замены и тем выше устойчивость шифра.

Трехдисковая «Энигма» — система именно такого типа (то есть периодическая полиалфавитная). Ее барабаны подобно приводу в велосипеде Тьюринга заключают в себе циклы в циклах. Ее период равен 17 576, то есть алфавит замены, которым зашифрована первая буква сообщения, не повторится до 17 577-й буквы. Однако в «Акуле» немцы добавили четвертый барабан, увеличив период до 456 976. В начале каждого сообщения диски ставятся в различные, случайным образом выбранные исходные положения. Поскольку ни в одном немецком сообщении нет 450 000 знаков, «Энигма» никогда не повторяет один и тот же алфавит замены в пределах отдельного сообщения. Вот почему немцы считают ее неуязвимой.

Над головами пролетает звено транспортных самолетов, направляясь, по всей видимости, к аэропорту в Бедфорде. Самолеты издают странно музыкальный диатонический гул, словно волынки, играющие две мелодии разом. Это напоминает Лоуренсу об еще одном феномене, связанном с велосипедным колесом и шифрмашиной «Энигма».

— Ты знаешь, почему самолеты так гудят? — спрашивает он.

— Нет, если задуматься. — Тьюринг снова сдвигает противогаз на лоб. Челюсть у него немного отвисла, глаза смотрят в разные стороны. Уотерхауз его зацепил.

— Я заметил в Перл-Харборе. У самолета — звездообразный двигатель, — говорит Лоуренс. — Соответственно, в нем должно быть нечетное число цилиндров.

— Как одно из другого следует?

— Если число будет четным, цилиндры окажутся один напротив другого, развернутые на сто восемьдесят градусов, а это не работает механически.

— Почему?

— Не помню. Не работает, и все.

Алан поднимает брови. Он явно не убежден.

— Это как-то связано с кривошипами, — защищается Уотерхауз.

— Не уверен, что соглашусь.

— Просто допусти. Считай это граничным условием, — говорит Уотерхауз. Однако Алан уже ушел в свои мысли — наверное, изобретает звездообразный двигатель с четным числом цилиндров.

— В любом случае, если посмотришь, у них у всех цилиндров нечетное число, — продолжает Лоуренс. — Поэтому шум выхлопа накладывается на гудение винта и получается двухтоновой звук.

Алан снова садится на велосипед. Некоторое время они едут молча. Собственно, они и до этого не столько разговаривали, сколько подкидывали друг другу идеи и давали время подумать. Это очень производительный способ общения; он устраняет значительную часть избыточности, на которую жаловался Алан в случае Рузвельта и Черчилля.

65