رازگشایی عدد ۱۳۰ رقمی؛ مهندسی که پس از ۶ سال، قفل RSA را شکست

خلاصه: در سپتامبر ۲۰۲۶، مهندس اریک لو با انتشار یک عدد ۱۳۰ رقمی، موفق به تجزیه‌ی عدد RSA-260 شد و رکورد بزرگ‌ترین عدد شکسته‌شده از خانواده‌ی اعداد RSA را پس از شش سال جابه‌جا کرد. با وجود هیجانات ایجادشده، این دستاورد تهدیدی برای امنیت اینترنت محسوب نمی‌شود، زیرا کلیدهای مدرن RSA بسیار بزرگ‌تر از این عدد هستند و سختی تجزیه با افزایش طول کلید به صورت نمایی رشد می‌کند. تهدید واقعی برای آینده‌ی RSA، محاسبات کوانتومی است که می‌تواند با الگوریتم شور، این رمزنگاری را بشکند. نهادهای استانداردگذار در حال برنامه‌ریزی برای مهاجرت به سمت رمزنگاری پساکوانتومی هستند و تا پیش از آن، RSA همچنان یک روش امن برای محافظت از ارتباطات دیجیتال باقی می‌ماند.

رمزنگاری RSA که از سال ۱۹۷۷ میلادی تا امروز پایه‌ی بسیاری از ارتباطات امن در دنیای دیجیتال بوده، اخیراً با یک رکوردشکنی علمی و ریاضی مواجه شده است. پنجشنبه‌ی گذشته، «اریک لو» (Eric Lu)، پژوهشگر و مهندس استارتاپ #هوش_مصنوعی «کاگنیشن» (Cognition)، با انتشار یک عدد ۱۳۰ رقمی در شبکه‌ی اجتماعی «ایکس» (X)، دنیای امنیت سایبری را شگفت‌زده کرد. او در کنار این عدد تنها دو کلمه نوشت: «مقسوم‌علیه آر‌اس‌ای-۲۶۰» (divides RSA-260). همین پست کوتاه، کافی بود تا جامعه‌ی رمزنگاران و متخصصان امنیت اطلاعات به تکاپو بیفتند، زیرا این عدد ۱۳۰ رقمی در واقع یکی از دو عامل اول (prime factors) عدد RSA-260 بود؛ عددی ۲۶۰ رقمی که از سال ۱۹۹۱ و زمان انتشار چالش اعداد RSA، هرگز تجزیه نشده بود. این دستاورد، بزرگ‌ترین عددی از خانواده‌ی اعداد RSA است که تا به امروز شکسته شده و رکورد قبلی را که مربوط به سال ۲۰۲۰ و عدد RSA-250 بود، جابه‌جا کرده است.

با این حال، پیش از هرگونه نگرانی درباره‌ی امنیت حساب‌های بانکی یا پیام‌رسان‌های شخصی، باید به یک نکته‌ی کلیدی توجه کرد: عددی که لو تجزیه کرده، در مقایسه با کلیدهای رمزنگاری‌ای که امروزه در اینترنت از اطلاعات ما محافظت می‌کنند، بسیار کوچک است. کلیدهای RSA مدرن معمولاً دارای طول ۲۰۴۸ بیت (حدود ۶۱۷ رقم اعشاری) یا بیشتر هستند، در حالی که RSA-260 تنها ۸۶۲ بیت (۲۶۰ رقم) طول دارد. به عبارت دیگر، این دستاورد یک پیروزی بزرگ در حوزه‌ی ریاضیات و نظریه‌ی اعداد محسوب می‌شود، اما تهدیدی فوری برای امنیت روزمره‌ی کاربران اینترنت به شمار نمی‌رود. در ادامه، به بررسی جزئیات این رویداد، نحوه‌ی عملکرد رمزنگاری RSA، روش‌های شکستن آن و چشم‌انداز آینده‌ی این الگوریتم محبوب خواهیم پرداخت.

رمزنگاری RSA چیست و چگونه کار می‌کند؟

برای درک اهمیت شکسته شدن RSA-260، ابتدا باید با اصول اولیه‌ی رمزنگاری RSA آشنا شویم. RSA که نام آن از حروف اول surnames سه دانشمند کامپیوتر یعنی «ران ریوست» (Ron Rivest)، «ادی شامیر» (Adi Shamir) و «لئونارد آدلمن» (Leonard Adleman) گرفته شده، یکی از نخستین و پرمخاطب‌ترین الگوریتم‌های رمزنگاری کلید عمومی (public-key cryptography) است. ایده‌ی پشت این الگوریتم به طرز فریبنده‌ای ساده است: ضرب کردن دو عدد اولِ بسیار بزرگ در یکدیگر، کاری بسیار آسان و سریع است. اما اگر تنها حاصل‌ضرب این دو عدد را در اختیار داشته باشید، پیدا کردن آن دو عدد اولِ اصلی، فوق‌العاده دشوار و زمان‌بر خواهد بود.

