allreduce 实现分为两种不同类型的进程:客户端和守护进程。客户端负责分配填充数据的向量,并通过向其守护进程发送带有向量的请求来启动 allreduce 操作。守护进程负责从所有连接的客户端和守护进程收集向量,在所有接收到的缓冲区上应用选定的运算符,然后将简化的结果向量分散回客户端。
后量子密码体制通常是量子安全方案或整数分解问题。虽然目前还不清楚大规模量子计算何时可行,但预测量子计算并设计新的能够抵御量子攻击的公钥密码体制还是很重要的。因此,目前正在进行大量研究以开发新的后量子安全方案,美国国家标准与技术研究所 ( https://www.nist.gov/ ) 已经启动了后量子密码标准化进程。正因为如此,人们对通过将 Fiat-Shamir 变换 [9] 应用于零知识识别方案来构建签名方案重新产生了兴趣。特别是,我们对后量子密码体制感兴趣,它的安全性依赖于某些 NP-Hard 问题的量子难度 [2]。其中一个问题是置换核问题:即找到已知向量的置换,使得结果向量位于给定矩阵的核中。这是一个经典的 NP-Hard 组合问题,只需要一些简单的操作,例如基本线性代数和对向量元素进行排列。很长一段时间以来,没有发现针对 PKP 的新攻击,这使得我们可以自信地估计该问题的具体难度。