
HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations.
HElib هي مكتبة برمجية مفتوحة المصدر (بموجب رخصة Apache v2.0) تنفّذ التشفير المتجانس (HE). المخططات المتاحة حالياً هي تطبيقات مخطط Brakerski-Gentry-Vaikuntanathan (BGV) مع التمهيد ومخطط الأعداد التقريبية لـ Cheon-Kim-Kim-Song (CKKS)، إلى جانب العديد من التحسينات لجعل التقييم المتجانس أسرع، مع التركيز بشكل أساسي على الاستخدام الفعّال لتقنيات حزم النصوص المشفّرة الخاصة بـ Smart-Vercauteren وتحسينات Gentry-Halevi-Smart. انظر هذا التقرير للحصول على وصف لبعض الخوارزميات المستخدمة في هذه المكتبة.
يرجى الرجوع إلى CKKS-security.md لأحدث نقاش حول أمان تنفيذ مخطط CKKS في HElib.
منذ منتصف عام 2018، خضعت HElib لعملية إعادة هيكلة واسعة النطاق لتحقيق الموثوقية، المتانة وقابلية الخدمة، الأداء، والأهم من ذلك سهولة الاستخدام للباحثين والمطورين العاملين على التشفير المتجانس (HE) واستخداماته.
HElib تدعم "لغة تجميع للتشفير المتجانس"، وتوفّر إجراءات منخفضة المستوى (set، add، multiply، shift، إلخ)، وإدارة تلقائية متطورة للضوضاء، وتمهيد BGV محسّنًا، وتعدد مؤشرات الترابط، ودعمًا أيضًا لكائنات Ptxt (نص صريح) التي تحاكي وظيفة كائنات Ctxt (نص مشفّر). يحتوي التقرير تصميم وتنفيذ HElib على تفاصيل إضافية. كما انظر CHANGES.md لمزيد من المعلومات حول إصدارات HElib.
يمكن العثور على تعليمات التثبيت الكاملة وقائمة التبعيات المطلوبة في INSTALL.md.
للحصول على إرشادات حول البدء في البرمجة باستخدام HElib، ألقِ نظرة على
البرامج النموذجية ودروس CKKS التعليمية الموجودة في دليل examples. انظر
examples/README.md.
إذا كنت مهتمًا بالمساهمة في HElib، فيرجى قراءة إرشادات المساهمة.
HElib مكتوبة بلغة C++17 وتستخدم مكتبة NTL الرياضية.
HElib موزّعة بموجب شروط رخصة Apache v2.0.