
Библиотека криптографических протоколов, обеспечивающая запросы на проверку принадлежности к множеству с сохранением конфиденциальности, при которых сервер не узнает ни идентификатор клиента, ни результат запроса, использующая гомоморфное шифрование и коммутативные шифры.
Приватное членство в наборе (PSM) — это криптографический протокол, который позволяет клиентам конфиденциально проверять, является ли идентификатор клиента членом набора идентификаторов, хранящегося на сервере, с сохранением приватности.
На высоком уровне PSM предоставляет следующие гарантии приватности:
Библиотека Private Set Membership требует следующие зависимости:
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 откройте терминал и клонируйте репозиторий в локальную папку.
Перейдите в папку 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. Программное обеспечение предоставляется «как есть» без каких-либо гарантий или обязательств, явных или подразумеваемых.