آنتروپیک منشأ بذرهای منحنیهای انآیاستی را به یک مولد اعداد تصادفی در دهه ۱۹۹۰ ردیابی کرد

پژوهشگران شرکت آنتروپیک منشأ پارامترهای رمزنگاری منتشرشده از سوی مؤسسه ملی استانداردها و فناوری آمریکا (NIST) را به یک مولد اعداد تصادفی در کتابخانه زبان C در دهه ۱۹۹۰ ردیابی کردهاند. گروه قرمز مرزی آنتروپیک (Frontier Red Team) در پژوهشی که ۱۶ اکتبر ۲۰۲۶ منتشر شد، اعلام کرد یکی از مدلهای داخلی کلود توانسته است در کمتر از نیم ساعت روش تولید این پارامترها را شناسایی کند. این یافته به یکی از پرسشهای تاریخی درباره منشأ پارامترهایی پاسخ میدهد که در ابتدا آژانس امنیت ملی آمریکا (NSA) ارائه کرده بود.
بر اساس این بررسی، بذرهای پنج منحنی بیضوی استاندارد NIST، یعنی P-192، P-224، P-256، P-384 و P-521، با مولد اعداد شبهتصادفی lrand48 مرتبطاند؛ مولدی که با استفاده از مهرهای زمانی یونیکس مقداردهی اولیه میشود. به گفته آنتروپیک، زمانهای متناظر با بذرهای این پنج منحنی اولیّه در بازه مه ۱۹۹۷ تا آوریل ۱۹۹۸ قرار دارند.
این بذرها در نسخه سال ۲۰۰۰ استاندارد امضای دیجیتال NIST با شناسه FIPS 186-2 منتشر شدند. آژانس امنیت ملی آمریکا این مقادیر را ارائه کرده بود، اما توضیحی درباره چگونگی تولید آنها منتشر نکرد. همین موضوع طی سالها گمانهزنیهای متعددی را در میان متخصصان رمزنگاری برانگیخت.
یکی از فرضیههای دیرینه، تولید این بذرها را به جری سولیناس، کارمند باسابقه آژانس امنیت ملی آمریکا، نسبت میداد. بر اساس این روایت، او مقادیر را با هشکردن یک عبارت عبور طنزآمیز ایجاد کرده بود. سولیناس در اظهاراتی مربوط به سال ۲۰۱۵ که در پژوهش آنتروپیک بازنشر شده است، گفت: «پیام چیزی در مایههای «به باب و جری افزایش حقوق بدهید» یا «باب و جری حرف اول را میزنند» یا عبارتی شبیه به اینها بود.»
سولیناس گفته بود که باب رایتر کد مربوطه را نوشته است، اما نسخهای از کد یا اسناد تاریخی مربوط به آن پیدا نشد. سولیناس در سال ۲۰۲۳ درگذشت و روش تولید این مقادیر همچنان نامشخص باقی ماند. آنتروپیک اعلام کرد که کارکنان این شرکت نیز پیشتر فرضیه عبارت عبور را بررسی کرده بودند؛ اما سرانجام یکی از کارکنان از کلود خواست منشأ بذرها را بررسی کند، بیآنکه مدل را به سمت آن فرضیه خاص هدایت کند.
کلود بهجای پیگیری فرضیه عبارت عبور، بررسی کرد که آیا یک مولد اعداد تصادفی رایج در کتابخانههای زبان C در دهه ۱۹۹۰ میتواند مقادیر منتشرشده را توضیح دهد یا خیر. به گفته آنتروپیک، مدل بذرها را برای یافتن الگوهایی بررسی کرد که با خروجیهای متوالی مولدهای قدیمی سازگار باشند و در این فرایند، ۳۴ ترکیب مختلف از مولدها و بخشهای خروجی آنها را آزمود.
مدل الگویی متمایز پیدا کرد که با مولد lrand48 سازگار بود. این مولد یک وضعیت داخلی ۴۸ بیتی نگه میدارد، اما در هر خروجی تنها ۳۱ بیت برمیگرداند. کلود با آزمودن حالتهای ممکن برای بیتهای پنهان، وضعیت مولد را برای چند بذر بازسازی کرد و سپس با استفاده از محاسبات مبتنی بر شبکههای ریاضی، وضعیتهای متناظر با بذرهای منحنیهای اولیّه را به دست آورد.
آنتروپیک اعلام کرد که هر پنج بذر منحنیهای اولیّه NIST و پنج بذر اضافی از استاندارد ANSI X9.62 با یک الگوی خروجی یکسان مطابقت دارند: lrand48() >> 23. هر یک از وضعیتهای داخلی ۴۸ بیتی بازیابیشده، تمام ۱۶۰ بیت بذر متناظر خود را بازتولید کرد؛ نتیجهای محاسباتی که از روش پیشنهادی برای تولید این مقادیر پشتیبانی میکند.
این شرکت همچنین گزارش داد که با معکوسکردن توالی خروجیهای مولد، میتوان وضعیتهای اولیه متناظر با مهرهای زمانی یونیکس را شناسایی کرد. زمانهای مربوط به ده بذر منحنیهای اولیّه به بازه مه ۱۹۹۷ تا آوریل ۱۹۹۸ برمیگردند، درحالیکه چهار مقداردهی اولیه مربوط به منحنیهای دودویی به فوریه ۱۹۸۴ اشاره دارند. اگر این زمانهای قدیمیتر دو برابر شوند، به ۱۷ آوریل ۱۹۹۸ میرسند؛ یعنی دو هفته پس از اجرای مربوط به منحنی P-224. پژوهشگران بر همین اساس احتمال دادهاند که برنامه اصلی مقدار ساعت را بر دو تقسیم میکرده است.
این بررسی همچنین منشأ احتمالی نقاط پایه شش منحنی تولیدشده در مه ۱۹۹۷ را مشخص کرد: P-192 و منحنیهای ANSI X9.62 با نامهای prime192v2، prime192v3 و prime239v1 تا prime239v3. آنتروپیک منشأ این نقاط را به مولد اعداد تصادفی موجود در FreeLIP، یک بسته نرمافزاری محاسبات حسابی نوشته آرین لنسترا، نسبت داد. کد این مولد در نسخههای اولیه کتابخانه NTL ویکتور شوپ نیز وجود داشت.
بر اساس روش بازسازیشده، مولد با بذرهای عدد صحیح کوچک مقداردهی اولیه میشد و سپس هفت خروجی نخست کنار گذاشته میشد. در ادامه، مختصات x نامزد با استفاده از خروجیهای ۲۶ بیتی تولید و باقیمانده تقسیم آنها بر پیمانه میدان اولیّه محاسبه میشد. این فرایند ادامه مییافت تا مختصاتی به دست آید که روی منحنی قرار بگیرد. آنتروپیک بذرهای مولد را برای P-192 برابر با ۲۰۰۰۰، برای prime239v1 تا prime239v3 بهترتیب برابر با ۲۰۴۲۰، ۲۰۵۰۷ و ۲۰۵۰۹، و برای prime192v2 و prime192v3 بهترتیب برابر با ۲۰۵۱۲ و ۲۰۵۱۷ شناسایی کرد.
آنتروپیک اعلام کرد که از هیچ توضیح پیشین دیگری درباره منشأ یکی از نقاط پایه منحنیهای NIST اطلاع ندارد. بااینحال، نقاط پایه منحنیهای P-224، P-256، P-384 و P-521 با روش شناساییشده در FreeLIP مطابقت نداشتند. این شرکت همچنین تأکید کرد که یافتههای پژوهش به معنای شکستن رمزنگاری نیستند، حمله جدیدی معرفی نمیکنند و ضعف منحنیهای بیضوی مورد استفاده در الگوریتم امضای دیجیتال مبتنی بر منحنی بیضوی (ECDSA) را نیز اثبات نمیکنند.
