تیم Frontier Red Team شرکت Anthropic روز ۱۶ اکتبر ۲۰۲۶ اعلام کرد که Claude توانسته منشأ بذرهای منحنی‌های بیضوی NIST را روشن کند؛ پرسشی که حدود ۲۵ سال میان رمزنگاران محل بحث بوده است. این منحنی‌ها که در سال ۲۰۰۰ در استاندارد امضای دیجیتال FIPS 186-2 پذیرفته شدند و ECDSA بر آن‌ها تکیه دارد، از مقادیر بذری ساخته شده‌اند که NSA بدون هیچ توضیحی ارائه کرده بود. به گفته Anthropic، بذرهای منحنی‌های P-192، P-224، P-256، P-384 و P-521 اصلاً حاصل درهم‌سازی یک عبارت نبوده‌اند، بلکه خروجی مولد اعداد شبه‌تصادفی lrand48 در کتابخانه زبان C هستند که با زمان‌مهرهای یونیکس مقداردهی اولیه شده است.

اهمیت این موضوع از آنجاست که هر بذر منتشرشده درهم‌سازی می‌شود تا ضریب b منحنی به دست آید. چون معلوم نبود بذرها چگونه انتخاب شده‌اند، برخی پژوهشگران گمان می‌کردند شاید منحنی‌هایی با ضعف پنهان برگزیده شده باشند. شناخته‌شده‌ترین توضیح را جری سولیناس، کارمند قدیمی NSA، در سال ۲۰۱۵ داده بود: اینکه بذرها از درهم‌سازی یک جمله شوخی‌آمیز به دست آمده‌اند. سولیناس در سال ۲۰۲۳ درگذشت و به گفته Anthropic چند نفر از کارکنان خود این شرکت هم بی‌نتیجه این سرنخ را دنبال کرده بودند.

وقتی این سرنخ کنار گذاشته شد، کار به‌سرعت پیش رفت. در ماه اکتبر یکی از کارکنان Anthropic از یک مدل پژوهشی داخلی خواست روش تولید بذرها را پیدا کند و Claude در کمتر از نیم ساعت به پاسخ رسید. فرض او این بود که نرم‌افزار سازنده از یکی از مولدهای ضعیف کتابخانه‌های C دهه ۱۹۹۰ استفاده کرده که خروجی‌اش قابل شناسایی است؛ پس ابزاری نوشت که ۳۴ ترکیب از مولد و بخش خروجی را می‌آزمود. سپس متوجه شد که در چهار بذر از ده بذر، بیت بالایی همه کلمه‌های ۳۲ بیتی صفر است؛ الگویی که احتمال تصادفی‌اش حدود یک در ۵۸۱۰ است و نشانه lrand48 به شمار می‌رود، چون این مولد فقط ۳۱ بیت بالایی از یک حالت ۴۸ بیتی را برمی‌گرداند. با آزمودن همه حالت‌های ۱۷ بیت پنهان، آن حالت‌ها بازیابی شدند. برای بذرهای منحنی‌های میدان اول که بیت‌های کمتری از هر خروجی را نگه می‌دارند، Claude بازیابی حالت را به‌عنوان یک مسئله مشبکه صورت‌بندی و با الگوریتم کاهش پایه LLL حل کرد. پنج بذر NIST و پنج بذر استاندارد ANSI X9.62 همگی از همین الگو پیروی می‌کنند و هر حالت ۴۸ بیتی بازیابی‌شده، تمام ۱۶۰ بیت بذر مربوط را بازتولید می‌کند.

از آنجا که این مولد به همان سادگی که جلو می‌رود به عقب هم برمی‌گردد، Claude هر حالت را تا شکلی که مقداردهی اولیه srand48 می‌سازد به عقب برد. در ده بذر منحنی‌های اول، این مقادیر اولیه زمان‌مهرهای یونیکس میان مه ۱۹۹۷ تا آوریل ۱۹۹۸ را نشان می‌دهند. چهار مقدار مربوط به منحنی‌های دودویی به فوریه ۱۹۸۴ اشاره دارند، اما اگر دو برابر شوند به ۱۷ آوریل ۱۹۹۸ می‌رسند، یعنی دو هفته پس از اجرای مربوط به P-224؛ نشانه‌ای از اینکه برنامه اصلی احتمالاً ساعت را نصف می‌کرده است. بذر منتشرشده P-256 نامزد شماره ۱۸۴۲ در اجرای خودش بوده است.

Claude برخی از نقطه‌های پایه را هم توضیح داد؛ نقطه ثابتی که هر کلید عمومی ECDSA مضربی از آن است. به گفته Anthropic، نقطه‌های پایه شش منحنی که در مه ۱۹۹۷ ساخته شدند، یعنی P-192 و پنج منحنی نمونه استاندارد ANSI X9.62، از مولد تصادفی کتابخانه FreeLIP متعلق به آرین لنسترا آمده‌اند که با اعداد صحیح کوچکی مانند ۲۰۰۰۰ برای P-192 مقداردهی شده است. تا جایی که Anthropic می‌داند، پیش از این هیچ نقطه پایه‌ای از منحنی‌های NIST توضیح داده نشده بود. نقطه‌های پایه P-224، P-256، P-384 و P-521 و نیز بذر منحنی دودویی B-163 همچنان بی‌توضیح مانده‌اند.

Anthropic صریحاً می‌گوید این یافته نه شکستن رمز است، نه حمله‌ای تازه و نه ضعفی در منحنی‌ها، و هیچ‌کس لازم نیست کاری را تغییر دهد. از نگاه این شرکت، کشف تازه احتمال وجود در پشتی عمدی را بسیار کمتر می‌کند، چون بذرها از فرایندی ساده و تکرارپذیر به دست آمده‌اند. یک پرسش اما باز می‌ماند: برخی نامزدهایی که می‌توانستند منحنی معتبر بسازند کنار گذاشته شده‌اند، مثلاً نامزد شماره ۸۷۶ در اجرای P-256. Anthropic تعداد این موارد را کمتر از آن می‌داند که نشان‌دهنده انتخاب منحنی‌های تضعیف‌شده باشد، اما می‌پذیرد معیار انتخاب معلوم نیست.

این تحلیل به شکل یک یادداشت وبلاگی منتشر شده و نه مقاله‌ای داوری‌شده، و تا زمان انتشار این گزارش بازتولید مستقلی از سوی رمزنگاران بیرونی یافت نشد؛ هرچند روش آن قطعی است و با جزئیات کافی برای راستی‌آزمایی شرح داده شده است.

منابع