CRYSTALS-Kyber: KEM قائم على الشبكات
تتبّع تغليف المفاتيح Module-LWE ومجموعات المعلمات
CRYSTALS-Kyber: KEM قائم على الشبكات درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
لماذا Kyber؟
إن CRYSTALS-Kyber، الذي أعادت NIST تسميته إلى ML-KEM في FIPS 203، هو آلية تغليف مفاتيح (KEM) قائمة على Module-LWE. وهو يحل محل RSA وECDH في تبادل المفاتيح، ويوفر مقاومة للحوسبة الكمّية مع مستويات أداء عملية.
KEM مقابل اتفاقية المفاتيح
تغلّف KEM سرًا مشتركًا: ينشئ المُرسِل مفتاحًا عشوائيًا K، ويشفّره باستخدام المفتاح العام للمستقبِل (التغليف)، منتجًا نصًا مشفّرًا C. ويفكّ المستقبِل تغليف C باستخدام مفتاحه الخاص لاستعادة K. ولا حاجة إلى تبادل مفاتيح تفاعلي.
أساس Module-LWE
تستخدم Kyber خوارزمية Module-LWE فوق الحلقة R_q = Z_q[x]/(x^256+1) حيث q=3329. ويكون البعد k=2 في Kyber-512، وk=3 في Kyber-768، وk=4 في Kyber-1024. أما مستويات الأمان فهي نحو 128 و192 و256 بت على التوالي. ويُعد k=3 (Kyber-768) الخيار الافتراضي الموصى به.
توليد المفاتيح
ولّد المصفوفة A ∈ R_q^{k×k} من البذرة ρ (القابلة للتوسعة). خذ العينة السرية s والضوضاء e من توزيع ثنائي الحدين متمركز (بمعاملات صغيرة). المفتاح العام: (ρ, t=As+e). المفتاح الخاص: s. تكون الضوضاء e صغيرة، لكنها تمنع استعادة s من المفتاح العام.
التغليف
لإرسال سر مشترك إلى مالك المفتاح العام (ρ, t): خذ عينات r وe1 وe2 من توزيع الضوضاء. احسب u = A^T r + e1، وv = t^T r + e2 + round(q/2)*m، حيث m رسالة عشوائية بطول 256 بت. السر المشترك K = KDF(m). النص المشفّر = (u, v).
فك التغليف
باستخدام المفتاح الخاص s: احسب m' = decompress(v - s^T u) = decompress(t^T r + e2 + round(q/2)*m - s^T(A^T r + e1)). تتلاشى حدود الضوضاء تقريبًا، ويبقى m'≈m. احسب K = KDF(m'). ويبلغ احتمال فشل فك التغليف: < 2^{-139}.
أحجام المفاتيح والنصوص المشفّرة
Kyber-768: المفتاح العام 1184 بايت، والمفتاح الخاص 2400 بايت، والنص المشفّر 1088 بايت، والسر المشترك 32 بايت. وبالمقارنة، يحتوي ECDH-P256 على مفتاح عام بحجم 65 بايت ونص مشفّر بحجم 32 بايت. حجم Kyber أكبر بنحو 15 مرة، لكنه آمن في عصر الحوسبة الكمّية. ومع ذلك فهو سريع: إذ يستغرق التغليف وفك التغليف أقل من 1 مللي ثانية على وحدات المعالجة المركزية الحديثة.
تحسين NTT
يستخدم ضرب كثيرات الحدود في R_q = Z_q[x]/(x^256+1) تحويلَ الأعداد النظرية (NTT)، وهو النظير الحسابي المعياري لتحويل FFT. ويخفض NTT تعقيد ضرب كثيرات الحدود من O(n^2) إلى O(n log n). وقد اختير q=3329 لامتلاكه خصائص NTT مناسبة لـ n=256.
تبادل المفاتيح الهجين
أثناء الترحيل إلى التشفير ما بعد الكم، استخدموا تبادل مفاتيح هجينًا يجمع بين ECDH وKyber. السر المشترك = KDF(ECDH_output || Kyber_output). يتطلب الأمان كسر النظامين معًا: فلا يستطيع المهاجمون التقليديون كسر أي منهما، بينما يستطيع المهاجمون الكمّيون كسر ECDH دون Kyber. وتدعم مسودات TLS 1.3 (IETF RFC 8446) آليات KEM الهجينة.
اعتبارات القنوات الجانبية
لا يكون فك تغليف Kyber بزمن ثابت في التطبيقات الساذجة، إذ تكشف خطوة أخذ عينات الرفض معلومات من خلال التوقيت. ويستخدم التطبيق المرجعي NTT بزمن ثابت ومقارنةً بزمن ثابت للنص المشفّر المضغوط. استخدموا الشفرة المرجعية المقدمة في طلب NIST أو تطبيقات المكتبات الخاضعة للتدقيق.
حالة النشر
نشرت NIST المعيار FIPS 203 (ML-KEM) في أغسطس 2024. وأضاف Chrome دعم Kyber في TLS 1.3 عام 2023. وتنشر Cloudflare وGoogle وAWS حاليًا حلول ECDH+Kyber الهجينة. وأضاف OpenSSL 3.x دعم ML-KEM. ولا تزال تطبيقات LibSSH وWireGuard قيد التطوير.
تحقق سريع
ما وثيقة معيار NIST التي توحّد معيار CRYSTALS-Kyber؟
مراجعة
Kyber (ML-KEM) هي KEM قائمة على Module-LWE وتحل محل ECDH. يبلغ حجم المفاتيح نحو 1 كيلوبايت، وتتميز بحسابات NTT سريعة، كما أنها مقاومة للحوسبة الكمّية. انشروها بصورة هجينة مع ECDH أثناء الترحيل. وقد وُحّدت في FIPS 203. التالي: مخططا التوقيعات CRYSTALS-Dilithium وFalcon.
تعلم Cryptology Academy مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 67
- الدروس
- 261
الأسئلة الشائعة
هل درس «CRYSTALS-Kyber: KEM قائم على الشبكات» مجاني؟
نعم — نص درس «CRYSTALS-Kyber: KEM قائم على الشبكات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
ماذا ستتعلم في «CRYSTALS-Kyber: KEM قائم على الشبكات»؟
تتبّع تغليف المفاتيح Module-LWE ومجموعات المعلمات تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟
لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «CRYSTALS-Kyber: KEM قائم على الشبكات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟
نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- شرح خوارزميتي Shor وGrover
- CRYSTALS-Kyber: KEM قائم على الشبكات
- توقيعات CRYSTALS-Dilithium وFalcon
- الانتقال إلى PQC: الأساليب الهجينة