🈁🤖 ИИ-модель Claude за полчаса раскрыла 25-летнюю тайну криптографии🇺🇸АНБ и обнаруж...
🈁🤖 ИИ-модель Claude за полчаса раскрыла 25-летнюю тайну криптографии🇺🇸АНБ и обнаружила за константами NIST системный таймер из 90-х Подразделение Frontier Red Team компании Anthropic сообщило, что внутренняя исследовательская ИИ-модель Claude менее чем за 30 минут восстановила способ генерации начальных значений (seed) для стандартизированных эллиптических кривых NIST, включая кривую P-256. Криптограф Филиппо Вальсорда независимо верифицировал алгоритм на языке Go. Споры вокруг этих 20-байтных констант не утихали с 2000 года, когда АНБ передало их для стандарта цифровой подписи FIPS 186-2 без объяснения происхождения. После разоблачений вмешательства АНБ в криптографические стандарты и скандала с генератором Dual_EC_DRBG часть сообщества подозревала, что спецслужба могла перебирать входные строки ради внедрения скрытого математического бэкдора. В 2015 году автор параметров из АНБ Джерри Солинас вспоминал, что код написал его коллега Боб Рейтер и что константы якобы получали хешированием шутливой фразы про повышение зарплаты («Give Bob and Jerry a raise») со счётчиком. После смерти Солинаса в 2023 году Вальсорда со спонсорами учредил награду в $12 288 (или $36 864 при переводе на благотворительность) за поиск исходных фраз, но трёхлетние попытки перебора хешей ничего не дали. 🤔Как получилось это у Антропиков? Ресёрчер Anthropic поставил задачу проанализировать сами константы без упоминания легенды про английский текст. Проверив 34 комбинации генераторов псевдослучайных чисел 1990-х годов, ИИ-модель обнаружила, что во всех 20 тридцатидвухразрядных словах четырёх бинарных кривых старший бит равен нулю (вероятность случайного совпадения составляет 1 к 5 810). Это указало на стандартную функцию языка C lrand48(), возвращающую 31 бит из 48-битного состояния. Восстановив скрытые биты для бинарных кривых перебором, а для основных кривых над простыми полями (со сдвигом lrand48() >> 23) с помощью алгоритма редукции базиса решётки Ленстры, Ленстры и Ловаса (LLL), Claude размотал генератор назад до инициализации через srand48() и увидел обычные 32-битные метки системного времени Unix с 15 мая 1997 года по 3 апреля 1998 года.