Криптономикон, часть 2
Шрифт:
2. Используйте бриджевые комбинации. Расклады бриджа, которые печатают в газетах или книгах по карточным играм, соответствую 95-битному ключу. Если коммуниканты договорятся, как, исходя из этого, раскладывать колоды и куда помещать джокеры (может быть, после первых двух карт, упомянутых в разборе), это сработает. Учтите: тайная полиция может найти колонку с бриджем в газете, которой вы решили пользоваться, и списать порядок карт. Можно сговориться на чем-нибудь вроде «используй колонку бриджа из газеты в твоем родном городе на день зашифровки сообщения» или похожем. Можно использовать список
3. Используйте пароль для расклада колоды. В этом методе для первоначального расклада используется алгоритм «Пасьянса». И отправитель, и получатель знают пароль. (Например, «SECRET KEY».) Начните с колоды, разложенной по порядку, самая младшая сверху, последовательность мастей, как в бридже. Проделайте операцию «Пасьянс», но вместо шага 5 выполните еще одно подснимание по счету, основываясь на первой букве пароля (в данном примере 19). (Не забудьте положить верхние карты сразу над нижней картой колоды, как и раньше.) Выполните это по разу на каждую букву. Еще две буквы определят положение джокеров. Помните, впрочем, что уровень случайности на букву в стандартном английском примерно 1, 4 бита. Для безопасности нужен пароль по меньшей мере из 80 букв; я рекомендую не меньше 120. (Уж простите, но более короткий ключ не дает надежного уровня безопасности.)
Вот несколько примеров, чтобы потренироваться с «Пасьянсом»:
Пример 1: Начните с неразложенной колоды: Т¦ — К¦, Т¦ — K¦, Т¦ — К¦, Т¦ — К¦, джокер А, джокер Б (можете считать это последовательностью 1—52, А. Б). Тогда первые десять результатов:
53, естественно, пропускается. Я оставил это число только для ясности. Если открытый текст:
то шифртекст:
Пример 2: Используя метод настройки 3 ключ «FOO», получаем первые 15 результатов:
Если открытый текст состоит из одних «А», то шифртекст будет:
Пример 3: Используя метод настройки 3 и ключ «CRYPTONOMICON», сообщение «SOLITAIRE» зашифровывается как:
Разумеется, надо использовать более длинный ключ. Эти примеры приведены только для тренировки. На моем веб-сайте есть еще примеры, и вы можете создать свои, используя программу на языке PERL, приведенную в этой книге.
«Пасьянс» рассчитан на то, что враг не сможет взломать его, даже зная алгоритм. Я исходил из допущения, что «Криптономикон» станет бестселлером и купить его можно будет повсюду. Полагаю, АНБ и все остальные изучат алгоритм. Я исхожу из того, что тайным будет только ключ.
Вот почему так важно
Первое правило любого поточного шифра с обратной связью по выходу: нельзя использовать один ключ для зашифровки двух разных сообщений. Повторяйте за мной: НИКОГДА НЕ ИСПОЛЬЗУЙ ОДИН КЛЮЧ ДЛЯ ЗАШИФРОВКИ ДВУХ РАЗНЫХ СООБЩЕНИЙ. В противном случае вы разрушаете всю безопасность системы. Вот почему: если у вас есть два потока шифртекста А + К и В + К и вы вычтете один из другого, то получите (А + К) — (В + К)= А + К — В — К = А — В. Это комбинация двух открытых текстов, которую очень легко взломать. Поверьте на слово: вы, может быть, и не восстановите А и В из А — В, но профессиональный криптоаналитик с этим справится. Так что это жизненно важно: никогда не пользоваться одним ключом для зашифровки двух разных сообщений.
Пишите короткие сообщения. Алгоритм рассчитан на сообщения небольшой длины — примерно до двух тысяч знаков. Если вы хотите зашифровать роман в сто тысяч слов, воспользуйтесь компьютерным алгоритмом. Используйте в своих сообщениях стенографию, аббревиатуры, сленг. Не треплитесь попусту.
Для большей безопасности постарайтесь делать все в уме. Если тайная полиция ломает вашу дверь, просто спокойно перетасуйте колоду. (Не бросайте ее в воздух, вы удивитесь, насколько при этом сохраняется порядок карт.) Не забудьте перетасовать контрольную колоду, если она у вас есть.
Мне много что есть по этому поводу сказать, но вопрос слишком сложный для краткого изложения в книге. См.или напишите Counterpane Systems, 1711 North Ave #16, Oak Park, IL 60302.
Рекомендую для начала мою книгу «Applied Cryptography» (John Wilcy & Sons, 1996). [21] Потом прочтите «The Codebreackers» Дэвида Кана. [22] Дальше есть книги по компьютерной и ручной криптографии Можете подписаться на мою бесплатную рассылку на http:/www.counterpane.com/cryptogram.html, или отправив пустое сообщение по адресу, [email protected]. Это очень увлекательно, успехов!
21
Брюс Шнайер, «Прикладная криптография, М.. Издательство ТРИУМФ, 2003.
22
Дэвид Кан, «Взломщики кодов», М., Центрполиграф, 2000.