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