Читаем Криптономикон, часть 2 полностью

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

2. Используйте бриджевые комбинации. Расклады бриджа, которые печатают в газетах или книгах по карточным играм, соответствую 95-битному ключу. Если коммуниканты договорятся, как, исходя из этого, раскладывать колоды и куда помещать джокеры (может быть, после первых двух карт, упомянутых в разборе), это сработает. Учтите: тайная полиция может найти колонку с бриджем в газете, которой вы решили пользоваться, и списать порядок карт. Можно сговориться на чем-нибудь вроде «используй колонку бриджа из газеты в твоем родном городе на день зашифровки сообщения» или похожем. Можно использовать список ключевых слов для поиска на веб-сайте «Нью-Йорк тайме». Поиск даст вам какую-нибудь статью; возьмите бриджевую колонку из номера, в котором она напечатана. Если ключевые слова будут найдены или перехвачены, их сочтут паролем. Придумайте какой-нибудь свой вариант: помните, что тайная полиция тоже читает книги Нила Стивенсона.

3. Используйте пароль для расклада колоды. В этом методе для первоначального расклада используется алгоритм «Пасьянса». И отправитель, и получатель знают пароль. (Например, «SECRET KEY».) Начните с колоды, разложенной по порядку, самая младшая сверху, последовательность мастей, как в бридже. Проделайте операцию «Пасьянс», но вместо шага 5 выполните еще одно подснимание по счету, основываясь на первой букве пароля (в данном примере 19). (Не забудьте положить верхние карты сразу над нижней картой колоды, как и раньше.) Выполните это по разу на каждую букву. Еще две буквы определят положение джокеров. Помните, впрочем, что уровень случайности на букву в стандартном английском примерно 1, 4 бита. Для безопасности нужен пароль по меньшей мере из 80 букв; я рекомендую не меньше 120. (Уж простите, но более короткий ключ не дает надежного уровня безопасности.)

ПРИМЕРЫ

Вот несколько примеров, чтобы потренироваться с «Пасьянсом»:

Пример 1: Начните с неразложенной колоды: Т¦ — К¦, Т¦ — K¦, Т¦ — К¦, Т¦ — К¦, джокер А, джокер Б (можете считать это последовательностью 1—52, А. Б). Тогда первые десять результатов:

4 49 10 (53) 24 8 51 44 6 33


53, естественно, пропускается. Я оставил это число только для ясности. Если открытый текст:

ААААА ААААА

то шифртекст:

EXKYI ZSGEH

Пример 2: Используя метод настройки 3 ключ «FOO», получаем первые 15 результатов:

8 19 7 25 20 (53) 9 8 22 32 43 5 26 17 (53) 38 48

Если открытый текст состоит из одних «А», то шифртекст будет:

ITHZU JIWGR FARMW

Пример 3: Используя метод настройки 3 и ключ «CRYPTONOMICON», сообщение «SOLITAIRE» зашифровывается как:

KIRAK SFJAN

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

СОБЛЮДЕНИЕ ТАЙНЫ КАК УСЛОВИЕ БЕЗОПАСНОСТИ

«Пасьянс» рассчитан на то, что враг не сможет взломать его, даже зная алгоритм. Я исходил из допущения, что «Криптономикон» станет бестселлером и купить его можно будет повсюду. Полагаю, АНБ и все остальные изучат алгоритм. Я исхожу из того, что тайным будет только ключ.

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

СОВЕТЫ ПО ИСПОЛЬЗОВАНИЮ

Первое правило любого поточного шифра с обратной связью по выходу: нельзя использовать один ключ для зашифровки двух разных сообщений. Повторяйте за мной: НИКОГДА НЕ ИСПОЛЬЗУЙ ОДИН КЛЮЧ ДЛЯ ЗАШИФРОВКИ ДВУХ РАЗНЫХ СООБЩЕНИЙ. В противном случае вы разрушаете всю безопасность системы. Вот почему: если у вас есть два потока шифртекста А + К и В + К и вы вычтете один из другого, то получите (А + К) — (В + К)= А + К — В — К = А — В. Это комбинация двух открытых текстов, которую очень легко взломать. Поверьте на слово: вы, может быть, и не восстановите А и В из А — В, но профессиональный криптоаналитик с этим справится. Так что это жизненно важно: никогда не пользоваться одним ключом для зашифровки двух разных сообщений.

Перейти на страницу:

Похожие книги

Rossija (reload game)
Rossija (reload game)

Кирилл Еськов и Михаил Харитонов Историческое повествование в жанре контрреализма в пяти частях, сорока главах и одиннадцати документах (негарантированной подлинности), с Прологом (он же Опенинг) и Эпилогом (он же Эндинг), а также «учетными карточками» стран и героев, долженствующими пробить читателя на ностальгию по культовой игре «Empire: Total War» достославной компании Sega, каковая компания уклонилась от оплаты сего продакт-плейсмента, но зато и не рискует теперь стать соответчиком авторов о искам к ним за срывание всех и всяческих масок и оскорбление всех и всяческих чувств. В Библиотеке Мошкова. Дорогие читатели! Вы можете пожертвовать на издание других книг Михаила Харитонова по реквизитам: Шалимова Надежда Валерьевна — вдова Михаила Харитонова: Сбербанк: 5469 3800 9051 6294 Надежда Валерьевна Ш. Или по номеру: 8-916-116-27-63 — (телефон привязан к карте) Тинькофф: 5536 9138 8624 6814 Яндекс-кошелёк: 410012831037853 Яндекс — карта: 5106 2180 3945 8971 PayPal: QIWI: 89161162763 (Пожалуйста, не забывайте писать в «назначение платежа»: «Дарение».) Еськов Кирилл Юрьевич: «Альфа-Банк»: KIRILL ESKOV 5559 4933 6817 9082 PayPal: QIWI: 89161162763 (Пожалуйста, не забывайте писать в «назначение платежа»: «Дарение».)

Михаил Юрьевич Харитонов , Кирилл Еськов

Самиздат, сетевая литература / Киберпанк / Социально-психологическая фантастика