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. [Shoup00] Shoup V. Practical threshold signatures[C]//Advances in Cryptology—EUROCRYPT 2000: International Conference on the Theory and Application of Cryptographic Techniques Bruges, Belgium, May 14–18, 2000 Proceedings 19. Springer Berlin Heidelberg, 2000: 207-220.
  3. [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.
  4. [BGI15] Boyle E, Gilboa N, Ishai Y. Function secret sharing[C]//Annual international conference on the theory and applications of cryptographic techniques. Berlin, Heidelberg: Springer Berlin Heidelberg, 2015: 337-367.
  5. [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.
  6. [GVW15] Gorbunov S, Vaikuntanathan V, Wichs D. Leveled fully homomorphic signatures from standard lattices[C]//Proceedings of the forty-seventh annual ACM symposium on Theory of computing. 2015: 469-477.
  7. [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.
  8. [BGG+18] Boneh D, Gennaro R, Goldfeder S, et al. Threshold cryptosystems from threshold fully homomorphic encryption[C]//Advances in Cryptology–CRYPTO 2018: 38th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 19–23, 2018, Proceedings, Part I 38. Springer International Publishing, 2018: 565-596.
  9. PZK via OWF
  10. LSSS & MSP
  11. Threshold FHE
  12. Multi-key FHE

文章目录

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

[BGG+18] 基于 门限同态加密,给出了构造 各种门限密码系统的一种通用方法。

Centralized ThFHE

Definition

[BGG+18] 首先给出了 threshold fully homomorphic encryption (ThFHE) for any class of access structures 的接口以及相关属性的定义。这个定义是中心化的,它有一个可信的 Setup 阶段,用于生成公私钥对以及分发私钥。

接口为:

在这里插入图片描述

我们要求 ThFHE 具有:紧凑性、计算正确性、语义安全性(IND-CPA)、模拟安全性(更强)

在这里插入图片描述

在这里插入图片描述

接下来,[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) (N1)-out-of- N N N 访问结构。

[BGG+18] 考虑了任意的门限访问结构(threshold access structures , TAS

在这里插入图片描述

为了构造 ThFHE,首先需要一个底层的 FHE,要求它具有:紧凑性、正确性、安全性。[BGG+18] 特别地要求它的解密函数可以明确地分为线性部分以及非线性部分

在这里插入图片描述

ThFHE from Special LSSS

为了减小 LSSS 重建时的噪声累加,[BGG+18] 提出了一类特殊的访问结构,称之为 {0,1}-LSSS 访问结构族,它可以被一些重构系数要么是零要么是壹的 LSSS 所支持。

在这里插入图片描述

这个 {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} TASMBF{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 如下:

在这里插入图片描述

选择的参数应当满足: B + l ⋅ B s m ≤ q / 4 B+l\cdot B_{sm} \le q/4 B+lBsmq/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\} SAt{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=kS\{j}(ik)kS\{j}(jk)Q
它们被用于计算 s j = ∑ i ∈ S λ i j S ⋅ s i s_j = \sum_{i \in S} \lambda_{ij}^S \cdot s_i sj=iSλijSsi,其中 i ∈ S i \in S iS 是授权集内的参与者,而 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 ΔλijSZ 是整数,并且上界是 ∣ Δ ⋅ λ i j S ∣ ≤ ( N ! ) 3 |\Delta \cdot \lambda_{ij}^S| \le (N!)^3 ∣ΔλijS(N!)3,它们都是低范数的整数

基于 Special FHE 以及 Shamir SSS,构造 ThFHE 如下:

在这里插入图片描述

选择的参数应当满足: B + ( N ! ) 3 ⋅ N ⋅ B s m ≤ q / 4 B+(N!)^3\cdot N\cdot B_{sm} \le q/4 B+(N!)3NBsmq/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 到密文中。接口为:

在这里插入图片描述

类似的,定义它的一些属性:计算正确性、语义安全、模拟安全。由于 dThFHE 密文中需要包含给各个参与者的 SS 的 PKE 加密,因此密文规模一定会和 N N N 有关,因此定义了弱紧凑性。这些属性的定义我就不抄过来了,太繁琐。

构造如下:

在这里插入图片描述

它是一个满足各项属性的 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 的接口为:

在这里插入图片描述

紧凑性、计算正确性、验证正确性:

在这里插入图片描述

鲁棒性:

在这里插入图片描述

模拟安全性:

在这里插入图片描述

UT from PZK

带预处理的 ZKP 系统(zero knowledge proof system with pre-processing, PZK)是 NIZK 的弱化,它的存在性只需要比 NIZK 所要求的弱得多的假设。PZK 只有最后一轮通信需要从 Prover 发往 Verifier,之前的所有通信轮次都可以被双方离线计算。

在这里插入图片描述

[BGG+18] 利用 ThFHE、PZK 系统(证明执行了正确的计算)、非交互的承诺(绑定 ThFHE 私钥的 SS),给出了 UT 的构造。

  • [LS90] 在 OWF 存在的假设下,给出了 NIZK with CRS 的构造,我们可以根据 LWE 问题来构造 OWF(虽然效率会很低)
  • [GHK+17] 基于(超多项式近似因子的) LWE 假设,构造了 non-interactive commitments,因此并不引入新的假设。

构造如下:

在这里插入图片描述

可以证明它满足 UT 所要求的各种属性。

UT from HS

同态签名(homomorphic signature, HS)允许在签名上执行同态运算,可用于证明 y y y(生成 y y y 的签名)确实是 x x x(已经被签名)在电路 C C C(公开的)上正确计算的。它的接口是:

在这里插入图片描述

HS 的功能是:

在这里插入图片描述

假设 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,但是分发的不再是消息,而是去分发函数。接口是:

在这里插入图片描述

紧凑性、计算正确性、安全性:

在这里插入图片描述

利用 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 的电路。

在这里插入图片描述

Threshold Signatures

门限签名是把 signing key 分发给多个签名者,只有满足某访问结构的签名者小组可以共同生成一个合法的签名。

在这里插入图片描述

紧凑性、计算正确性、部分验签正确性:

在这里插入图片描述

(弱)不可伪造性:

在这里插入图片描述

鲁棒性、匿名性:

在这里插入图片描述

使用 UT 将底层 Sign 门限化,

在这里插入图片描述

Others

[BGG+18] 还利用 UT 给出了:CCA Threshold PKECompact ThFHEThreshold 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 将它们组合成最终的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/592106.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于MS-DOS时代的回忆

目录 一、MS-DOS是什么? 二、MS-DOS的主要功能有哪些? 三、MS-DOS的怎么运行的? 四、微软开源MS-DOS源代码 五、高手与漂亮女同学 一、MS-DOS是什么? MS-DOS(Microsoft Disk Operating System)是微软公…

多线程与信号量简介

信号量与 PV 操作 计算机中信号量的本质是整数,数值表示可用的资源数量 P 操作 (Passeren > 通过, 原子操作) 若信号量 0,当前任务阻塞 (进入信号量等待队列)若信号量 > 0,则:将信号量数值减一,当前任务继续执…

USP技术提升大语言模型的零样本学习能力

大语言模型(LLMs)在零样本和少样本学习能力上取得了显著进展,这通常通过上下文学习(in-context learning, ICL)和提示(prompting)来实现。然而,零样本性能通常较弱,因为缺…

KMP算法--C语言实现

#include <stdio.h> #include <assert.h> #include <string.h> #include <stdlib.h>void GetNext(char* sub, int next[]) {int lenSub strlen(sub);next[0] -1; // 初始第一个为 -1 第二个为 0next[1] 0;int i 2;int k 0;while (i < lenSub){…

探究Android的多分辨率支持以及各种类型图标尺寸大小

术语和概念 屏幕尺寸 屏幕的物理尺寸&#xff0c;以屏幕的对角线长度作为依据&#xff08;比如 2.8寸&#xff0c; 3.5寸&#xff09;。 简而言之&#xff0c; Android把所有的屏幕尺寸简化为三大类&#xff1a;大&#xff0c;正常&#xff0c;和小。 程序可以针对这三种尺寸…

使用UmcFramework和unimrcpclient.xml连接多个SIP设置的配置指南及C代码示例

使用UmcFramework和unimrcpclient.xml连接多个SIP设置的配置指南及C代码示例 引言1. UniMRCP和UmcFramework简介2. 准备工作3. unimrcpclient.xml配置文件3.1 定义SIP设置3.2 定义MRCP会话配置文件 4. C代码示例5. 测试和验证6. 故障排查7. 结论8. 参考文献 引言 在多媒体通信…

Vue单页面应用和多页面应用的区别

概念&#xff1a; SPA单页面应用&#xff08;SinglePage Web Application&#xff09;&#xff0c;指只有一个主页面的应用&#xff0c;一开始只需要加载一次js、css等相关资源。所有内容都包含在主页面&#xff0c;对每一个功能模块组件化。单页应用跳转&#xff0c;就是切换…

STM32标准库编译流程

导入库函数 在ST官方固件库中找到STM32F10x_StdPeriph_Lib_V3.5.0.zip文件&#xff0c;解压&#xff0c;打开Libraries,接着打开STM32F10x_StdPeriph_Driver文件夹&#xff0c;继续点击src&#xff0c;看到库函数源文件&#xff1a; 将其复制到keil建立的工程的文件中&#xf…

JAVA系列 小白入门参考资料 接口

目录 接口 接口的概念 语法 接口使用 接口实现用例 接口特性 实现多个接口和实现用例 接口间的继承 接口 接口的概念 在现实生活中&#xff0c;接口的例子比比皆是&#xff0c;比如&#xff1a;笔记本上的 USB 口&#xff0c;电源插座等。 电脑的 USB 口上&am…

在视频中使用时间卷积和半监督训练进行三维人体姿态估计

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读&#xff1a;在视频中使用时间卷积和半监督训练进行三维人体姿态估计1、文献摘要2、提出方法2.1、时间扩张卷积模型2.2、半监督方法2.3、与传统…

【错题集-编程题】十字爆破(预处理 + 模拟)

牛客对于题目链接&#xff1a;十字爆破 (nowcoder.com) 一、分析题目 暴力模拟会超时。 预处理&#xff0c;先把每一行以及每一列的和存起来。 模拟即可&#xff0c;但是由于数据量过⼤&#xff0c;我们可以提前把每⼀⾏以及每⼀列的和存起来&#xff0c;⽅便统计总和。 二、代…

应用分层和企业规范

目录 一、应用分层 1、介绍 &#xff08;1&#xff09;为什么需要应用分层&#xff1f; &#xff08;2&#xff09;如何分层&#xff1f;&#xff08;三层架构&#xff09; MVC 和 三层架构的区别和联系 高内聚&#xff1a; 低耦合&#xff1a; 2、代码重构 controlle…

Sqlserver批量迁移Job

因为切换物理机&#xff0c;需要把数据库的作业从A机器迁移到B机器&#xff0c;数据库整体备份还原就可以了&#xff0c;数据库上的作业不会跟着带过去&#xff0c;需要手动创建&#xff0c;作业数量太多&#xff0c;逐一创建太浪费时间&#xff0c;Microsoft SQL Server Manag…

SpringBoot+Vue项目企业客户管理系统

一、前言介绍 本文主要论述了如何使用JAVA语言开发一个企业客户管理系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述企业客户管理系统的当前背景以及系统开…

扩展学习|国内外用户画像相关进展一览

文献来源&#xff1a;徐芳,应洁茹.国内外用户画像研究综述[J].图书馆学研究,2020(12):7-16.DOI:10.15941/j.cnki.issn1001-0424.2020.12.002. 一、用户画像的概念 用户画像概念一经提出,便被广泛应用到精准营销等领域。后来,作为一种描绘用户特征、表达用户诉求的有效工具,用户…

karpathy Let‘s build GPT

1 introduction 按照karpathy的教程&#xff0c;一步步的完成transformer的构建&#xff0c;并在这个过程中&#xff0c;加深对transformer设计的理解。 karpathy推荐在进行网络设计的过程中&#xff0c;同时利用jupyter notebook进行快速测试和python进行主要的网络的构建。 …

前端页面平滑过渡解决方案

一、问题产生 在使用图片作为页面背景时&#xff0c;无法使用transtion进行平滑过渡&#xff0c;直接切换背景又会降低使用体验。 二、解决方式 使用clip-path对背景图片裁剪配合transtion实现平滑过渡的效果 三、效果展示 网址&#xff1a;ljynet.com 四、实现方式 tem…

图像特征点检测

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

练习题(2024/5/3)

1对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false提示&#xff1a; 树中…

前端工程化04-VsCode插件设置总结(持续更)

1、输出语句log设置 log输出、平常你输出log,还必须得打一个console然后再.log()非常不方便&#xff0c;当然我们可以直接输入一个log,但是提示有两个&#xff0c;我们还得上下选择 所以我们直接采用插件的提示 一个clg就可以了 2、括号包裹提示 找到VsCode的settings.js文…