مخططا BGV وBFV للعمليات على الأعداد الصحيحة
نفّذ جمع الأعداد الصحيحة وضربها وهي مشفّرة باستخدام BGV
مخططا BGV وBFV للعمليات على الأعداد الصحيحة درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
نظرة عامة على BGV
يُعد BGV (Brakerski-Gentry-Vaikuntanathan، 2012) نظام FHE متعدد المستويات قائمًا على RLWE. وهو يدعم عمليات الجمع والضرب الاعتباطية على النصوص الصريحة الصحيحة المجمعة. ويعني وصفه بأنه متعدد المستويات أنه يتعامل مع دوائر يصل عمقها إلى مستوى ثابت L من دون عملية Bootstrapping.
مساحة النص الصريح
يشفّر BGV وBFV النصوص الصريحة على هيئة متعددات حدود في Z_t[x]/(x^n+1)، حيث إن t معامل صغير للنص الصريح (مثل t=65537). ويشفّر كل متعدد حدود n قيمة صحيحة، واحدة لكل معامل. وتُجرى العمليات الحسابية على النصوص المشفرة على جميع القيم البالغ عددها n في الوقت نفسه، وهو ما يحقق التوازي SIMD.
إدارة الضوضاء في BGV
يقلل BGV الضوضاء باستخدام تبديل المعامل: بعد كل عملية ضرب، يُخفض معامل النص المشفر q من Q_L إلى Q_{L-1}. ويؤدي ذلك إلى قسمة الضوضاء على Q_L/Q_{L-1}، مما يحافظ عليها ضمن الحدود التي تسمح بفك التشفير. ويتوافق عمق الدائرة L مع L من مستويات المعامل.
نظرة عامة على BFV
يشبه BFV (Brakerski/Fan-Vercauteren، 2012) نظام BGV، لكنه يستخدم استراتيجية مختلفة لإدارة الضوضاء تُعرف بثبات القياس. ولا يتطلب BFV تبديل المعامل؛ بل يعيد قياس النص المشفر بعد الضرب. وهو أبسط في التنفيذ، ويُستخدم في Microsoft SEAL.
الترميز الدفعي (خانات NTT)
باستخدام مبرهنة الباقي الصيني على حلقة النص الصريح، يمكن لكل نص مشفر أن يحتوي على n/2 من القيم الصحيحة المستقلة (الخانات). وتجمع عملية على النصوص المشفرة جميع الأزواج البالغ عددها n/2 بالتوازي. أما عملية الضرب فتضرب جميع الأزواج. ويبلغ معدل الإنتاجية n/2 من العمليات الصحيحة لكل عملية على النص المشفر.
إعادة التخطية بعد الضرب
بعد ضرب نصين مشفرين من الدرجة 1، تكون النتيجة من الدرجة 2، أي ذات 3 مكونات. تستخدم إعادة التخطية مفاتيح التقييم (مفاتيح relin) للتحويل مجددًا إلى الدرجة 1، مقابل إضافة ضوضاء. وتلزم هذه الخطوة بعد كل عملية ضرب.
مثال Python باستخدام SEAL
from seal import EncryptionParameters, scheme_type, SEALContext, KeyGenerator, Encryptor, Evaluator, Decryptor parms = EncryptionParameters(scheme_type.bfv) parms.set_poly_modulus_degree(4096) parms.set_coeff_modulus(CoeffModulus.BFVDefault(4096)) parms.set_plain_modulus(PlainModulus.Batching(4096, 20))
التدوير
يُزيح تدوير النص المشفر خانات النص الصريح n/2 دوريًا. وهو مفيد في جمع الخانات في قيمة واحدة، وضرب المصفوفات في المتجهات (التدوير والتجميع)، والالتفافات (الإزاحة والضرب). ويتطلب مفاتيح Galois، أي مفاتيح التدوير المحسوبة مسبقًا.
الأداء
مع n=8192 في BFV: تستغرق عملية الجمع نحو 10 µs، وتستغرق عملية الضرب نحو 5 ms مع إعادة التخطية. وتستغرق عملية Bootstrapping، عند الحاجة، من 30 إلى 60 ثانية. وبالنسبة إلى دفعة من 4096 عددًا صحيحًا، يبلغ المتوسط نحو 1 µs لكل عدد صحيح في كل عملية ضرب. وهذا غير عملي للعمليات في الوقت الفعلي، لكنه مناسب للتحليلات غير المتصلة.
اختيار المعلمات
عند اختيار n وq، توصي SEAL باستخدام n=4096 لأمان بمقدار 128 بتًا مع Q < 2^109، واستخدام n=8192 للدوائر الأكبر. يوفر معيار HE، على الموقع homomorphicencryption.org، جداول للمعلمات. استخدم دائمًا المعلمات الموصى بها، إذ يمكن أن تؤدي الاختيارات المخصصة بسهولة إلى تقويض الأمان.
حالات الاستخدام
استعلامات قواعد البيانات المشفرة، مثل البحث في السجلات المشفرة من دون فك تشفيرها. التحليل الجيني الخاص، مثل حساب الإحصاءات على DNA المشفر. التجميعات المالية المشفرة، مثل جمع أرصدة الحسابات المشفرة من دون الاطلاع على أرصدة الأفراد. التقييم الآمن للنماذج.
تحقق سريع
ما التقنية التي يستخدمها BGV لإدارة نمو الضوضاء بعد عمليات الضرب؟
مراجعة
يجري BGV وBFV حسابات صحيحة مشفرة باستخدام RLWE. ويوفر الترميز الدفعي التوازي باستخدام SIMD. ويستخدم BGV تبديل المعامل، بينما يستخدم BFV ثبات القياس. وتعيد إعادة التخطية الدرجة إلى حالتها السابقة بعد الضرب. التالي: CKKS لإجراء العمليات التقريبية وتطبيقات تعلّم الآلة.
الأسئلة الشائعة
هل درس «مخططا BGV وBFV للعمليات على الأعداد الصحيحة» مجاني؟
نعم — نص درس «مخططا BGV وBFV للعمليات على الأعداد الصحيحة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
ماذا ستتعلم في «مخططا BGV وBFV للعمليات على الأعداد الصحيحة»؟
نفّذ جمع الأعداد الصحيحة وضربها وهي مشفّرة باستخدام BGV تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟
لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «مخططا BGV وBFV للعمليات على الأعداد الصحيحة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟
نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما التشفير المتجانس؟
- أساس مشكلة التعلم مع الأخطاء (LWE)
- مخططا BGV وBFV للعمليات على الأعداد الصحيحة
- CKKS للحساب التقريبي وتعلّم الآلة