این ویژگی، اساس امنیت RSA را تشکیل می‌دهد. در عمل، حاصل‌ضرب دو عدد اول بزرگ، به عنوان «کلید عمومی» (public key) در اختیار همه قرار می‌گیرد. هر کسی می‌تواند با استفاده از این کلید عمومی، اطلاعات خود را به شکلی رمزنگاری کند که فقط دارنده‌ی کلید خصوصی (private key) بتواند آن را بخواند. کلید خصوصی همان دو عدد اولی است که در حاصل‌ضرب به کار رفته‌اند و تنها برای گیرنده‌ی پیام شناخته شده‌اند. به بیان دیگر، RSA بر پایه‌ی «مسئله‌ی تجزیه» (factorization problem) بنا شده است: اگر بتوانید یک عدد بزرگ RSA را به دو عامل اول آن تجزیه کنید، در عمل قفل رمزنگاری را شکسته‌اید و می‌توانید پیام‌های رمزنگاری‌شده را بخوانید.

از زمان معرفی RSA در سال ۱۹۷۷، این الگوریتم به یکی از پرکاربردترین روش‌های رمزنگاری در جهان تبدیل شده است. امروزه RSA در لایه‌های مختلف امنیت اینترنت نقش کلیدی ایفا می‌کند؛ از ایمن‌سازی تراکنش‌های بانکی آنلاین و پروتکل HTTPS در مرورگرهای وب گرفته تا امضای دیجیتال (digital signature) و احراز هویت در سیستم‌های مختلف. با وجود ظهور الگوریتم‌های جدیدتر مانند رمزنگاری منحنی بیضوی (ECC)، RSA همچنان یکی از ستون‌های اصلی زیرساخت کلید عمومی (PKI) در جهان محسوب می‌شود.

چالش اعداد RSA و تاریخچه‌ی شکستن آن‌ها

در سال ۱۹۹۱، شرکت «آر‌اس‌ای سکوریتی» (RSA Security) فهرستی از اعداد به نام «اعداد RSA» (RSA numbers) را منتشر کرد. هر یک از این اعداد از ضرب دو عدد اولِ مخفی در یکدیگر ساخته شده بودند و شرکت مذکور برای کسانی که می‌توانستند هر یک از آن‌ها را به عوامل اولشان تجزیه کنند، جایزه‌ی نقدی در نظر گرفته بود. هدف از این چالش، سنجش پیشرفت روش‌های تجزیه و ارزیابی امنیت کلیدهایی با طول‌های مختلف بود. اگرچه این مسابقه سال‌ها پیش به پایان رسید، اما تجزیه‌ی اعداد باقی‌مانده از آن مجموعه، همچنان برای پژوهشگران حوزه‌ی رمزنگاری جذاب و چالش‌برانگیز است.

آخرین رکورد شکستن یک عدد از این خانواده، پیش از رویداد اخیر، به سال ۲۰۲۰ بازمی‌گردد؛ زمانی که گروهی از پژوهشگران موفق به تجزیه‌ی عدد RSA-250 شدند. آن‌ها برای این کار از روشی به نام «غربال کردن» (sieving) استفاده کردند؛ روشی که در آن اعداد بی‌فایده و غیرمحتمل را کنار می‌گذارند تا فقط گزینه‌هایی که احتمال اول بودن دارند، باقی بمانند و مورد آزمایش قرار گیرند. این فرایند نیازمند قدرت محاسباتی عظیمی بود: تیم مذکور با ده‌ها هزار کامپیوتر و چندین ماه محاسبه‌ی مداوم، توانستند به نتیجه برسند. برآوردها نشان می‌دهد که تجزیه‌ی RSA-250 حدود ۲۷۰۰ سال پردازش با یک هسته‌ی پردازنده (core-year) زمان برده است.

حال، پس از شش سال وقفه، «اریک لو» به تنهایی موفق شده عدد بزرگ‌تری یعنی RSA-260 را تجزیه کند. این عدد ۲۶۰ رقم اعشاری دارد که معادل ۸۶۲ بیت است و تجزیه‌ی آن از نظر محاسباتی حدود سه برابر دشوارتر از تجزیه‌ی RSA-250 تخمین زده می‌شود. به گفته‌ی یکی از همکاران لو در استارتاپ کاگنیشن، محاسبات مربوط به این کار احتمالاً حدود ۷ ماه به طول انجامیده است. با این حال، لو تاکنون جزئیات دقیقی از روش خود منتشر نکرده و تنها پستی طنزآمیز درباره‌ی انجام این کار با «کاغذ و قلم» منتشر کرده که به دلیل بزرگی عدد، غیرممکن به نظر می‌رسد.

