Есть ли формальные критерии стойкости
13.05.2004
Среди вопросов, поступающих на сайт от заинтересованных читателей, встречаются вопросы, представляющие большое методологическое значение для понимания научных основ современной криптографии. К этой категории вопросов относятся следующие:
- По каким критериям оценивают эффективность криптоалгоритмов (в т. ч. и алгоритмов генерации гаммы)? Укажите, если можно, литературу или ссылки в Internet, где об этом подробно написано.
- Где можно подробно прочитать о критериях оценки надежности и эффективности криптоалгоритмов (в т. ч. и алгоритмов генерации гаммы)? Вообще, существуют ли какие-то общие критерии, применимые ко всем алгоритмам?
- В публикациях в Интернете, в литературе и др. источниках по криптографии много говорится о перспективах развития криптографической науки. При этом постоянно делается акцент на асимметричное шифрование и протоколы, а также на соответствующие математические вопросы, или говорится о перспективах новых направлений, таких, как стеганография или квантовая криптография. Перспективны ли сейчас вопросы, связанные с классическими направлениями криптографии, такими, например, как генераторы псевдослучайных последовательностей?
Подробные обстоятельные ответы на эти вопросы можно найти в любой серьезной книге по криптографии. Из материалов, размещенных на нашем сайте, можно порекомендовать книгу "Введение в криптографию". Ниже мы сформулируем лишь несколько тезисов, которые помогут заинтересованному читателю продумать недостающие подробности.
Стойкость шифра (шифрсистемы, криптосистемы, криптопротокола) оценивается криптоаналитиками в процессе криптографического анализа путем моделирования попыток противника взломать шифр. При этом существенными являются предположения о возможностях противника, учет конкретных условий эксплуатации шифра и используемый арсенал методов криптографического анализа. Поскольку список методов криптографического анализа открыт и по мере развития криптографии расширяется, оценка стойкости конкретного шифра с течением времени может уменьшаться.
В определенном смысле, критерием стойкости шифра можно считать его устойчивость относительно конкретного метода криптоанализа при конкретных предположениях о противнике. Эта величина обычно измеряется в количестве элементарных операций (понятие, также требующее подробных комментариев).
С учетом вышеизложенного наивными выглядят рассуждения некоторых авторов о стойкости в тех случаях, когда речь идет всего лишь о некоторых теоретических криптографических свойствах и нет никаких моделей шифра, условий его эксплуатации и предположений о противнике.
Есть один класс шифров, для которых стойкость может быть доказана теоретически на основе теоретико-информационного подхода, разработанного К. Шенноном. Это так называемые совершенные шифры (классический пример --- "лента однократного использования"). Но в эксплуатации ленты однократного использования есть две серьезные трудности:
- необходимость безопасным способом заранее обеспечить всех участников связи необходимым количеством идентичных лент однократного использования;
- необходимость обеспечить высокие требования по случайности и равновероятности при изготовлении ленты однократного использования.
Последнее направление относится к классическим направлениям криптографии, которые продолжают быть актуальными и в настоящее время. Обзор некоторых задач и результатов по этим направлениям содержится в материалах двух конференций, которые прошли в МГУ: "Московский университет и развитие криптографии в России" (М., МЦНМО, 2003) и "Математика и безопасность информационных технологий" (М., МЦНМО, 2004).
Что касается слишком большого числа публикаций по новым направлениям криптографии, то это легко объяснимо:
- во-первых, за последние годы резко возросло количество новых задач по обеспечению безопасности информационных технологий, для решения которых нужны новые криптографические и стеганографические средства;
- во-вторых, многие ученые увидели в криптографии с открытым ключом и ее различных новых приложениях интересные для себя задачи и стали ими активно заниматься.