🎛️ RSA مصغّر (أعداد صغيرة)
اختر عددين أوليين صغيرين p و q. تولّد الآلة زوج المفاتيح (العمومي e، السري d)، ثم تشفّر رسالة عددية وتفكّ تشفيرها. في الواقع، يبلغ كل من p و q حجم 1024 بت.
المقياس n = p×q
323
φ(n) = (p-1)(q-1)
288
المفتاح العمومي e
5
🔒 المفتاح السري d (بحيث e·d ≡ 1 mod φ(n)) — لا تشاركه أبدًا
173
🔐 المشفّر c = mᵉ mod n
211
🔓 المفكوك cᵈ mod n
42
هذا هو السحر: n = 323 عمومي، لكن تفكيك 323 = 17×19 يدويًا يبقى سريعًا. أما بالنسبة لـ n بحجم 2048 بت، فهذا مستحيل قبل سنة 10⁵⁰.
🚀 المشكل قبل 1976: تقاسم مفتاح بدون قناة آمنة
تعتمد كل أنظمة التشفير الكلاسيكية (قيصر، فيجينير، إنيغما) على مفتاح سري مشترك بين المرسِل والمرسَل إليه. لكن كيف نتقاسم هذا المفتاح دون أن يعترضه جاسوس؟ على مدى قرون، كان يُستعمل:
- رسل موثوقون (معرّضون للرشوة).
- لقاءات حضورية (غير عملية في عصر البرق والمذياع).
- دفاتر شيفرات موزّعة مسبقًا (يمكن للعدو الاستيلاء عليها).
في سنة 1976، أحدث أمريكيان ثورة شاملة: ويتفيلد ديفي و مارتن هيلمان نشرا «اتجاهات جديدة في التشفير». اقترحا الفكرة الجنونية: مفتاح للتشفير، وآخر لفكّ التشفير. يمكنك نشر الأول للعالم بأسره دون أن تمسّ الثاني.
🎯 1977: ريفست، شامير، أدلمان
في عيد الفصح سنة 1977، انكبّ ثلاثة باحثين من معهد MIT — رونالد ريفست وعدي شامير وليونارد أدلمان — على تحدّي ديفي-هيلمان. اقترح ريفست 42 احتمالًا. فنّدها أدلمان كلها، باستثناء الـ 43. إنه RSA.
نُشر سنة 1978 («طريقة للحصول على التوقيعات الرقمية وأنظمة التشفير بمفتاح عمومي»)، فأصبح RSA أول نظام عملي بمفتاح عمومي. سُجّلت براءة الاختراع سنة 1983، وانتهت صلاحيتها سنة 2000 (وهو في الملك العام منذ ذلك الحين).
🧮 آلية RSA في 5 خطوات
- اختيار عددين أوليين كبيرين p و q (حجم كل منهما 1024 بت في الممارسة).
- حساب n = p × q ومؤشر أويلر φ(n) = (p−1)(q−1).
- اختيار e أولي مع φ(n)، غالبًا e = 65 537 = 2¹⁶+1 (قوة لـ 2 سريعة).
- حساب d، المقلوب القياسي لـ e بترديد φ(n) (خوارزمية إقليدس الموسّعة).
- نشر المفتاح العمومي (n, e). الاحتفاظ سرًّا بـ المفتاح السري d. إتلاف p و q.
التشفير / فكّ التشفير في RSA
التشفير : c = me mod n
فكّ التشفير : m = cd mod n
🛡️ لماذا هو آمن: صعوبة التفكيك إلى عوامل أولية
لكسر RSA، يعرف المهاجم (n, e) بشكل عمومي ويريد استرجاع d. ولذلك، يحتاج إلى φ(n) = (p−1)(q−1)، أي عليه تفكيك n إلى عوامله الأولية لاسترجاع p و q.
لكن تفكيك عدد بحجم 2 048 بت إلى عوامله الأولية مستحيل حسابيًا. أفضل خوارزمية كلاسيكية معروفة، وهي غربال حقل الأعداد العام (GNFS, General Number Field Sieve)، لها تعقيد دون-أسّي، لكنها تبقى بعيدة المنال بالنسبة لـ n ≥ 1024 بت حتى لو اجتمعت كل حواسيب الكوكب.
- RSA-768 (232 رقمًا عشريًا، 768 بت) : فُكّك سنة 2009 بعد سنتين من الحساب الموزّع (4×10²⁰ عملية).
- RSA-829 (250 رقمًا، 829 بت) : فُكّك سنة 2020. الكلفة ≈ 2 700 سنة معالج (CPU).
- RSA-1024 : لم يُفكّك بعد. يُعدّ غير آمن بما يكفي منذ 2010.
- RSA-2048 (المعيار الحالي) : آمن لمدة ~50 سنة حسب التقديرات الكلاسيكية. بعيد المنال عن أي حاسوب كلاسيكي.
- RSA-4096 : فائق الحذر، يُستعمل للاتصالات السرية الحساسة.
⚛️ التهديد الكمومي: شور 1994
في سنة 1994، نشر عالم الرياضيات بيتر شور خوارزمية كمومية تفكّك عددًا صحيحًا في زمن كثير حدود. على حاسوب كمومي كبير بما يكفي، ينهار RSA لحظيًّا.
في 2024-2026 :
- أكبر عدد صحيح فُكّك بواسطة حاسوب كمومي حقيقي هو ~21 (تجارب غوغل، IBM). أما RSA-2048 فيتطلب حوالي 20 مليون كيوبت مستقرة ومصحّحة من الأخطاء.
- أحدث ما توصّل إليه العلم سنة 2026 : ~1 000-5 000 كيوبت فيزيائية مشوّشة. ولا يزال على الأرجح يلزم 15-30 سنة قبل أن يصبح التهديد حقيقيًّا.
- لكن وكالة الأمن القومي (NSA) والمعهد الوطني للمعايير (NIST) وكل المؤسسات الكبرى باشرت بالفعل الانتقال نحو التشفير ما بعد الكمومي (PQC). أنهى NIST سنة 2024 صياغة ثلاث خوارزميات معيارية (CRYSTALS-Kyber, CRYSTALS-Dilithium, SPHINCS+).
🌐 أين يُستعمل RSA؟
- HTTPS / TLS : كل اتصال آمن (القفل في متصفّحك) يبدأ بتبادل RSA أو ECC لتبادل مفتاح جلسة AES. بدون RSA، لا تجارة إلكترونية على أمازون، ولا أداء بنكي عبر الإنترنت، ولا بنك عبر الهاتف.
- التوقيعات الإلكترونية : نظام eIDAS الأوروبي، توقيع ملفات PDF، والوثائق الرسمية. للتوقيع الإلكتروني نفس القيمة القانونية للتوقيع اليدوي منذ سنة 1999.
- شهادات SSL/TLS : سلطات التصديق (Let's Encrypt, DigiCert, Sectigo) توقّع شهادتك بـ RSA-2048 أو ECC.
- SSH : اتصال آمن بخادم بعيد. مفاتيح SSH من نوع RSA أو Ed25519.
- PGP / GPG : تشفير وتوقيع رسائل البريد الإلكتروني (يعود PGP إلى 1991، أنشأه فيل زيمرمان ؛ ولا يزال يستعمله الصحفيون والناشطون والدفاع).
- العملات المشفّرة : يستعمل بيتكوين وإيثيريوم نظام ECC (نسخة إهليلجية من RSA) لتوقيع المعاملات.
- البطاقات الذكية : البطاقات البنكية EMV، جوازات السفر البيومترية، بطاقات التعريف الإلكترونية.
- Wi-Fi WPA2/WPA3 : RSA للمصادقة على نقاط الولوج في النمط المؤسساتي.
📐 الرابط المباشر مع برنامجك في البكالوريا علوم رياضية
يُعدّ RSA التطبيق الأبرز لبرنامج الحسابيات في الثانية بكالوريا علوم رياضية بالمغرب. كل المفاهيم المستعملة مقرّرة في البرنامج:
- الأعداد الأولية : اختيار p و q. اختبار الأولية.
- القاسم المشترك الأكبر وخوارزمية إقليدس : pgcd(e, φ(n)) = 1 حتى يكون e قابلًا للقلب.
- خوارزمية إقليدس الموسّعة : حساب d (المقلوب القياسي لـ e).
- التردّدات بترديد n : كل RSA يجري داخل ℤ/nℤ.
- مبرهنة فيرما الصغرى : a^(p−1) ≡ 1 mod p، المعمّمة بواسطة أويلر-فيرما : a^φ(n) ≡ 1 mod n. وهي المتطابقة المفتاحية التي تبرهن أن (m^e)^d ≡ m mod n.
- الأسّ السريع : حساب m^e mod n في O(log e). يُدرَس في خوارزميات الثانية بكالوريا.
بوضوح : إذا أتقنت حسابيات الثانية بكالوريا علوم رياضية، يمكنك فهم RSA وبرمجته. إنه أحد أجمل الجسور بين رياضيات الثانوي والتكنولوجيا التي تُشغّل الإنترنت.
🎓 إضافة: برهان الصحة
نريد أن نبرهن أن (m^e)^d ≡ m mod n. بحكم البناء، e·d ≡ 1 mod φ(n)، إذن e·d = 1 + k·φ(n).
حسب أويلر-فيرما (إذا كان pgcd(m, n) = 1) : m^φ(n) ≡ 1 mod n. إذن :
m^(ed) = m^(1 + k·φ(n)) = m · (m^φ(n))^k ≡ m · 1^k ≡ m mod n. ✓
أما الحالة pgcd(m, n) ≠ 1 (m مضاعف لـ p أو q، وهو حدث نادر جدًّا) فتُعالَج على حدة باستعمال مبرهنة البواقي الصينية.