
مكتبة بروتوكول تشفير تتيح استعلامات عضوية المجموعة مع الحفاظ على الخصوصية، حيث لا يتعلم الخادم معرف العميل ولا نتيجة الاستعلام، باستخدام التشفير المتماثل والشفرات التبادلية.
العضوية الخاصة في المجموعة (PSM) هي بروتوكول تشفير يسمح للعملاء بالاستعلام بشكل خاص عما إذا كان معرف العميل عضوًا في مجموعة من المعرفات التي يحتفظ بها الخادم بطريقة تحافظ على الخصوصية.
على مستوى عالٍ، يوفر PSM ضمانات الخصوصية التالية:
تتطلب مكتبة العضوية الخاصة في المجموعة التبعيات التالية:
Abseil لمكتبات C++ العامة.
Bazel لبناء المكتبة.
BoringSSL للعمليات التشفيرية الأساسية.
GFlag للعلامات. مطلوب لاستخدام glog.
GLog للتسجيل.
Google Test لاختبار الوحدة للمكتبة.
Protocol Buffers لتسلسل البيانات.
Private Join and Compute للعمليات التشفيرية والأصفار التبادلية.
Shell للتشفير المتماثل بالكامل.
Tink لمولدات الأعداد العشوائية التشفيرية.
لتشغيل هذه المكتبة، تحتاج إلى تثبيت Bazel، إذا لم يكن مثبتًا لديك بالفعل. اتبع التعليمات الخاصة بمنصتك على موقع Bazel على الويب. تأكد من تثبيت الإصدار 9.1.0 أو أعلى.
تحتاج أيضًا إلى تثبيت Git، إذا لم يكن مثبتًا لديك بالفعل. اتبع التعليمات الخاصة بمنصتك على موقع Git على الويب.
بعد تثبيت Bazel وGit، افتح Terminal واستنسخ المستودع إلى مجلد محلي.
انتقل إلى مجلد private-membership الذي أنشأته للتو، وقم ببناء المكتبة والتبعيات باستخدام Bazel. لاحظ، يجب بناء المكتبة باستخدام C++17.
cd private-membership
bazel build ... --cxxopt='-std=c++17'
يمكنك أيضًا تشغيل جميع الاختبارات (بشكل متكرر) باستخدام الأمر التالي:
bazel test ... --cxxopt='-std=c++17'
بدلاً من ذلك، يمكنك بناء واختبار هذا المستودع باستخدام Bazelisk لتنزيل واستخدام إصدار Bazel الذي تم اختبار هذا الكود والتحقق منه تلقائيًا.
cd private-membership
bazelisk build ... --cxxopt='-std=c++17'
bazelisk test ... --cxxopt='-std=c++17'
هذا ليس منتجًا رسميًا من Google. يتم توفير البرنامج كما هو دون أي ضمانات أو تعهدات، صريحة أو ضمنية.