رکوردشکنی اریک لو: چگونه RSA-260 شکسته شد؟

اریک لو که در استارتاپ هوش مصنوعی کاگنیشن (Cognition) مشغول به کار است، پیش‌تر نیز سابقه‌ای درخشان در زمینه‌ی تجزیه‌ی اعداد بزرگ داشته است. در سال ۲۰۱۹، او موفق شده بود برای یکی از «اعداد مرسن» (Mersenne numbers) که بیش از ۲۵ میلیون رقم داشت، یک مقسوم‌علیه پیدا کند. هرچند آن مقسوم‌علیه بسیار کوچک‌تر از خود عدد بود، اما همین موضوع نشان‌دهنده‌ی تسلط او بر مفاهیم پیشرفته‌ی نظریه‌ی اعداد و الگوریتم‌های تجزیه است.

در مورد RSA-260، حدس کارشناسان این است که لو از ترکیبی از روش‌های کلاسیک تجزیه مانند «غربال‌گری» (sieving) و الگوریتم «غربال میدان اعداد» (Number Field Sieve) استفاده کرده است. الگوریتم غربال میدان اعداد، کارآمدترین الگوریتم کلاسیک برای تجزیه‌ی اعداد بزرگ به شمار می‌رود و نسخه‌های متن‌بازی مانند CADO-NFS نیز برای این منظور توسعه یافته‌اند. با توجه به اینکه RSA-260 تنها ۳۳ بیت از RSA-250 بزرگ‌تر است، امکان دارد که بهبود نرم‌افزارها و سخت‌افزارها در شش سال گذشته، تجزیه‌ی این عدد را بدون نیاز به یک پیشرفت ریاضیِ بنیادین ممکن ساخته باشد.

نکته‌ی جالب توجه در مورد این دستاورد، شایعاتی درباره‌ی نقش هوش مصنوعی در آن است. از آنجا که لو در شرکتی فعال است که در حال توسعه‌ی یک دستیار هوش مصنوعی به نام «دوین» (Devin) می‌باشد، گمانه‌زنی‌هایی درباره‌ی استفاده از این هوش مصنوعی در فرایند تجزیه مطرح شده است. با این حال، گزارش‌های ضدونقیضی در این زمینه منتشر شده و خود لو نیز تأیید نکرده که از هوش مصنوعی استفاده کرده است. به نظر می‌رسد که این دستاورد بیشتر حاصل تخصص و تلاش شخصی او در زمینه‌ی الگوریتم‌های تجزیه بوده است تا یک پیشرفت وابسته به هوش مصنوعی.

تأیید درستی کار لو بسیار ساده است: کافی است عدد شناخته‌شده‌ی RSA-260 را بر عدد ۱۳۰ رقمی که او منتشر کرده تقسیم کنیم. اگر باقی‌مانده صفر شود و عدد حاصل نیز اول باشد، یعنی تجزیه به درستی انجام شده است. این ویژگی یکی از جنبه‌های جذاب مسئله‌ی تجزیه است: اگرچه پیدا کردن عوامل اول بسیار دشوار است، اما پس از پیدا شدن، صحت آن به سادگی قابل راستی‌آزمایی است.

آیا امنیت ما در خطر است؟ پاسخ منفی است

با وجود تمام هیجانی که این خبر ایجاد کرده، باید تأکید کرد که شکسته شدن RSA-260 به هیچ وجه به معنای به خطر افتادن امنیت ارتباطات دیجیتال ما نیست. کلیدهای رمزنگاری‌ای که امروزه از ایمیل، پیام‌ها، تراکنش‌های بانکی و اطلاعات شخصی ما در اینترنت محافظت می‌کنند، طولی معادل ۲۰۴۸ بیت یا بیشتر دارند. در مقایسه، RSA-260 تنها ۸۶۲ بیت طول دارد؛ یعنی کمتر از نیمی از کلیدهای استاندارد امروزی.

نکته‌ی مهم این است که سختی تجزیه‌ی یک عدد RSA با افزایش طول آن، به صورت نمایی (exponentially) افزایش می‌یابد. این بدان معناست که هر چند رقم به طول کلید اضافه شود، زمان و توان محاسباتی مورد نیاز برای شکستن آن چندین برابر بیشتر می‌شود. به عنوان مثال، در حالی که تجزیه‌ی RSA-260 (۸۶۲ بیت) با فناوری‌های امروزی ممکن شده، تجزیه‌ی یک کلید ۲۰۴۸ بیتی با کامپیوترهای کلاسیکِ موجود، عملاً غیرممکن است و به هزاران سال زمان محاسباتی نیاز دارد.

