
Membresía del conjunto privado (PSM) es un protocolo de cifrado que permite al cliente consultar de forma privada si el identificador del cliente es miembro de un conjunto de identificadores que posee el servidor de forma protegida por la privacidad.
A un alto nivel, PSM ofrece las siguientes garantías de privacidad:
- El servidor no aprenderá el identificador consultado por el cliente en el texto sin formato.
- El servidor no sabrá si la consulta del cliente resultó en una determinación de membresía o no.
- Excepto para consultar si el identificador del cliente es un miembro del conjunto de identificadores que tiene el servidor, el cliente que realiza la consulta no conoce ninguna información sobre el conjunto de identificadores almacenado por el servidor. En otras palabras, el cliente de consulta solo aprende la información mínima, que es solo la respuesta a la consulta del miembro.
La biblioteca de membresía de conjuntos privados requiere las siguientes dependencias:
- Rappel para biblioteca pública C ++.
- Bazel se utiliza para construir la biblioteca.
- BoringSSL se utiliza para operaciones de cifrado de bajo nivel.
- GFlag es una señal. Necesito usar glog.
- GLog para registro.
- Prueba de Google para pruebas unitarias de la biblioteca.
- Búfer de protocolo utilizado para la serialización de datos.
- Shell utilizado para cifrado totalmente homomórfico.
- Tink cifra el PRNG.
Para ejecutar esta biblioteca, debe instalar Bazel, si aún no tiene una. [Follow the instructions for your platform on the Bazel website. Make sure you are installing version 4.2.1 or above.] (https://docs.bazel.build/versions/master/install.htmAumento)
Si aún no ha instalado Git, aún debe instalarlo. Siga las instrucciones para su plataforma en el sitio web de Git.
Después de instalar Bazel y Git, abra una terminal y clone el repositorio en una carpeta local.
Navegar a private-membership
La carpeta que acaba de crear y luego use Bazel para construir las bibliotecas y dependencias. Tenga en cuenta que la biblioteca debe construirse con C ++ 17.
cd miembro privado
compilación de bazel …– cxxopt = ‘- std = c ++ 17’
También puede utilizar el siguiente comando (de forma recursiva) para ejecutar todas las pruebas:
Prueba de Bazel …– cxxopt = ‘- std = c ++ 17’