Что случилось 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 ждут объяснения. Этого достаточно, чтобы ослабить версию о намеренном бэкдоре, и недостаточно, чтобы закрыть вопрос полностью.