Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
private-membership — 加密协议库,支持隐私保护的集合成员查询,服务器既不会得知客户端的标识符,也不会得知查询结果,采用同态加密与可交换密码实现。 | Kitploit
工具/GitHubGitHub/google/private-membership
加密/解密工具密码学隐私保护
GitHubgoogle/private-membership

private-membership

加密协议库,支持隐私保护的集合成员查询,服务器既不会得知客户端的标识符,也不会得知查询结果,采用同态加密与可交换密码实现。

查看仓库
67171个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

私有集合成员关系 (PSM)

问题陈述

私有集合成员关系 (PSM) 是一种密码学协议,允许客户端以隐私保护的方式私密地查询其标识符是否属于服务器持有的标识符集合。

从高层次来看,PSM 提供以下隐私保证:

  • 服务器不会以明文形式获知客户端查询的标识符。
  • 服务器不会获知客户端的查询结果是成员关系还是非成员关系判定。
  • 查询客户端除了知道自己的标识符是否为服务器持有集合中的成员之外,不会获知服务器存储的标识符集合的任何其他信息。换句话说,查询客户端获知的信息量极少,仅限成员查询的答案。

依赖项

Private Set Membership 库需要以下依赖项:

  • Abseil 用于 C++ 公共库。

  • Bazel 用于构建库。

  • BoringSSL 用于底层密码学操作。

  • GFlag 用于标志。使用 glog 时需要。

  • GLog 用于日志记录。

  • Google Test 用于库的单元测试。

  • Protocol Buffers 用于数据序列化。

  • Private Join and Compute 用于密码学操作和交换密码。

  • Shell 用于全同态加密。

  • Tink 用于密码学 PRNG。

如何构建

要运行此库,你需要安装 Bazel(如果尚未安装)。 请根据 Bazel 网站上的说明为你的平台进行安装。确保你安装的版本是 9.1.0 或更高。

你还需要安装 Git(如果尚未安装)。 请根据 Git 网站上的说明为你的平台进行安装。

安装好 Bazel 和 Git 后,打开终端并将仓库克隆到本地文件夹。

进入你刚刚创建的 private-membership 文件夹,并使用 Bazel 构建库及其依赖项。注意,必须使用 C++17 构建此库。

root@kitploit:~
cd private-membership
bazel build ... --cxxopt='-std=c++17'

你也可以使用以下命令(递归地)运行所有测试:

root@kitploit:~
bazel test ... --cxxopt='-std=c++17'

使用 Bazelisk 构建

或者,你可以使用 Bazelisk 来构建和测试此仓库,它会自动下载并使用经过验证的 Bazel 版本(此代码已在该版本下测试过)。

root@kitploit:~
cd private-membership
bazelisk build ... --cxxopt='-std=c++17'
bazelisk test ... --cxxopt='-std=c++17'

免责声明

这不是谷歌官方支持的产品。本软件按“原样”提供,不附带任何明示或暗示的保证或担保。

下载工具