Как выбрать хороший криптографический алгоритм
При выборе хорошего криптографического алгоритма можно:
- воспользоваться известным алгоритмом, сравнительно давно опубликованным в специальном издании, посвященном проблемам криптографии (если никто пока не сообщил о том, что сумел вскрыть этот алгоритм, значит на него следует обратить внимание);
- довериться известной фирме, специализирующейся на продаже средств шифрования (вряд ли эта фирма будет рисковать своим добрым именем, торгуя нестойкими криптографическими алгоритмами);
- обратиться к независимому эксперту (непредвзятость во мнении позволит ему объективно оценить достоинства и недостатки различных криптографических алгоритмов);
- обратиться за поддержкой в соответствующее правительственное ведомство (вряд ли правительство будет вводить своих граждан в заблуждение, давая им ложные советы относительно стойкости того или иного криптографического алгоритма);
- попытаться создать собственный криптографический алгоритм.
Все перечисленные варианты имеют существенные изъяны. Не следует полагаться только на одну фирму, на одного эксперта или на одно ведомство. Многие люди, называющие себя независимыми экспертами, мало понимают в криптографии. Большинство фирм, производящих средства шифрования, – тоже ничуть не лучше. В АНБ и ФАПСИ работают лучшие криптографы в мире, однако по понятным соображениям они не спешат поделиться своими секретами с первым встречным. Впрочем, и со вторым тоже. И даже если вы гений в области криптографии, глупо использовать криптографический алгоритм собственного изобретения без того, чтобы его всесторонне не проанализировали и не протестировали опытные криптологи.
Поэтому наиболее предпочтительной представляется первая из перечисленных возможностей. Данный подход к оценке стойкости криптографических алгоритмов можно было бы признать идеальным, если бы не один его недостаток. К сожалению, ничего не известно о результатах криптоаналитических исследований этих алгоритмов, которые несомненно активно велись в прошлом и продолжают также активно проводиться во всем мире многочисленными сотрудниками различных правительственных ведомств, в компетенцию которых входят криптологические изыскания. Эти ведомства, скорее всего, гораздо лучше финансируются, чем академические институты, ведущие аналогичные исследования. Да и начали они заниматься криптологией значительно раньше, чем ученые, не имеющие воинских званий, и специалисты из частных фирм. Поэтому можно предположить, что военные нашли гораздо более простые способы вскрытия известных шифров, нежели те, которые изобретены за пределами строго охраняемых зданий сверхсекретных правительственных ведомств.
Ну и пусть. Даже если вас арестуют и в качестве улики конфискуют у вас жесткий диск с файлами, зашифрованными по DES-алгоритму, вряд ли криптоаналитики, состоящие на государственной службе, придут на судебное заседание, чтобы клятвенно подтвердить, что данные для вашего обвинительного заключения получены путем дешифрования конфискованных файлов. Тот факт, что можно вскрыть какой-то конкретный криптографический алгоритм, часто является значительно большим секретом, чем информация, полученная путем вскрытия этого алгоритма.
Лучше исходить из предположения, что АНБ, ФАПСИ и иже с ними могут прочесть любое сообщение, которое они пожелают прочесть. Однако эти ведомства не в состоянии читать все сообщения, с содержанием которых хотят ознакомиться. Главной причиной является ограниченность в средствах, ассигнуемых правительством на криптоанализ. Другое разумное предположение состоит в том, что компетентным органам гораздо легче получить доступ к зашифрованной информации с помощью грубой физической силы, чем путем изящных, но очень трудоемких математических выкладок, приводящих к вскрытию шифра.
Однако в любом случае гораздо надежнее пользоваться известным криптографическим алгоритмом, который придуман уже довольно давно и сумел выстоять против многочисленных попыток вскрыть его, предпринятых авторитетными криптологами.
Криптографические алгоритмы, предназначенные для экспорта из США
В настоящее время у пользователей персональных компьютеров имеется возможность применять алгоритмы шифрования, встроенные в различные программные продукты. Достаточно приобрести, например, текстовый редактор Word, редактор электронных таблиц Excel или операционные системы Windows NT и NetWare. Кроме встроенных алгоритмов шифрования, все эти программные продукты имеют еще одно общее свойство: они изготовлены в Соединенных Штатах. Прежде чем начать торговать ими за рубежом, американские производители в обязательном порядке должны получить разрешение у своего правительства на экспорт данных продуктов за пределы США.
Многие придерживаются сейчас такого мнения: ни один криптографический алгоритм, разрешенный к экспорту из США, не является достаточно стойким, чтобы его не могли вскрыть криптоаналитики из АНБ. Считается, что американские компании, желающие продавать за рубежом свою продукцию, которая позволяет шифровать данные, по настоянию АНБ переделывают используемые криптографические алгоритмы так, что:
- время от времени отдельные биты ключа подмешиваются в шифртекст;
- ключ имеет длину всего 30 бит вместо официально заявляемых 100 бит, поскольку большинство ключей оказываются эквивалентны;
- в начало каждого шифруемого сообщения вставляется фиксированный заголовок, чтобы облегчить криптоаналитическую атаку со знанием открытого текста;
- любое шифрованное сообщение содержит некоторый фрагмент открытого текста вместе с соответствующим ему шифртекстом.
Исходные тексты американских шифровальных программ передаются на хранение в АНБ, однако за пределами этого сверхсекретного агентства доступ к ним закрыт наглухо. Вполне естественно, что ни АНБ, ни американские компании, получившие от АНБ разрешение на экспорт своих шифровальных средств, не заинтересованы в рекламе слабостей криптографических алгоритмов, положенных в основу функционирования этих средств. Поэтому желательно проявлять осторожность, если вы собираетесь защищать свои данные при помощи американских программ шифрования, экспорт которых за пределы страны разрешен правительством США.