Claude выяснил, откуда взялись загадочные seed-значения кривых NIST: генератор 1990-х годов
Десятилетиями seed-значения для эллиптических кривых NIST считали либо выходом хеш-функции, либо возможной закладкой. Claude нашёл проще: генератор случайных чисел из C-библиотеки, которому скормили Unix-время.
Нулевые старшие биты в нескольких опубликованных seed-значениях указали на генератор: такие значения дает lrand48, который возвращает только 31 бит из 48-битного состояния. Claude перебрал скрытые биты для бинарных кривых и применил редукцию решётки (LLL) для простых. Инициализация простых кривых датируется периодом с мая 1997 по апрель 1998 года.
В треде на HN криптографию почти не обсуждали: спорили о том, кому позволено заниматься подобным анализом.
Нулевые биты, которые выдали генератор

Материал Anthropic закрывает давний вопрос: откуда взялись seed-значения эллиптических кривых NIST? Популярная версия гласила, что это выходы хеш-функции. Гипотеза Claude была проще: слабый генератор случайных чисел, распространённый в C-библиотеках 1990-х. Claude написал сканер, который искал выход этого генератора в опубликованных seed-значениях, и заметил, что старшие биты у некоторых из них нулевые. Это признак lrand48, который возвращает только старшие 31 бит 48-битного состояния. Вероятность такого совпадения по чистой случайности — около 1 к 5810.
Для четырёх seed-значений бинарных кривых восстановление состояния генератора означало перебор 17 скрытых бит. У seed-значений простых кривых на каждый выход приходится меньше бит, поэтому состояние Claude восстановил с помощью редукции решётки LLL. Восстановленные временные метки для простых кривых попадают в период с мая 1997 по апрель 1998 года. Claude также объяснил базовые точки шести кривых (P-192 и пяти примеров кривых из ANSI X9.62): их дал генератор из арифметической библиотеки FreeLIP, инициализированный маленькими целыми, например 20000 и 20420.
Что остаётся неясным
Это не криптографический взлом. Аргумент Anthropic в том, что воспроизводимые seed-значения делают закладку менее правдоподобной: теперь их может пересоздать любой. Открытыми остаются seed для B-163 и базовые точки для P-224, P-256, P-384, P-521 и бинарных кривых NIST. Одна странность: кандидат 876 в поиске для P-256 тоже оказался допустимой кривой, но опубликованный seed соответствует кандидату 1842. Награда в $36 864 за поиск seed-значений достаётся Internet Security Research Group, а код воспроизведения распространяется по лицензии CC0.
Тред: кому можно это запускать?
Самым голосуемым было возражение не о криптографии, а о доступе.
«Anthropic (и кому Anthropic позволит) может делать такую работу с Claude, а если попробуем вы или я, нас заблокируют» — комментатор, который беспокоился о растущем преимуществе
Несколько человек с личным опытом не согласились:
«Я сам работал над этой задачей с Claude и меня не заблокировали (хотя и не добился результата)» — комментатор, который пытался повторить поиск seed-значений
«Это неправда. Я постоянно занимаюсь подобным» — комментатор, который проводит похожие анализы
Третьи вообще не видели смысла в ограничениях:
«Любой может делать такую работу с моделью вроде GLM 5.3 или Kimi K3» — комментатор, который указал на модели с открытыми весами
Самую личную претензию высказал человек, который говорит, что у него есть подготовка по кибербезопасности и наукам о жизни, но он не понимает, как запросить расширенные права: Anthropic не получает от него ни цента, потому что её «любимое слово — нет».
Заблокирован ли он на самом деле, неважно: эпизод показывает разрыв в восприятии доступа. Результат опирался на открытый, задокументированный метод, который было дёшево проверить, но обсуждение вылилось в спор о разрешениях. Если вы занимаетесь исследованиями безопасности и вам отказали в работе с dual-use задачами, сначала стоит проверить программу для киберзащиты, о которой написал один из комментаторов.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Home Assistant закрыл жалобу на проверку паролей как «won't fix», а потом извинился
Пользователь обнаружил, что Home Assistant сверяет настройки, помеченные как пароли, с базой Have I Been Pwned. Первый ответ закрыл задачу как «won't fix». Через несколько часов вернулся мейнтейнер с извинениями и выключателем.