На конференции CTCrypt 2026 исследователь «Криптонита» Иван Чижов показал новый способ заранее находить слабые места в постквантовых криптосистемах на линейных кодах. Метод помогает оценить стойкость схем еще на стадии проектирования — до дорогих и долгих эмпирических тестов.

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

Какую проблему решаем

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

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

Ранее мы уже разбирали, как уязвимости иногда прячутся в, казалось бы, надежных продуктах — от скрытых троянов в репозиториях до критичных багов вроде ошибки в Joomla JCE. В криптографии логика та же: чем раньше найдено слабое место, тем дешевле его исправить.

Что подготовить

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

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

Пошаговые действия

Иван Чижов предложил смотреть на коды через коды квадратичных отношений. Это пространство позволяет увидеть внутренние зависимости, которые стандартный анализ может пропустить.

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

Метод полезен еще и тем, что помогает заранее отсеивать рискованные параметры. В частности, работа указывает на случаи, где атака ускоряется: когда минимальное расстояние кода слишком велико или когда соотношение размерности к длине близко к 2 к 1.

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

Как проверить себя

Проверка в этой логике — не ручной аудит кода, а математическая оценка параметров. Если схема на линейных кодах дает слишком много признаков, которые ведут к составным квадратичным формам, ее стоит пересмотреть еще до внедрения.

Сигнал тревоги — когда параметры подобраны по удобству реализации, а не по стойкости. Тогда даже красивая схема может оказаться слишком уязвимой для атаки на декодирование.

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

Если нужен дополнительный слой защиты при работе с онлайн-банкингом в чужой сети, можно подключить и решение вроде FreedomE Space. Но это лишь вспомогательная мера: основу безопасности все равно задают корректные алгоритмы, обновления и контроль доступа.

Что делать, если не получилось

Если математическая проверка показывает слабые места, схему не надо «дотягивать» косметическими правками. Лучше сменить параметры, пересмотреть класс кода или отказаться от варианта, который не проходит фильтр стойкости.

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

Для организаций это еще и повод пересмотреть процесс выбора криптографии в целом. Чем раньше в проекте появляется криптографический анализ, тем меньше шанс, что слабый вариант доживет до продакшена.

Практический чек-лист

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