Открыть сервис

Вычислительная стойкость

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

История и предпосылки

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

В 1970-х годах, с развитием компьютерных сетей и необходимостью защищать данные в открытых каналах, возникла потребность в практичных криптосистемах. В 1976 году Уитфилд Диффи и Мартин Хеллман опубликовали работу «Новые направления в криптографии», где ввели понятие односторонней функции с потайным входом и заложили основы криптографии с открытым ключом. Именно в этой парадигме вычислительная стойкость стала центральным понятием: безопасность алгоритмов, таких как RSA, основывается на сложности решения определённых математических задач (факторизация больших чисел, дискретное логарифмирование), а не на недоступности информации.

Классификация стойкости

В криптографии принято различать несколько уровней стойкости по отношению к вычислительным возможностям атакующего:

  • Информационно-теоретическая (абсолютная) стойкость: Шифротекст не содержит никакой информации об открытом тексте, даже при наличии неограниченных вычислительных мощностей. Пример — шифр Вернама (одноразовый блокнот).
  • Вычислительная стойкость: Взлом алгоритма требует выполнения не менее N операций, где N — число, значительно превышающее возможности современных и прогнозируемых в обозримом будущем компьютеров (например, 2¹²⁸ операций). Стойкость основана на предположении, что не существует алгоритма, решающего задачу быстрее, чем за экспоненциальное время.
  • Доказуемая стойкость: Стойкость алгоритма строго сводится к сложности решения некоторой хорошо изученной математической проблемы (например, задачи факторизации или дискретного логарифмирования). Это подвид вычислительной стойкости, где утверждение о безопасности имеет математическое доказательство в рамках определённой модели (например, модели случайного оракула).

Математические основы

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

  • Задача факторизации: Разложение большого составного числа (произведения двух больших простых чисел) на множители. Лежит в основе алгоритма RSA.
  • Задача дискретного логарифмирования: Нахождение показателя степени в конечном поле или на эллиптической кривой. Используется в алгоритмах Диффи-Хеллмана, DSA, ECDSA.
  • Задача о рюкзаке: Некоторые варианты (например, Меркла-Хеллмана) были взломаны, но другие варианты остаются стойкими.
  • Задача обучения с ошибками (LWE): Стойкость многих постквантовых криптосистем (например, на решётках) основана на сложности решения этой задачи.

Для оценки вычислительной стойкости используется понятие битовой стойкости. Например, ключ длиной 128 бит в симметричном шифре (AES) обеспечивает стойкость 2¹²⁸ операций. Для асимметричных систем, из-за наличия математической структуры, эквивалентная стойкость достигается при значительно большей длине ключа: для RSA это 3072 бита, для эллиптических кривых — 256 бит.

Практические аспекты и ограничения

Вычислительная стойкость не является абсолютной гарантией. Она зависит от нескольких факторов:

  • Прогресс в вычислительной технике: Развитие квантовых компьютеров может сделать многие современные алгоритмы (RSA, ECDSA) нестойкими. Квантовый алгоритм Шора решает задачи факторизации и дискретного логарифмирования за полиномиальное время. В ответ на это разрабатывается постквантовая криптография, основанная на задачах, устойчивых к квантовым атакам (решетки, коды, хэш-функции).
  • Криптоанализ: Открытие новых математических методов или уязвимостей в реализации может снизить вычислительную стойкость. Например, атаки на основе побочных каналов (время выполнения, энергопотребление) могут позволить восстановить ключ быстрее, чем при полном переборе.
  • Параметры безопасности: Стойкость алгоритма напрямую зависит от длины ключа. Рекомендуемые длины ключей периодически пересматриваются (например, NIST, АНБ, российский ГОСТ Р 34.10-2012). На 2024 год для симметричных шифров минимальной считается стойкость 128 бит, для асимметричных — 2048 бит (RSA) или 256 бит (эллиптические кривые).

Применение в современных системах

Вычислительная стойкость лежит в основе всех современных криптографических протоколов:

  • TLS/SSL: Защита веб-трафика (HTTPS).
  • SSH: Безопасное удалённое управление серверами.
  • IPsec: Защита сетевого трафика на уровне IP.
  • Электронная подпись: Подтверждение подлинности документов (например, в российском ГОСТ Р 34.10-2012).
  • Блокчейн и криптовалюты: Безопасность транзакций и хранения средств (например, алгоритм ECDSA в биткойне).

Критика и альтернативы

Основная критика вычислительной стойкости связана с её зависимостью от недоказанных математических гипотез. Ни для одной из используемых односторонних функций не доказано, что она действительно является односторонней. В случае, если P = NP, многие из них могут быть взломаны за полиномиальное время.

Альтернативой является квантовая криптография (распределение квантовых ключей, QKD), которая основана на фундаментальных законах квантовой механики и обеспечивает информационно-теоретическую стойкость при передаче ключа. Однако она требует дорогостоящего оборудования и не решает все задачи (например, аутентификацию без предварительного общего секрета).

Интересные факты

  • В 2017 году Google объявила о начале тестирования постквантовых алгоритмов в своих браузерах (Chrome) для защиты от будущих квантовых атак.
  • Российский стандарт криптографической защиты ГОСТ Р 34.10-2012 использует эллиптические кривые над полем характеристики 2 и обеспечивает вычислительную стойкость до 256 бит.
  • В 2022 году NIST объявил о выборе первых четырёх алгоритмов для постквантовой стандартизации, включая CRYSTALS-Kyber (шифрование) и CRYSTALS-Dilithium (подпись).

Источники

  • Шеннон, К. «Теория связи в секретных системах» (1949).
  • Диффи, У., Хеллман, М. «Новые направления в криптографии» (1976).
  • Менезес, А., ван Орсхот, П., Ванстон, С. «Справочник по прикладной криптографии» (1996).
  • NIST. «Post-Quantum Cryptography: Status and Updates» (2023).
  • ГОСТ Р 34.10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →