Штучний інтелект Claude, розроблений компанією Anthropic, за 30 хвилин роботи встановив, як Агентство національної безпеки США (АНБ) генерувало вихідні дані — так звані сіди — для п'яти популярних еліптичних кривих, закладених у стандарт цифрового підпису NIST. Загадка, над якою криптографи билися чверть століття, стосувалася стандарту FIPS 186-2, прийнятого у 2000 році: у ньому використовувалися опубліковані стартові числа для кривих, проте їхнє точне походження залишалося невідомим, що протягом багатьох років живило підозри про можливу наявність прихованих вразливостей.
Чому походження сідів було загадкою
Еліптичні криві лежать в основі алгоритму цифрового підпису ECDSA, яким донині захищають дані по всьому світу. Щоб побудувати такі криві, необхідно задати стартові числа, і саме їхня генерація в АНБ не була задокументована. Протягом десятиліть домінувала версія, що сіди могли бути хешами жартівливих англійських фраз, а частина експертів допускала, що спецслужба навмисно підібрала параметри так, щоб залишити собі «лазівку» для стеження. Жодна з цих гіпотез не була ні підтверджена, ні спростована, поки завдання не взяла на себе модель Claude.
Підхід моделі: очима програміста 1990-х
Замість перебору випадкових англійських фраз Claude проаналізував програмне забезпечення, яким користувалися у 1990-х роках, і перевірив 34 комбінації генераторів та фрагментів даних. Модель встановила, що вихідні значення генерувалися за допомогою звичайного псевдовипадкового генератора чисел мови C, прив'язаного до системних часових позначок Unix, і виявила зв'язок між параметрами п'яти кривих — P-192, P-224, P-256, P-384 і P-521 — та застарілим генератором lrand48, яким користувалися в бібліотеках C у 1990-х роках.
Математика проти перебору фраз
Для бінарних кривих модель виявила характерну закономірність: перші біти чисел систематично були нульовими, що відповідало 31-бітному виводу генератора lrand48. Для складніших кривих Claude застосував алгоритм Ленстри–Ловаса (LLL), що дозволяє знаходити приховані закономірності в наборах чисел. У результаті модель встановила, що вихідні значення генерувалися в період з травня 1997 року по квітень 1998 року; наприклад, потрібне значення для кривої P-256 знайшлося в послідовності, запущеній 16 серпня 1997 року.
Історична реконструкція, а не зламування
В Anthropic підкреслюють, що відкриття є «історичною реконструкцією, а не зламом криптографії». Дослідження не розкриває приватні ключі і не створює нових загроз для алгоритму цифрового підпису ECDSA. Відтворення математичної логіки, яку застосовували в АНБ, радше знижує, ніж посилює, стурбованість наявністю умисних бекдорів у стандартах: показаний зв'язок зі звичайним генератором 1990-х років не вказує на навмисне підгонку параметрів під приховану вразливість.
Нагорода та значення для галузі
За це відкриття Anthropic отримала благодійну винагороду в розмірі 36 864 долари, організовану криптографом Філіппо Вальсордою; усі кошти передано організації Internet Security Research Group. Випадок демонструє, що сучасні мовні моделі здатні не лише генерувати код, а й проводити неформальну криптоаналітику, відновлюючи втрачену документацію та закриваючи багаторічні дослідницькі питання, які раніше вважалися нерозв'язними без перебору величезного простору гіпотез.