Перейти к содержанию
Публикация AiManual

Claude восстановил сиды кривых NIST: что доказано, а что осталось гипотезой

16 октября Anthropic показала, как внутренняя модель Claude меньше чем за полчаса восстановила сиды пяти кривых NIST через lrand48 и Unix-таймстамп. Разбираем,

Коротко

Что будет в материале

  1. 01

    Что случилось 16 октября: две работы Anthropic в одном абзаце

  2. 02

    Почему вопрос о сидах кривых NIST вообще важен

  3. 03

    Что доказано: пять сидов, lrand48 и воспроизводимый код

  4. 04

    Что осталось гипотезой: B-163, базовые точки и критерий отбора

Что случилось 16 октября: две работы Anthropic в одном абзаце

16 октября Anthropic опубликовала две работы. Первая объясняет происхождение «случайных» сидов пяти простых эллиптических кривых NIST: P-192, P-224, P-256, P-384 и P-521. Сиды восстановлены как вывод lrand48 из стандартной C-библиотеки, засеянного Unix-таймстампом, а не как хеш. Вторая работа посвящена проектированию квантовых схем моделью Claude Mythos 5.

Сразу главное: это не взлом и не новая атака. Речь о реконструкции истории параметров, а не об эксплуатации уязвимости. Менять ECDSA-кривые в своей инфраструктуре не нужно: результат не даёт практического способа атаковать ECDSA и не пересматривает стойкость кривых. Версию внутренней модели Claude Anthropic не называет.

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

Почему вопрос о сидах кривых NIST вообще важен

Кривые P-192, P-224, P-256, P-384 и P-521 приняты NIST в 2000 году в стандарте FIPS 186-2. Сиды для них предоставило АНБ и не объяснило метод получения. Сид задаёт стартовое значение, из которого процедура выводит параметры кривой. Когда процедура прозрачна, любой может пересчитать параметры и проверить, нет ли в них скрытой структуры. Когда сид неизвестен, проверять нечего.

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

Разделим два вопроса: происхождение сидов и стойкость кривых. Восстановление сида отвечает на первый. На второй оно не влияет: кривые P-192, P-224, P-256, P-384 и P-521 продолжают использоваться, а результат не содержит новой атаки.

Что доказано: пять сидов, lrand48 и воспроизводимый код

Твёрдый результат: сиды пяти простых кривых восстановлены, время создания сидов лежит между маем 1997 и апрелем 1998 года. Для P-256 восстановлена 1842-я итерация lrand48 со временем 1997-08-16 01:52:34 UTC. Совпадение проверяется повторным запуском кода, а не на глаз.

lrand48 и srand48 - функции стандартной C-библиотеки. srand48 задаёт состояние генератора, lrand48 возвращает очередное псевдослучайное число. Сиды NIST оказались не результатом хеширования фразы или иного «идейного» источника, а прямым выводом этого генератора, засеянного Unix-таймстампом.

Восстановление проверяется воспроизводимым кодом под CC0. По описанию авторов, вся конструкция укладывается в 32-битное значение на входе плюс небольшой индекс, из которого разворачиваются 160 бит сида. Подобрать такое случайно нельзя. Каждое восстановленное 48-битное состояние регенерирует все 160 бит своего сида, и проверка прошла сразу для десяти кривых NIST и ANSI X9.62.

Для базовых точек шести кривых мая 1997 года, включая P-192, источник найден: генератор FreeLIP Арьена Ленстры. Это отдельная часть результата, она касается уже не сидов, а базовых точек.

КриваяСидБазовая точка
P-192восстановлен, lrand48источник найден: FreeLIP
P-224восстановленне объяснена
P-256восстановлен, 1842-я итерация, 1997-08-16 01:52:34 UTCне объяснена
P-384восстановленне объяснена
P-521восстановленне объяснена
B-163не подошёл ни под одну схемув исходном разборе не указано

Как Claude это сделал: от зацепки старшего бита до решёток и LLL

