Криптономикон

Страница: 1 ... 272273274275276277278279280281282 ... 344

– Что такой мрачный? – спрашивает Алан. – Над чем работаешь?

– Те же идеи в другом контексте. – В нескольких словах Уотерхауз итожит все, что сделал за это время для победы. – По счастью, я набрел на что‑то по‑настоящему занятное.

Алан сразу приободряется, как будто последние десять лет в мире не было ничего занятного и Уотерхауз чудом наткнулся на такую диковину.

– Рассказывай.

– Криптоаналитическая задача. Не «Энигма». – Он рассказывает про листки с U‑553. – Сегодня утром я заглянул в Блетчли‑парк и выяснил, что они все это время бьются над ней так же безрезультатно.

Алан разочарован.

– Должно быть, одноразовый шифрблокнот. – В голосе сквозит укоризна.

– Нет. Шифртекст не лишен закономерностей, – говорит Уотерхауз.

– Н‑да? – отзывается Алан, встрепенувшись.

– Я искал закономерности по обычной методике «Криптономикона». Ничего определенного – просто намеки. В отчаянии я решил начать с чистого листа. Думать, как Алан Тьюринг. Обычно мы стараемся свести задачу к числам, а потом бросить на нее всю мощь математического анализа. Так что я стал переводить сообщения в цифры. Обычно это произвольный процесс. Присваиваешь каждой букве численное значение, как правило, от нуля до двадцати пяти, потом сочиняешь некий произвольный алгоритм, который превращает ряды маленьких чисел в большие. Однако это сообщение иного рода – в нем использованы тридцать два символа – степень двойки; у каждого символа есть единственное двоичное представление в пять разрядов длиной.

– Как в коде Бодо[58], – говорит Алан. Он вновь проявляв сдержанный интерес.

– Поэтому я перевел каждую букву в число от одного до тридцати двух по коду Бодо. У меня получились длинные ряды маленьких чисел. Однако я хотел перевести все числа ряда в одно большое, просто чтобы узнать, есть ли в нем интересные закономерности. Но это проще пареной репы! Если первая буква R код Бодо для нее – 01011, а вторая – F, и для нее код – 10111, то я могу просто составить их в десятизначное двоичное число 0101110111. Потом могу взять код следующей буквы, приставить его сзади и получить пятнадцатизначное число. И так далее. Буквы написаны группами по пять – двадцатипятизначное двоичное число на группу. Шесть групп в строке – сто пятьдесят двоичных разрядов на строку. Двадцать строк на странице, всего три тысячи двоичных цифр. То есть о каждой странице можно думать не как о ряде из шестисот букв, но как о закодированном представлении одного числа, порядка двух в трехтысячной степени, или примерно десяти в девятисотой.

— 277 —
Страница: 1 ... 272273274275276277278279280281282 ... 344