Криптографическая стойкость


Криптографическая стойкость (или криптостойкость) — способность криптографического алгоритма противостоять криптоанализу. Стойким считается алгоритм, успешная атака на который требует от атакующего обладания недостижимым на практике объёмом вычислительных ресурсов или перехваченных открытых и зашифрованных сообщений либо настолько значительных затрат времени на раскрытие, что к его моменту защищённая информация утратит свою актуальность. В большинстве случаев криптостойкость не может быть математически доказана; можно только доказать уязвимости криптографического алгоритма либо (в случае криптосистем с открытым ключом) свести задачу вскрытия алгоритма к некоторой задаче, которая считается вычислительно сложной (то есть доказать, что «взлом» не легче решения этой задачи).

Рассмотрим условия, которым должна удовлетворять криптосистема для надежной защиты информации. Стойкость зашифрованной информации (криптографическая стойкость, или просто стойкость) зависит от возможности несанкционированного чтения данных.

Об абсолютной стойкости (или теоретической стойкости) говорят в случае, если криптосистема не может быть раскрыта ни теоретически, ни практически даже при наличии у атакующего бесконечно больших вычислительных ресурсов. Доказательство существования абсолютно стойких алгоритмов шифрования было выполнено Клодом Шенноном и опубликовано в работе «Теория связи в секретных системах»[1]. Там же определены требования к такого рода системам:

Стойкость этих систем не зависит от того, какими вычислительными возможностями обладает криптоаналитик. Практическое применение систем, удовлетворяющих требованиям абсолютной стойкости, ограничено соображениями стоимости и удобства пользования.

Шенноном было доказано, что примером абсолютно стойкого алгоритма является шифр Вернама (одноразовый блокнот). Иными словами, корректное использование шифра Вернама не даёт злоумышленнику никакой информации об открытом тексте (любой бит сообщения он может лишь угадать с вероятностью ).

В основном в криптографических системах гражданского назначения применяются практически стойкие или вычислительно стойкие системы. О вычислительной стойкости системы говорят в случае, если потенциальная возможность вскрыть шифр существует, но при выбранных параметрах и ключах шифрования. На практике атакующий на современном этапе развития технологий не может обладать достаточными вычислительными ресурсами для вскрытия шифра за приемлемое время. Стойкость таких систем зависит от того, какими вычислительными возможностями обладает криптоаналитик.