Enc(a) + Enc(b)= Enc(a + b)compute without decrypting

التشفير المتماثل

11 دقيقة قراءةالتشفير

التشفير المتماثل هو أسلوب تشفير يتيح لك إجراء عمليات حسابية على البيانات المشفرة دون فك تشفيرها أولاً. الرياضيات موجودة منذ عام 1978، والنسخة العملية المتجانسة بالكامل منذ عام 2009، وقد تحسن الأداء الهندسي بمقدار 10000× خلال العقد الماضي. لقد انتقل ما إذا كان جاهزًا للإنتاج من "لا" إلى "نعم أحيانًا" في السنوات القليلة الماضية فقط.

يتم توفير نص المقالة الكامل باللغة الإنجليزية أدناه.

التشفير المتماثل (HE) هو فئة من أنظمة التشفير التي تسمح بالحساب مباشرة على النصوص المشفرة. والنتيجة، عند فك التشفير، تساوي نتيجة إجراء نفس العملية على النصوص العادية. العميل الموثوق به يحمل المفاتيح؛ يمكن لخادم غير موثوق به تشغيل التحليلات أو التعلم الآلي أو الوظائف التعسفية على البيانات المشفرة دون رؤية البيانات نفسها على الإطلاق.

الفكرة الأساسية

A مثال بسيط: تخيل تشفير حيث Encrypt(a) + Encrypt(b) = Encrypt(a + b). إذا قمت بإرسال الخادم Encrypt(5) وEncrypt(7)، فإنه يحسب المجموع للحصول على Encrypt(12). تقوم بفك التشفير وترى 12. لم يتعلم الخادم شيئًا عن أرقامك ولكنه أنتج المجموع الصحيح.

تعد المخططات المتماثلة الحقيقية أكثر تعقيدًا ولكن المبدأ هو نفسه: النصوص المشفرة لها بنية جبرية تعكس النصوص الواضحة الأساسية.

ثلاث فئات

  • التشفير المتماثل جزئيًا (PHE). يدعم نوع واحد من العمليات — إما الجمع أو الضرب، وليس كليهما. RSA هو متماثل بشكل مضاعف. Paillier هو بالإضافة إلى ذلك متجانس. لديها تطبيقات عملية (التصويت الإلكتروني، التجميع الخاص) وأداء معقول.
  • تشفير متماثل إلى حد ما (SHE). يدعم كلاً من الجمع والضرب، ولكن فقط عدد محدود من العمليات قبل أن يصبح النص المشفر صاخبًا جدًا بحيث لا يمكن فك التشفير بشكل صحيح.
  • تشفير متماثل بالكامل (FHE). يدعم الحسابات التعسفية. قدم اختراق Craig Gentry في عام 2009 أول مخطط FHE. جعلت الأجيال اللاحقة (BGV، BFV، CKKS، TFHE) أسرع بشكل تدريجي.

قصة الأداء

FHE كانت العقبة الرئيسية التي واجهتها هي الأداء. كان مخطط Gentry الأصلي أبطأ بحوالي 100 تريليون مرة من الحوسبة على النص العادي. الحالة الحالية للفن (CKKS للحساب التقريبي، TFHE للدوائر المنطقية) تتراوح من 100× إلى 100000× أبطأ من النص العادي اعتمادًا على العملية. لا يزال هذا بطيئًا ولكنه يتيح تطبيقات حقيقية لحالات الاستخدام حيث تكون حساسية البيانات أكثر أهمية من السرعة.

  • CKKS - الحساب التقريبي على الأعداد الحقيقية؛ جيد لاستدلال التعلم الآلي حيث تكون الأخطاء الصغيرة مقبولة.
  • BGV، BFV - حساب عدد صحيح دقيق؛ جيد لعمليات قاعدة البيانات.
  • TFHE - دوائر منطقية ذات تمهيد سريع؛ جيد للتحكم في التدفق.

عمليات النشر في العالم الحقيقي

  • اقتراحات Microsoft Edge الخاصة يستخدم HE لتشفير عنوان URL الذي على وشك زيارته، ويتيح لـ Microsoft حساب الاقتراحات ذات الصلة على المدخلات المشفرة، وإرجاع النتائج المشفرة.
  • Apple Private Cloud يستخدم الحوسبة والتعلم الموحد الخاص التقنيات المتعلقة بـ HE لتجميع تحديثات نموذج المستخدم دون رؤية المساهمات الفردية.
  • Cloud (AWS وAzure) بدأ في تقديم FHE كخدمة لأحمال عمل محددة مثل التحليل الجيني على بيانات المريض المشفرة.
  • Banks يستخدم HE لـ تحليل المخاطر عبر المؤسسات دون مشاركة بيانات العملاء.
  • أنظمة الانتخابات تستخدم مخططات متجانسة بشكل إضافي لتجميع الأصوات مع حماية بطاقات الاقتراع الفردية.

