
Kryptografische Protokollbibliothek, die datenschutzfreundliche Mengenzugehörigkeitsabfragen ermöglicht, bei denen der Server weder die Kennung des Clients noch das Abfrageergebnis erfährt, unter Verwendung homomorpher Verschlüsselung und kommutativer Chiffren.
Private Set Membership (PSM) ist ein kryptographisches Protokoll, das es Clients ermöglicht, privat abzufragen, ob die Kennung des Clients Mitglied eines von einem Server gehaltenen Satzes von Kennungen ist, und zwar auf datenschutzfreundliche Weise.
Auf hoher Ebene bietet PSM die folgenden Datenschutzgarantien:
Die Private Set Membership-Bibliothek benötigt die folgenden Abhängigkeiten:
Abseil für allgemeine C++-Bibliotheken.
Bazel zum Erstellen der Bibliothek.
BoringSSL für zugrundeliegende kryptographische Operationen.
GFlag für Flags. Wird für glog benötigt.
GLog für Protokollierung.
Google Test für Unit-Tests der Bibliothek.
Protocol Buffers für Datenserialisierung.
Private Join and Compute für kryptographische Operationen und kommutative Chiffren.
Shell für vollständig homomorphe Verschlüsselung.
Tink für kryptographische PRNGs.
Um diese Bibliothek auszuführen, müssen Sie Bazel installieren, falls Sie es nicht bereits installiert haben. Folgen Sie den Anweisungen für Ihre Plattform auf der Bazel-Website. Stellen Sie sicher, dass Sie Version 9.1.0 oder höher installieren.
Sie müssen auch Git installieren, falls Sie es nicht bereits haben. Folgen Sie den Anweisungen für Ihre Plattform auf der Git-Website.
Nachdem Sie Bazel und Git installiert haben, öffnen Sie ein Terminal und klonen Sie das Repository in einen lokalen Ordner.
Navigieren Sie in den soeben erstellten Ordner private-membership und erstellen Sie die
Bibliothek und die Abhängigkeiten mit Bazel. Beachten Sie, dass die Bibliothek mit C++17 erstellt werden muss.
cd private-membership
bazel build ... --cxxopt='-std=c++17'
Sie können auch alle Tests (rekursiv) mit dem folgenden Befehl ausführen:
bazel test ... --cxxopt='-std=c++17'
Alternativ können Sie dieses Repository mit Bazelisk erstellen und testen, um automatisch die Version von Bazel herunterzuladen und zu verwenden, mit der dieser Code getestet und verifiziert wurde.
cd private-membership
bazelisk build ... --cxxopt='-std=c++17'
bazelisk test ... --cxxopt='-std=c++17'
Dies ist kein offiziell unterstütztes Google-Produkt. Die Software wird wie besehen ohne jegliche Garantien oder Gewährleistungen, weder ausdrücklich noch stillschweigend, bereitgestellt.