Claude предположил PRNG из C-библиотек 1990-х и перебрал 34 сочетания генератора и схемы нарезки вывода. Зацепкой стал старший бит: у 4 сидов из 10 он нулевой во всех 20 словах. Вероятность случайности около 1 к 5810. Такую картину даёт lrand48, который отдаёт старшие 31 бит из 48-битного состояния.

Дальше состояние восстанавливалось через решётки и LLL. LLL - алгоритм редукции базиса решётки; в этой задаче он помогал вытащить скрытое состояние генератора из усечённого вывода. Восстановленное состояние откатывалось к виду srand48 и сопоставлялось с Unix-таймстампом. Совпадение по времени и по всем битам сида и стало доказательством.

Ограничение метода в том, что он опирается на конкретную сигнатуру конкретного генератора. Для другой схемы или другого источника случайности этот перебор сам по себе ничего не доказывает. Детали проверки приведены в исходном разборе.

Почему это не «взлом» и не новая атака

Авторы прямо говорят: это не взлом и не новая атака. Восстановление сида не даёт практического способа вычислить приватный ключ или сломать подпись. Стойкость кривых не пересматривается, новых уязвимостей в ECDSA не появляется.

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

Что осталось гипотезой: B-163, базовые точки и критерий отбора

Незакрытые пункты выглядят так:

  • Сид бинарной кривой B-163 не подошёл ни под одну схему. Это показывает, что найденная закономерность не универсальна для всех кривых того периода.
  • Базовые точки P-224, P-256, P-384 и P-521 не объяснены. Для P-192 источник найден, для остальных простых кривых - нет.
  • Критерий отбора кандидатов неизвестен: непонятно, почему одни потенциально годные варианты прошли, а другие оказались отброшены.

Авторы формулируют вывод осторожно: версия об интенциональном бэкдоре стала «гораздо менее правдоподобной», а не исключена. «Гораздо менее правдоподобно» не равно «опровергнуто». Для читателя это означает: нельзя говорить, что бэкдор в кривых NIST доказанно отсутствует. Можно говорить, что версия о намеренно выбранных слабых параметрах потеряла значительную часть оснований.

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

Уточняем цифры из заголовков: «полчаса», «30 лет» и премия Вальсорды

«Полчаса»: внутренняя модель Claude восстановила сиды пяти простых кривых меньше чем за полчаса. Это время работы модели, а не всего исследования. Сколько ушло на постановку задачи, проверку и оформление, в исходных материалах не раскрыто.

«30 лет»: сиды датируются 1997-1998 годами, кривые приняты в 2000-м. С 1997 по 2026 год проходит почти 29 лет, поэтому «30 лет» - округление, а не точная цифра. Точнее говорить «почти три десятилетия недоверия».

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

Вторая работа: квантовые схемы Claude Mythos 5

Claude Mythos 5 спроектировал квантовые схемы для 8 примитивов. Главные цифры: ×17 по гейтам для одной схемы при росте числа кубитов на 12% и ×12 по гейтам для декодера Рида-Соломона. Это ресурсные оценки, а не запуски на железе.

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

Что из этого полезно на практике

  • Криптографическая инфраструктура: менять ECDSA-кривые, сертификаты и TLS-настройки из-за новости не нужно. Это не взлом и не новая атака.
  • Проверяемость: код под CC0 и точные временные метки дают пример результата, который можно воспроизвести, а не принять на веру.
  • Работа с AI: кейс показывает, где модель полезна - генерация гипотез, перебор вариантов, поиск закономерностей в данных. Проверка остаётся за кодом и специалистами.
  • Для читателей AI-Manual, которые запускают локальные LLM и используют AI-инструменты в инженерных задачах: смотрите на воспроизводимость. Код, входные данные и временные метки важнее громкого заголовка.

Граница результата проходит по списку из раздела об открытых вопросах. Пять сидов восстановлены, B-163 и базовые точки P-224, P-256, P-384, P-521 ждут объяснения. Этого достаточно, чтобы ослабить версию о намеренном бэкдоре, и недостаточно, чтобы закрыть вопрос полностью.

Подписаться на канал