Universal Thresholdizer:将多种密码学原语门限化

参考文献:

  1. LS90\] Lapidot D, Shamir A. Publicly verifiable non-interactive zero-knowledge proofs\[C\]//Advances in Cryptology-CRYPTO'90: Proceedings 10. Springer Berlin Heidelberg, 1991: 353-365.

  2. AJL+12\] Asharov G, Jain A, López-Alt A, et al. Multiparty computation with low communication, computation and interaction via threshold FHE\[C\]//Advances in Cryptology--EUROCRYPT 2012: 31st Annual International Conference on the Theory and Applications of Cryptographic Techniques, Cambridge, UK, April 15-19, 2012. Proceedings 31. Springer Berlin Heidelberg, 2012: 483-501.

  3. CM15\] Clear M, McGoldrick C. Multi-identity and multi-key leveled FHE from learning with errors\[C\]//Advances in Cryptology--CRYPTO 2015: 35th Annual Cryptology Conference, Santa Barbara, CA, USA, August 16-20, 2015, Proceedings, Part II 35. Springer Berlin Heidelberg, 2015: 630-656.

  4. GHK+17\] Goyal R, Hohenberger S, Koppula V, et al. A generic approach to constructing and proving verifiable random functions\[C\]//Theory of Cryptography: 15th International Conference, TCC 2017, Baltimore, MD, USA, November 12-15, 2017, Proceedings, Part II 15. Springer International Publishing, 2017: 537-566.

  5. PZK via OWF
  6. LSSS & MSP
  7. Threshold FHE
  8. Multi-key FHE

