Anthropic сообщает, что исследовательская версия Claude помогла её команде криптографов реконструировать происхождение нескольких опубликованных seed-значений эллиптических кривых. Отчёт от 16 октября связывает пять seed-значений кривых NIST над простыми полями и четыре seed-значения двоичных кривых NIST с выходами lrand48, старого генератора псевдослучайных чисел на C, инициализированного значениями, полученными из часов. Отчёт также содержит код, который выводит заявленные seed-значения и воспроизводит отдельные координаты базовых точек.
Результат касается вопроса об истории стандартизованных параметров. Anthropic не сообщает ни о новой атаке, ни о криптографическом взломе. Реконструкция также оставляет некоторые решения необъяснёнными, в том числе причины пропуска определённых подходящих кривых-кандидатов.
Главное изменение
- Что изменилось: Anthropic опубликовала конкретный алгоритм генерации и код для seed-значений NIST P-192, P-224, P-256, P-384 и P-521, четырёх двоичных кривых NIST и пяти примеров кривых ANSI X9.62. Отдельный алгоритм для базовых точек даёт совпадения с P-192 и пятью примерами ANSI.
- Как: Команда сообщает, что Claude распознал закономерности в битах опубликованных seed-значений, восстановил состояние генератора и проследил его назад до начальных значений, похожих на показания часов. Для шести базовых точек он определил генератор, применявшийся в старом ПО для длинной целочисленной арифметики.
- Ограничение: Код позволяет проверить предложенные совпадения, однако совпадающий алгоритм не документирует каждое историческое решение при отборе и не доказывает безопасность кривых. BIG CHANGE изучила публичную публикацию и исторический стандарт; независимого воспроизведения не проводилось.
Что объясняет seed-значение кривой
Архивный стандарт NIST FIPS 186-2 от 27 января 2000 года содержит 160-битное seed-значение для каждой из пяти кривых над простыми полями. Заданный процесс на основе SHA-1 преобразует seed-значение в коэффициент кривой. Стандарт также отдельно перечисляет поле, порядок кривой и координаты базовой точки. В нём сказано, что предоставленное seed-значение позволяет проверить, соответствует ли коэффициент заданному процессу; как выбрали само seed-значение, не объясняется. Оно также не определяет базовую точку — фиксированную точку, используемую для формирования открытых ключей.
Это различие определяет границы результата Anthropic. Прослеживание seed-значения может объяснить один входной параметр стандартизованной кривой. Для базовой точки требуется другое объяснение, а совпадающий выход не раскрывает всех решений людей, отбиравших параметры.
Как Anthropic проследила seed-значения
По словам Anthropic, Claude сначала искал в опубликованных значениях признаки старых генераторов псевдослучайных чисел на C. В некоторых seed-значениях двоичных кривых старший бит каждого 32-битного слова был нулевым. Anthropic сообщает, что эта закономерность указала на lrand48, возвращающий 31 бит из внутреннего 48-битного состояния. Затем модель восстановила возможные состояния и проверила, совпадают ли последовательные выходы с seed-значениями. Для кривых над простыми полями сохранялось меньше битов каждого выхода, поэтому, по словам Anthropic, Claude применил метод решёток, чтобы восстановить скрытое состояние.
Сам код в публикации Anthropic начинает работу с состояния в стиле srand48, развивает рекуррентную последовательность lrand48 и выводит 20-байтные seed-кандидаты. В таблице указаны временные метки и номера кандидатов для P-192, P-224, P-256, P-384 и P-521, а также примеров ANSI prime192v2, prime192v3 и от prime239v1 до prime239v3. Для P-256 заданный запуск достигает опубликованного seed-значения на кандидате 1 842. Значение P-256, выведенное в примере Anthropic, совпадает с seed-значением в FIPS 186-2.
Anthropic сообщает о родственном совпадении для B-233, B-283, B-409 и B-571. Перед инициализацией генератора код использует значение часов, делённое на два. Anthropic представляет такую трактовку половинного значения часов как возможность: обратное прослеживание восстановленного состояния дало даты в феврале 1984 года, тогда как удвоенные значения соответствуют 17 апреля 1998 года. Опубликованное совпадение поддерживает алгоритм генератора, но не устанавливает, какой способ обработки часов выбрали первоначальные авторы.
Anthropic описывает работу как совместный результат вопроса сотрудника, поиска и кода внутренней исследовательской модели и проверок команды. Отчёт предоставляет код и примеры вывода, которые могут изучить другие. Мы не нашли независимого воспроизведения, на которое можно было бы сослаться в этой статье, и BIG CHANGE не запускала код. Поэтому источник позволяет описывать результат как реконструкцию, о которой сообщает Anthropic, а исторические значения NIST служат внешней записью целевых параметров.
Шесть базовых точек и оставшиеся пробелы
Anthropic сообщает, что другой старый генератор из пакета длинной целочисленной арифметики FreeLIP Арьена Ленстры и ранних версий NTL Виктора Шоупа даёт совпадения с x-координатами базовых точек P-192 и пяти примеров ANSI. Его второй листинг кода инициализирует этот генератор небольшими целыми числами, отбрасывает семь выходов, затем выбирает x-координаты-кандидаты, пока одна из них не окажется на кривой. Шесть примеров — P-192, prime192v2, prime192v3 и от prime239v1 до prime239v3. Anthropic выводит совпадение для каждой опубликованной x-координаты. Исторический список NIST для P-192 предоставляет значение, использованное в этом сравнении.
В собственном изложении Anthropic остаётся несколько ограничений. Восстановить seed-значение B-163 не удалось. Базовые точки P-224, P-256, P-384 и P-521, а также двоичных кривых NIST не объяснены. Запуски также пропускали кандидатов, которые, по словам Anthropic, удовлетворяли бы заявленным условиям размера и простого порядка. Пример — кандидат 876 для P-256, предшествующий опубликованному кандидату 1 842; Anthropic сообщает о трёх пропущенных подходящих кандидатах в запуске P-224 и семи в общей сложности в двух запусках примеров ANSI. Команда не знает критерия отбора и того, были ли эти пропуски артефактом.
Для инженеров по безопасности полезный новый результат — проверяемое описание предположительного пути генерации многих значений параметров. Оно сужает один давний вопрос о seed-значениях неясного происхождения, но не отвечает на все вопросы об отборе кривых. Сама Anthropic говорит, что результат не даёт пользователям повода менять криптографическую практику.
Источники и дополнительное чтение
- Anthropic, «Claude раскрывает происхождение кривых ECDSA» (16 октября 2026 года). Рассказ команды о роли модели, реконструкции seed-значений и базовых точек, листингах кода, выходах и открытых вопросах. Выводы остаются результатами, заявленными командой; BIG CHANGE не запускала код независимо.
- NIST, FIPS 186-2: Стандарт цифровой подписи (27 января 2000 года; архивная версия). Приложение 6 перечисляет исторические seed-значения кривых, коэффициенты и координаты базовых точек и описывает использование опубликованных seed-значений. Это запись параметров, а не объяснение первоначального выбора seed-значений.
- Нил Коблиц и Альфред Менезес, «Загадка, окутанная тайной» (2015; обновлено в 2018 году). Историческое обсуждение предположений вокруг стандартов эллиптических кривых. Оно предшествует реконструкции Anthropic и не подтверждает новые вычисления.



