Claude разгадал 25-летнюю загадку АНБ и обнаружил источник секретных чисел в старой программе
iXBT.com ·

ИИ-модель Claude компании Anthropic разгадала криптографическую загадку, над которой специалисты по безопасности бились 25 лет: она установила происхождение 5 начальных значений, предоставленных Агентством национальной безопасности США (АНБ) для создания криптографических кривых. Менее чем за 30 минут модель связала их с lrand48 — генератором псевдослучайных чисел из старой библиотеки языка программирования C. Для одного из значений, использованного при построении кривой P-256, удалось получить точное совпадение на 1842-м проверенном варианте.
В 2000 году Национальный институт стандартов и технологий США (NIST) утвердил набор эллиптических кривых, предложенных АНБ. Эта математическая конструкция используется в криптографии с открытым ключом: она позволяет подтверждать владение секретным ключом, не раскрывая его. Однако происхождение некоторых чисел, участвовавших в создании кривых, ведомство не объяснило. Это породило подозрения, что АНБ могло перебрать множество вариантов и выбрать такой, который позволял бы ему обходить защиту систем. После разоблачений Эдварда Сноудена о попытках ослабить криптографические стандарты эти опасения усилились.
Загадку изучали криптографы Нил Коблиц и Альфред Менезес, изложившие историю проблемы в работе "A Riddle Wrapped in an Enigma" в 2015 году. Менезес участвовал в подготовке исходного стандарта и вспоминал, что получил начальные значения от математика АНБ Джерри Солинаса в 1997 году. Специалист по безопасности Стив Вайс годами искал объяснение, в том числе направлял запросы о предоставлении государственных документов. В 2023 году инженер-криптограф Филиппо Вальсорда и другие участники сообщества предложили вознаграждение за решение загадки: базовая сумма составляла $12 288, а при передаче денег на благотворительность могла вырасти до $36 864.
Сотрудник Anthropic поручил внутренней модели Claude самостоятельно изучить происхождение чисел, не сообщая ей о гипотезе, согласно которой начальные значения могли быть получены из забытой фразы. Модель восстановила последовательность генерации чисел с помощью lrand48. Этот инструмент создаёт псевдослучайные значения по алгоритму, который позволяет воспроизвести результат при известных исходных параметрах. Временные метки 1997 и 1998 годов помогли связать последовательность с историческими данными. При этом остаётся неясным, почему программа пропускала некоторые подходящие варианты и как именно выбирались другие параметры кривых.
Результат снижает вероятность того, что в кривые NIST был намеренно встроен скрытый механизм обхода защиты. Опубликованные начальные значения всегда были доступны, поэтому обнаруженный способ их получения не раскрывает тайный ключ АНБ и сам по себе не означает компрометации систем. Anthropic заявила, что пользователям этих кривых не нужно менять настройки или переходить на другие алгоритмы. Кривая secp256k1, используемая в Bitcoin, в этой истории не участвовала: её параметры устроены иначе, и рассматриваемая загадка к ней не относится.
Вознаграждение за решение направят Internet Security Research Group — некоммерческой организации, которая поддерживает проект Let's Encrypt, выдающий бесплатные сертификаты безопасности для сайтов.