«امانوئل تومه» (Emmanuel Thomé)، یکی از اعضای گروهی که RSA-250 را تجزیه کرده بود، نیز تأکید کرده که کار لو یک دستاورد ریاضی بزرگ است، اما نباید آن را با تهدیدی برای امنیت عمومی اشتباه گرفت. در واقع، اعداد چالش RSA عمدتاً برای سنجش پیشرفت‌های علمی و محاسباتی طراحی شده‌اند و هدف آن‌ها شبیه‌سازی کلیدهای واقعی در محیط‌های عملیاتی نیست. بنابراین، کاربران عادی اینترنت نیازی به نگرانی درباره‌ی امنیت حساب‌های خود ندارند و می‌توانند با خیال راحت به استفاده از خدمات آنلاین ادامه دهند.

تهدید واقعی: محاسبات کوانتومی و آینده‌ی رمزنگاری RSA

اگرچه شکسته شدن RSA-260 تهدیدی فوری محسوب نمی‌شود، اما بحث‌های جدی‌تری درباره‌ی آینده‌ی رمزنگاری RSA وجود دارد. تهدید اصلی برای این الگوریتم، «محاسبات کوانتومی» (quantum computing) است. کامپیوترهای کوانتومی با بهره‌گیری از الگوریتم «شور» (Shor`s algorithm)، می‌توانند مسئله‌ی تجزیه‌ی اعداد بزرگ را به شکلی کاملاً متفاوت و بسیار سریع‌تر از کامپیوترهای کلاسیک حل کنند.

پیشرفت‌های اخیر در حوزه‌ی محاسبات کوانتومی، نگرانی‌هایی را درباره‌ی زمان رسیدن به «روز کیو» (Q-Day)؛ یعنی روزی که کامپیوترهای کوانتومی بتوانند رمزنگاری‌های رایج را بشکنند، افزایش داده است. برآوردهای جدید نشان می‌دهد که برای شکستن یک کلید RSA ۲۰۴۸ بیتی، ممکن است به حدود یک میلیون کیوبیت (qubit) نیاز باشد؛ رقمی که با پیشرفت‌های فعلی، در سال‌های آینده قابل دستیابی به نظر می‌رسد. برخی پژوهشگران حتی معتقدند که با الگوریتم‌های جدید، این عدد می‌تواند به مراتب کمتر باشد.

در پاسخ به این تهدید، نهادهای استانداردگذار مانند «مؤسسه‌ی ملی فناوری و استانداردهای آمریکا» (NIST) و «آژانس امنیت سایبری اتحادیه‌ی اروپا» (ENISA)، برنامه‌های مهاجرت به سمت «رمزنگاری پساکوانتومی» (post-quantum cryptography) را تدوین کرده‌اند. بر اساس این برنامه‌ها، استفاده از الگوریتم RSA برای امضای دیجیتال و تبادل کلید، تا سال ۲۰۳۰ به تدریج منسوخ خواهد شد و جای خود را به الگوریتم‌های مقاوم در برابر حملات کوانتومی خواهد داد. شرکت‌های بزرگی مانند گوگل نیز هدف گذاری کرده‌اند که تا سال ۲۰۲۹ زیرساخت‌های خود را برای دوران پساکوانتومی آماده کنند.

با این حال، تا پیش از ظهور کامپیوترهای کوانتومیِ عملیاتی با قدرت کافی، الگوریتم RSA همچنان یک روش امن و قابل اعتماد برای محافظت از ارتباطات دیجیتال محسوب می‌شود. شکسته شدن RSA-260 یک دستاورد علمی مهم است که نشان می‌دهد مرزهای دانش بشری در زمینه‌ی ریاضیات و رمزنگاری همواره در حال گسترش است. این رویداد بیش از آنکه یک هشدار امنیتی باشد، یادآوری است که علم رمزنگاری پویا است و پژوهشگران همواره در تلاش برای یافتن روش‌های بهتر برای محافظت از اطلاعات ما در دنیای دیجیتال هستند.

در نهایت، می‌توان گفت که امنیت رمزنگاری RSA در برابر حملات کلاسیک همچنان پابرجاست و کلیدهای ۲۰۴۸ بیتی و بزرگ‌تر برای سال‌های آینده ایمن خواهند بود. تهدید جدی‌تر، محاسبات کوانتومی است که هنوز به بلوغ کافی نرسیده است. بنابراین، تا زمانی که یک جهش اساسی در فناوری کوانتومی رخ ندهد، کاربران عادی اینترنت نیازی به نگرانی درباره‌ی امنیت اطلاعات خود ندارند. با این حال، سازمان‌ها و نهادهای حساس به امنیت، باید خود را برای گذار به دوران پساکوانتومی آماده کنند و الگوریتم‌های مقاوم در برابر حملات کوانتومی را به تدریج جایگزین RSA نمایند. این مهاجرت تدریجی، تضمین‌کننده‌ی امنیت بلندمدت ارتباطات دیجیتال در مواجهه با پیشرفت‌های سریع فناوری خواهد بود.