المكتبات الرئيسية

  • Microsoft SEAL - مخطط مفتوح المصدر وناضج وواسع support
  • OpenFHE — خليفة PALISADE
  • Concrete — إطار عمل Zama الذي يركز على TFHE مع واجهات برمجة التطبيقات عالية المستوى
  • HElib — أبحاث IBM Library
  • tfhe-rs - تنفيذ الصدأ لـ TFHE

القيود والمشاكل

  • Ciphertext size. يمكن أن يصل حجم البت المشفر إلى عشرات الكيلوبايت. يمكن أن يصل حجم مجموعة البيانات الصغيرة المشفرة إلى غيغابايت.
  • Lميزانية محدودة للضوضاء. تضيف كل عملية ضوضاء؛ في النهاية فشل فك التشفير. يعمل Bootstrapping على تحديث الضوضاء ولكنه مكلف.
  • عمق الوظيفة. تتطلب الحسابات العميقة العديد من المستويات المضاعفة، وزيادة أحجام المعلمات.
  • ليست مناسبة لكل شيء. تعتبر العمليات مثل التفرع أو الفرز غير ملائمة في FHE لأنه لا توجد طريقة فعالة للنظر إلى الوسيط value.
  • Key Management. مفتاح فك التشفير حساس للغاية - ففقدانه يعني فقدان الوصول إلى بياناتك؛ تسريبها يتعارض مع بيت القصيد.

HE vs MPC vs ZK

ثلاث تقنيات للحفاظ على الخصوصية ذات صلة غالبًا ما يتم الخلط بينها:

  • Homomorphic Encryption - طرف واحد يقوم بالتشفير، وطرف آخر يحسب على النصوص المشفرة، الطرف الأول decrypts.
  • Secure Multi-Party Computation (MPC) - تقوم أطراف متعددة بحساب الوظيفة بشكل مشترك دون الكشف عن مدخلاتها. بروتوكولات مختلفة ومقايضات مختلفة.
  • Zero-Knowledge Proofs (ZK) - إثبات صحة العبارة دون الكشف عن معلومات إضافية. هدف مختلف: إثبات، وليس حساب.

الثلاثة متكاملة؛ غالبًا ما تجمعها أنظمة الخصوصية الحديثة.

يستمر أداء

FHE في التحسن. يعمل تسريع الأجهزة (دعم CUDA من NVIDIA لـ HE، وFPGAs وASICs المخصصة من Optalysys وغيرها، وأوليات Intel HE) على تقليل الفجوة مع حساب النص العادي بترتيب آخر من حيث الحجم. من المرجح أن تشهد السنوات الخمس إلى العشر القادمة انتقال FHE من "الأبحاث المثيرة للاهتمام" إلى "الاتجاه السائد لحالات استخدام الخصوصية عالية القيمة". لن يحل محل التشفير التقليدي — فهو يكمله.

الأسئلة المتداولة

هل التشفير المتماثل آمن؟
تعتمد المخططات الناضجة (CKKS، وBGV، وBFV، وTFHE) على مشكلة التعلم مع الأخطاء، والتي تعتبر آمنة حتى ضد أجهزة الكمبيوتر الكمومية. تظل أخطاء التنفيذ وهجمات القنوات الجانبية مصدر قلق؛ نظرية التشفير سليمة.
هل يمكنني تخزين بياناتي مع HE في السحابة؟
في حالات محددة، نعم - يقدم بعض موفري الخدمات السحابية HE كخدمة للتحليلات المتعلقة بالبيانات المشفرة. بالنسبة للتخزين العام، يعد HE مبالغة مقارنة بالتشفير أثناء الراحة بالإضافة إلى التشفير من جانب العميل. إنه مهم عندما تحتاج السحابة إلى حساب البيانات دون فك تشفيرها.
ما الفرق بين PHE وFHE؟
تدعم PHE نوع واحد من العمليات (الجمع أو الضرب)؛ يدعم FHE الحسابات التعسفية بما في ذلك كليهما. PHE سريع وعملي. FHE بطيء ولكنه عام تمامًا. استخدم PHE عندما تكون العمليات التي تحتاجها مناسبة؛ استخدم FHE عندما تحتاج إلى المرونة.
هل يستخدم في المنتجات الحقيقية؟
على نحو متزايد. اقتراحات Microsoft Edge الخاصة، والتعلم الموحد من Apple، وبعض تحليلات المخاطر المصرفية، وعدد متزايد من تطبيقات التعلم الآلي للرعاية الصحية تستخدم HE. ويحدث اعتماد أوسع مع تحسن الأداء ونضوج الأدوات.
هل ستكسر أجهزة الكمبيوتر الكمومية HE؟
يُعتقد أن مخططات HE الحديثة القائمة على الشبكة (CKKS، BGV، BFV، TFHE) مقاومة للكم. ويعتمد أمانها على نفس المشكلات الصعبة المستخدمة في التشفير ما بعد الكمي. يعتبر مجتمع التشفير HE أحد اتجاهات التشفير ما بعد الآمن الكمي.
شرح التشفير المتماثل: الحوسبة على البيانات التي لا يمكنك قراءتها