文章目录

  • [Centralized ThFHE](#Centralized ThFHE)
    • Definition
    • [ThFHE from Special LSSS](#ThFHE from Special LSSS)
    • [ThFHE from Shamir SSS](#ThFHE from Shamir SSS)
  • [Decentralized ThFHE](#Decentralized ThFHE)
  • [Universal Thresholdizer](#Universal Thresholdizer)
    • Definition
    • [UT from PZK](#UT from PZK)
    • [UT from HS](#UT from HS)
  • [Threshold Cryptosystems from UT](#Threshold Cryptosystems from UT)
    • [Function Secret Sharing](#Function Secret Sharing)
    • [Threshold Signatures](#Threshold Signatures)
    • Others

BGG+18\] 基于 **门限同态加密** ,给出了构造 **各种门限密码系统** 的一种通用方法。 ## Centralized ThFHE ### Definition \[BGG+18\] 首先给出了 threshold fully homomorphic encryption (**ThFHE** ) for any class of access structures 的接口以及相关属性的定义。这个定义是中心化的,它有一个**可信的 Setup 阶段**,用于生成公私钥对以及分发私钥。 接口为: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/1cccf1c0beb799724d888b94d2e910d7.webp) 我们要求 ThFHE 具有:紧凑性、计算正确性、语义安全性(IND-CPA)、模拟安全性(更强) ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/ad8fe90cf213121fcadd82c53522b55e.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/f8390d6bee1d1c58394227af1156dc55.webp) 接下来,\[BGG+18\] 使用了 \[AJL+12\] 的噪声洪泛策略:为了防止 partial decryption 泄露参与者的 secret share 信息,他们根据 **Smudging Lemma** ,对部分解密的结果(本来噪声的界 B B B)添加上超多项式大小的噪声(污染噪声的界 B s m B_{sm} Bsm 满足 B / B s m = n e g l ( λ ) B/B_{sm}=negl(\\lambda) B/Bsm=negl(λ)),这使得包含私钥信息与否的两个分布的统计距离是可忽略的,从而证明模拟安全性。 \[AJL+12\] 使用的是形如 s = ∑ i = 1 N s i s = \\sum_{i=1}\^N s_i s=∑i=1Nsi 的 additive SSS。根据 FHE 的**双线性(内积)解密** 特点,它在重构时的噪声累积是线性的,但是它只能处理 ( N − 1 ) (N-1) (N−1)-out-of- N N N 访问结构。 \[BGG+18\] 考虑了任意的门限访问结构(threshold access structures , **TAS**) ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/8b8193f2a5fc41d2e1ccd71d5e3e2dac.webp) 为了构造 ThFHE,首先需要一个底层的 FHE,要求它具有:紧凑性、正确性、安全性。\[BGG+18\] 特别地要求它的解密函数可以明确地分为**线性部分** 以及**非线性部分**, ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/8081f49cb1b740e1036af663482e3a6e.webp) ### ThFHE from Special LSSS 为了减小 LSSS 重建时的噪声累加,\[BGG+18\] 提出了一类特殊的访问结构,称之为 **{0,1}-LSSS 访问结构族**,它可以被一些重构系数要么是零要么是壹的 LSSS 所支持。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/7301c61d7e40494c4f4bf71532adab37.webp) 这个 {0,1}-LSSS 访问结构族包含了所有**可以由 monotone Boolean formulas(MBFs)计算的** 那些访问结构(只含 AND 以及 OR 的布尔函数,不含 NOT)。特别地,TAS 也包含在内。也就是说 Special LSSS 依旧足够的富有, TAS ⊆ MBF ⊆ { 0 , 1 } -LSSS \\text{TAS} \\subseteq \\text{MBF} \\subseteq \\{0,1\\}\\text{-LSSS} TAS⊆MBF⊆{0,1}-LSSS LSSS 等价于 MSP,分发的 SS 都是由 secret 以及 random 组成的向量和某个 LSSS 矩阵相乘来获得的。各个参与者最终会拿到和 LSSS 矩阵的某些行相关的一个向量。\[BGG+18\] 将那些被 MSP 接受的那些行的 indices 称为 **valid share set** ,将它们对应的参与者称为 **valid party set** ,可对应地定义两者的 **maximal invalid set** 以及 **minimal valid set**。 基于 Special FHE 以及 Special LSSS,构造 ThFHE 如下: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/4437f25eed8b73940961bbe33a9e5d95.webp) 选择的参数应当满足: B + l ⋅ B s m ≤ q / 4 B+l\\cdot B_{sm} \\le q/4 B+l⋅Bsm≤q/4 以及 B / B s m = n e g l ( λ ) B/B_{sm} = negl(\\lambda) B/Bsm=negl(λ),从而需要设置超多项式大小的洪泛噪声的上界 B s m B_{sm} Bsm 以及超多项式大小的底层 FHE 密文模数 q q q,安全假设是超多项式因子的近似格问题的困难性。可以证明构造出的 ThFHE 满足:紧凑性、计算正确性、语义安全性、模拟安全性。 ### ThFHE from Shamir SSS 使用 LSSS 的一个缺点就是**它的 SS 规模太大了** ,对于 TAS 的描述需要 O ( N 5.2 ) O(N\^{5.2}) O(N5.2) 大小的单调公式。而 Shamir SS 的规模是和 secret 大小相同的。但是如果直接使用 Shamir SSS,它的拉格朗日插值系数需要除法(在 Z q \\mathbb Z_q Zq 上求逆元,范数往往很大),这导致噪声快速累计从而无法正确解密。 \[BGG+18\] 使用了 \[Shoup00\] 的 **clearing out denominators** (清理分母)策略:限制各个 party 的插值点为 x = 1 , 2 , ⋯   , N x=1,2,\\cdots,N x=1,2,⋯,N,特别地 dealer 插值点是 0 0 0,那么授权集 S ⊆ A t ∪ { 0 } S \\subseteq \\mathbb A_t \\cup \\{0\\} S⊆At∪{0} 的 Lagrange coefficients 形如: λ i j S = ∏ k ∈ S \\ { j } ( j − k ) ∏ k ∈ S \\ { j } ( i − k ) ∈ Q \\lambda_{ij}\^S = \\frac{\\prod_{k \\in S\\backslash\\{j\\}}(j-k)}{\\prod_{k \\in S\\backslash\\{j\\}}(i-k)} \\in \\mathbb Q λijS=∏k∈S\\{j}(i−k)∏k∈S\\{j}(j−k)∈Q 它们被用于计算 s j = ∑ i ∈ S λ i j S ⋅ s i s_j = \\sum_{i \\in S} \\lambda_{ij}\^S \\cdot s_i sj=∑i∈SλijS⋅si,其中 i ∈ S i \\in S i∈S 是授权集内的参与者,而 j ∈ { 1 , 2 , ⋯   , N } \\ S j \\in \\{1,2,\\cdots,N\\}\\backslash S j∈{1,2,⋯,N}\\S 是其他参与者。容易看出这些插值系数的分母都整除 Δ = ( N ! ) 2 \\Delta = (N!)\^2 Δ=(N!)2,因此 Δ ⋅ λ i j S ∈ Z \\Delta \\cdot \\lambda_{ij}\^S \\in \\mathbb Z Δ⋅λijS∈Z 是整数,并且上界是 ∣ Δ ⋅ λ i j S ∣ ≤ ( N ! ) 3 \|\\Delta \\cdot \\lambda_{ij}\^S\| \\le (N!)\^3 ∣Δ⋅λijS∣≤(N!)3,它们都是**低范数的整数**。 基于 Special FHE 以及 Shamir SSS,构造 ThFHE 如下: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/4c76bf531c34d808d528fbdaf2b6688d.webp) 选择的参数应当满足: B + ( N ! ) 3 ⋅ N ⋅ B s m ≤ q / 4 B+(N!)\^3\\cdot N\\cdot B_{sm} \\le q/4 B+(N!)3⋅N⋅Bsm≤q/4 以及 B / B s m = n e g l ( λ ) B/B_{sm} = negl(\\lambda) B/Bsm=negl(λ),这也需要超多项式近似因子的困难假设。可以证明构造出的 ThFHE 满足:计算正确性、语义安全性、模拟安全性。但是它**不满足紧凑性** ,因为密文模数的规模和 N N N 有关,比特长度的增长因子是 O ( N log ⁡ N ) O(N \\log N) O(NlogN) ## Decentralized ThFHE 上述的 ThFHE 是中心化的,它在很多场景下有限制。除了**是否存在可信方** 这个问题,还有**参与者动态地加入和退出**的情况,这导致 Setup 的频繁执行。 \[BGG+18\] 定义了一个去中心化的版本,记为 **dThFHE**,它没有 Setup 阶段。为了实现门限,他们在 Enc 算法中让各个参与者独立地生成 FHE 私钥及其 SS,然后再利用 PKE 封装这些 SS 到密文中。接口为: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/2eae183c8176ab499473f55966843e2b.webp) 类似的,定义它的一些属性:计算正确性、语义安全、模拟安全。由于 dThFHE 密文中需要包含给各个参与者的 SS 的 PKE 加密,因此密文规模一定会和 N N N 有关,因此定义了**弱紧凑性**。这些属性的定义我就不抄过来了,太繁琐。 构造如下: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/13015a72cb358778ea93a3f6c41e8c78.webp) 它是一个满足各项属性的 dThFHE 方案。**注意 TFHE.Setup 必须在每次 Enc 时独立地生成**,因为它的私钥已经被分发在了密文中的 PKE 部分,不应该复用。所以,即使是单个参与者生成的不同密文,它们之间也无法相互作用。 不过,如果将底层的 FHE 替换为 \[CM15\] 提出的 **Multi-Key FHE**,那么获得的 MK dThFHE 是可以数据交互的。对于 ThFHE.Setup 生成独立的公私钥,它们的密文总可以先利用 masking system 转换成某组参与者对应的 expanded ciphertext,然后这些扩展的密文互相之间可以运算,最后解密时需要这组参与者中每个人的 FHE 私钥,这被从 PKE 密文中恢复出来。 ## Universal Thresholdizer ### Definition \[BGG+18\] 利用 ThFHE 给出了其他密码学原语的门限版本的通用构造:门限转化器(universal thresholdizer, **UT**) 他们把 Setup 和 Enc 合并(**使用 ThFHE 加密 secret 作为 pp 的一部分** ),把 Eval 和 PartDec 合并(**各个参与者对这个 secret 密文做同一个运算,然后部分解密** ),并添加了 PartVerify 提供鲁棒性。确切地说,UT 提供了这样的一个功能:由 dealer 分发 ThFHE 私钥,同时 dealer 还用 ThFHE 加密某个秘密 x x x 获得 c t ( x ) ct(x) ct(x) 密文;接着对于公开的某个电路 C C C,各个 party 同态计算出 c t ( C ( x ) ) ct(C(x)) ct(C(x)),然后立即部分解密得到 p i p_i pi,它们是计算结果 C ( x ) C(x) C(x) 的一组 SS;最终这些 SS 可以合成为 C ( x ) C(x) C(x) 本身。即 UT 把关于秘密 x x x 的电路 C C C 给 "门限化" 了,**只有满足访问结构的一组参与者同时计算 C ( x ) C(x) C(x) 以获得它的 SS,才能最终获得 C ( x ) C(x) C(x) 结果** ,这里的 x x x 是被 Setup 固定到 pp 里的,而公开的电路 C C C 可以随意变化。 UT 的接口为: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/4f7399094c9937fd8eaa4e461002ca53.webp) 紧凑性、计算正确性、验证正确性: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/c7f7815bffecf78ce85295bb9342e664.webp) 鲁棒性: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/c47e6e5b834933067c6030344f2d427f.webp) 模拟安全性: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/48f7423a085942c867053b86480ff837.webp) ### UT from PZK 带预处理的 ZKP 系统(zero knowledge proof system with pre-processing, **PZK** )是 NIZK 的弱化,它的存在性只需要比 NIZK 所要求的**弱得多的假设**。PZK 只有最后一轮通信需要从 Prover 发往 Verifier,之前的所有通信轮次都可以被双方离线计算。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/966ba620916ac29ce464b31ae90430bc.webp) \[BGG+18\] 利用 ThFHE、PZK 系统(证明执行了正确的计算)、非交互的承诺(绑定 ThFHE 私钥的 SS),给出了 UT 的构造。 * \[LS90\] **在 OWF 存在的假设下**,给出了 NIZK with CRS 的构造,我们可以根据 LWE 问题来构造 OWF(虽然效率会很低) * \[GHK+17\] **基于(超多项式近似因子的) LWE 假设**,构造了 non-interactive commitments,因此并不引入新的假设。 构造如下: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/db5e735403ed286db5f41ee23c3ef4a1.webp) 可以证明它满足 UT 所要求的各种属性。 ### UT from HS 同态签名(homomorphic signature, **HS** )允许在签名上执行同态运算,可用于证明 y y y(生成 y y y 的签名)确实是 x x x(已经被签名)在电路 C C C(公开的)上正确计算的。它的接口是: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/f8ec0184a2c3951cb0659cde076dbb27.webp) HS 的功能是: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/4a5edb1325c07261ab4960107d95245f.webp) **假设 SIS 困难** ,\[GVW15\] 给出了 **(Leveled) FHS** 的构造。因此利用 HS 提供 UT 的鲁棒性,也只需要格上困难问题,并没有引入新的假设。这篇文章我还没看,具体的构造,略。 HS 比 NIZK 更加紧凑,并且可以直接基于 LWE 构造出来,因此将它应用到 UT 的构造中替换 NIZK 以提供鲁棒性,在性能上会更好一些。容易把上述的 UT from PZK 修改为 UT from HS,略。 ## Threshold Cryptosystems from UT \[BGG+18\] 利用 Universal Thresholdizer,将其他的多种密码原语转换成对应的门限版本。 ### Function Secret Sharing \[BGI15\] 提出了函数秘密分享(Function Secret Sharing, **FSS**),类似于 SSS,但是分发的不再是消息,而是去分发函数。接口是: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/5cc8e6cc6cea6223bd1817de56076526.webp) 紧凑性、计算正确性、安全性: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/547ebed91b2afc232075e28b0cd0b891.webp) 利用 UT 以及 PRF,可以给出 FSS 的构造。简记 U ( f , x ) \\mathcal U(f,x) U(f,x) 是计算 f ( x ) f(x) f(x) 的通用电路(universal circuit),简记 U x \\mathcal U_x Ux 是硬编码 x x x 的电路。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/15d2aa4b8c89a15bb71ddb28bb04189b.webp) ### Threshold Signatures 门限签名是把 signing key 分发给多个签名者,只有满足某访问结构的签名者小组可以共同生成一个合法的签名。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/cacb2970c8c5871d9bef46fd033faa43.webp) 紧凑性、计算正确性、部分验签正确性: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/31cf4f45445b307261d9f18cb5c5ed2a.webp) (弱)不可伪造性: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/dde52de575207647858208e789c9d661.webp) 鲁棒性、匿名性: ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/5bdce8b0e79bf18577f9ae3ddfd281af.webp) 使用 UT 将底层 Sign 门限化, ![在这里插入图片描述](https://file.jishuzhan.net/article/1786607014479138817/a9af8b3a8f88a4b7ae05406d7ccba6d6.webp) ### Others \[BGG+18\] 还利用 UT 给出了:**CCA Threshold PKE** ,**Compact ThFHE** , **Threshold Distributed PRFs** 基本的思路都是:对于携带秘密的原始电路 C ( k , s ) C(k,s) C(k,s),**将它的秘密 k k k 使用 UT.Setup 分发,然后使用 UT.Eval 对硬编码了字符串 s s s 的电路关于这些秘密的 SS 做运算**,生成了运算结果的 SS,最后再用 UT.Combine 将它们组合成最终的结果。

相关推荐
YouQian77221 分钟前
2025春训第十九场
算法
CodeJourney.21 分钟前
基于MATLAB的生物量数据拟合模型研究
人工智能·爬虫·算法·matlab·信息可视化
Epiphany.55624 分钟前
素数筛(欧拉筛算法)
c++·算法·图论
冼紫菜31 分钟前
[特殊字符]CentOS 7.6 安装 JDK 11(适配国内服务器环境)
java·linux·服务器·后端·centos
爱吃涮毛肚的肥肥(暂时吃不了版)38 分钟前
项目班——0510——JSON网络封装
c++·算法·json
liang_20261 小时前
【HT周赛】T3.二维平面 题解(分块:矩形chkmax,求矩形和)
数据结构·笔记·学习·算法·平面·总结
緈福的街口1 小时前
【leetcode】2900. 最长相邻不相等子序列 I
算法·leetcode·职场和发展
易只轻松熊1 小时前
C++(20): 文件输入输出库 —— <fstream>
开发语言·c++·算法
远瞻。1 小时前
【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理
论文阅读·算法
进击的小白菜1 小时前
LeetCode 153. 寻找旋转排序数组中的最小值:二分查找法详解及高频疑问解析
数据结构·算法·leetcode