如何获得 FHE Circuit Privacy

参考文献:

  1. [AJL+12] Asharov G, Jain A, López-Alt A, et al. Multiparty computation with low communication, computation and interaction via threshold FHE[C]. EUROCRYPT 2012: 483-501
  2. [DS16] Ducas L, Stehlé D. Sanitization of FHE Ciphertexts[C]. EUROCRYPT (1) 2016: 294-310
  3. [BPMW16] Bourse F, Del Pino R, Minelli M, et al. FHE Circuit Privacy Almost for Free[C]. CRYPTO (2) 2016: 62-89
  4. Klein’s algorithm
  5. Noise Flooding
  6. FHE Circuit Privacy for Free

文章目录

  • FHE Circuit Privacy
  • How to get it
    • Noise Flooding Techniques
    • Soak-Spin-Repeat Strategy
    • GSW-style FHE

FHE Circuit Privacy

这里给出 ThFHE 的接口定义:

在这里插入图片描述

我们可以将 FHE 以及 PKE 作为 ThFHE 的特殊实例:FHE 就是设置 n = t = 1 n=t=1 n=t=1,并且合并 PartDec 以及 Combine 成为 Dec;ThPKE 就是固定 C = i d C=id C=id,也就是丢弃了 Eval。

定义 c d i s t s ( X , Y ) cdist_s(X,Y) cdists(X,Y) 表示在任意的规模 s s s 电路下,分布 X , Y X,Y X,Y 之间的计算距离(computational distance with respect to size s s s circuits)。我们定义 ThFHE 的电路隐私:

在这里插入图片描述

它保证任意的容许电路下的同态计算结果和新鲜加密的密文是计算不可区分的,从而不泄露所计算电路的信息。

How to get it

接下来的问题就是如何获得电路隐私,本质上就是消除密文噪声中包含的电路信息。这里介绍三种方法:噪声洪泛、滚转消毒、直接构造电路隐私的 GSW 方案,它们都提供了统计不可区分性(自然是计算安全的)。

Noise Flooding Techniques

[AJL+12] 构造了第一个 ThFHE,为了保护 PartDec 电路(含有各个 Party 的私钥 SS 信息)的隐私性,他们使用了噪声洪泛。

Smudging Lemma:安全参数 κ \kappa κ,令 B 1 , B 2 B_1,B_2 B1,B2 是正整数, e 1 ∈ [ − B 1 , B 1 ] e_1 \in [-B_1,B_1] e1[B1,B1] 是固定整数, e 2 ← [ − B 2 , B 2 ] e_2 \leftarrow [-B_2,B_2] e2[B2,B2] 是均匀随机数。那么只要 B 1 / B 2 = n e g l ( κ ) B_1/B_2 = negl(\kappa) B1/B2=negl(κ),则 e 2 e_2 e2 的分布与 e 1 + e 2 e_1+e_2 e1+e2 的分布统计不可区分。确切地说,这两个分布之间的统计距离为:
Δ = 1 2 ∑ x = − ( B 1 + B 2 ) B 1 + B 2 ∣ P r [ e 2 = x ] − P r [ e 1 + e 2 = x ] ∣ = 1 2 ( ∑ x = − ( B 1 + B 2 ) − B 2 1 B 2 + ∑ x = B 2 B 1 + B 2 1 B 2 ) = B 1 B 2 \Delta = \dfrac{1}{2}\sum_{x=-(B_1+B_2)}^{B_1+B_2}\Big| Pr[e_2=x] - Pr[e_1+e_2=x] \Big| = \dfrac{1}{2}\left( \sum_{x=-(B_1+B_2)}^{-B_2}\dfrac{1}{B_2} + \sum_{x=B_2}^{B_1+B_2}\dfrac{1}{B_2} \right) = \dfrac{B_1}{B_2} Δ=21x=(B1+B2)B1+B2 Pr[e2=x]Pr[e1+e2=x] =21 x=(B1+B2)B2B21+x=B2B1+B2B21 =B2B1
因此,假如某个同态计算得到的密文是 c t ( s ) = E C C ( m ) + e ct(s)=ECC(m)+e ct(s)=ECC(m)+e,其中噪声界是 ∥ e ∥ ≤ B \|e\| \le B eB,那么需要设置 B ′ = B ⋅ 2 O ( κ ) B' = B \cdot 2^{O(\kappa)} B=B2O(κ),然后采样一个污染噪声 e ′ ← [ − B ′ , B ′ ] e' \gets [-B',B'] e[B,B],计算被污染的密文 c t ′ ( s ) = E C C ( m ) + ( e + e ′ ) ct'(s)=ECC(m)+(e+e') ct(s)=ECC(m)+(e+e),那么计算下的区分优势不会超过 B / B ′ = 2 − O ( κ ) = n e g l ( κ ) B/B'=2^{-O(\kappa)}=negl(\kappa) B/B=2O(κ)=negl(κ)

一般地 B = κ O ( 1 ) B=\kappa^{O(1)} B=κO(1),因此需要 B ′ = κ O ( 1 ) ⋅ 2 O ( κ ) B'=\kappa^{O(1)} \cdot 2^{O(\kappa)} B=κO(1)2O(κ) 是超多项式的,这导致密文模数是超多项式的,归约到近似因子是超多项式的格问题(安全性较弱)。为了继续同态计算,它需要对参数集满足 n log ⁡ q ≥ κ 3 n \log q \ge \kappa^3 nlogqκ3 的实例执行一次自举。

Soak-Spin-Repeat Strategy

[DS16] 使用 Soak-Spin-Repeat Strategy(浸泡,甩干,重复)提供多项式模数的电路隐私性。他们只在密文上添加一个 tiny flooding,然后执行 bootstrapping,确保统计具体减小 2 2 2 因子。他们把这个过程迭代 κ \kappa κ 次,共计需要对参数集满足 n log ⁡ q ≥ κ n \log q \ge \kappa nlogqκ 的实例执行 κ \kappa κ 次自举。

[DS16] 提出了密文可消毒性(ciphertext sanitizability),如果某 FHE 方案存在如下的消毒算法

在这里插入图片描述

这里使用 λ \lambda λ 作为安全参数。简记 C μ C_\mu Cμ 是解密到 μ ∈ M \mu \in M μM 的密文集合,令 C μ ∗ C_\mu^* Cμ 是其中的低噪声子集。[DS16] 需要两个基本操作:

  1. 自举过程, R e f r e s h : ( p k ∈ P K , c ∈ C μ ) ↦ c ′ ∈ C μ ∗ Refresh: (pk \in PK, c \in C_\mu) \mapsto c' \in C_\mu^* Refresh:(pkPK,cCμ)cCμ
  2. 密文随机化, R e r a n d : ( p k ∈ P K , c ′ ∈ C μ ∗ ) ↦ c ′ ′ ∈ C μ Rerand: (pk \in PK, c' \in C_\mu^*) \mapsto c'' \in C_\mu Rerand:(pkPK,cCμ)c′′Cμ

然后,他们定义如下的运算,
W a s h : ( p k , c ) ↦ R e r a n d ( p k , R e f r e s h ( p k , c ) ) Wash: (pk,c) \mapsto Rerand(pk, Refresh(pk,c)) Wash:(pk,c)Rerand(pk,Refresh(pk,c))
以及它的 κ = p o l y ( λ ) \kappa=poly(\lambda) κ=poly(λ) 次迭代,
S a n i t i z e ( p k , c ) : = W a s h κ ( p k , c ) Sanitize(pk,c) := Wash^\kappa(pk,c) Sanitize(pk,c):=Washκ(pk,c)
这个消毒算法的安全性是:

在这里插入图片描述

由于 BGV/BFV 本身具有超多项式大小的密文模数,因此直接用噪声洪泛就可以了。[DS16] 将消毒算法应用到 FHEW 方案(多项式大小的密文模数),使用盲旋转(延迟很小)作为消毒的一环,得到了多项式近似因子的电路隐私。如图所示:

在这里插入图片描述

GSW-style FHE

噪声洪泛的安全性较弱,滚转消毒的效率很低。[BPMW16] 直接在 GSW-style 方案上几乎免费地获得了电路隐私。他们直接在每次同态运算之后添加一个小噪声,这就已经获得了电路隐私。

[BPMW16] 把确定性 Gadget 分解,替换为了随机化的 Gadget 分解(在 Gadget 格上执行 Kalien 采样算法),

在这里插入图片描述

然后给出了如下的随机化引理,它是 Gaussian leftover hash lemma 的一个变体,

在这里插入图片描述

对密文 C C C 的随机化步骤是:

在这里插入图片描述
由于 GSW 同态乘法的噪声增长的不对称性,可以利用 GSW 实现 5-PBP for NC1,它的密文模数的规模是多项式的,这就 “几乎免费地” 实现了多项式近似因子的电路隐私。

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

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

相关文章

连接和使用vCenter Server嵌入式vPostgres数据库

vCenter Server 早期支持内嵌(embedded)和外部(external)数据库,内嵌数据库就是vPostgres,基于VMware Postgres数据库(PostgreSQL数据库),外部数据库用的多的是Oracle数据库和SQL Server数据库。因为早期使用内嵌的PostgreSQL数据库只能用于小型环境,比如仅支持几十台…

EPAI手绘建模APP颜色、贴图、材质、样式

⑦ 颜色选择页面 1) 颜色环选色。 图 65 颜色选择器-颜色环 2) RGB选色。 图 66 颜色选择器-RGB 3) HSL选色。 图 67 颜色选择器-HSL 4) 国风颜色库选色。 图 68 颜色选择器-国风 5) CSS颜色库选色。 图 69 颜色选择器-CSS 6) 历史颜色:保存最近使用的多个颜色&…

Python设计模式 - 单例模式

定义 单例模式是一种创建型设计模式, 其主要目的是确保一个类只有一个实例, 并提供一个全局访问点来访问该实例。 结构 应用场景 资源管理:当需要共享某个资源时,例如数据库连接、线程池、日志对象等,可以使用单例模…

电路板/硬件---器件

电阻 电阻作用 电阻在电路中扮演着重要的角色,其作用包括: 限制电流:电阻通过阻碍电子流动的自由而限制电流。这是电阻最基本的功能之一。根据欧姆定律,电流与电阻成正比,电阻越大,通过电阻的电流就越小。…

OpenCV(六) —— Android 下的人脸识别

本篇我们来介绍在 Android 下如何实现人脸识别。 上一篇我们介绍了如何在 Windows 下通过 OpenCV 实现人脸识别,实际上,在 Android 下的实现的核心原理是非常相似的,因为 OpenCV 部分的代码改动不大,绝大部分代码可以直接移植到 …

Pytorch: nn.Embedding

文章目录 1. 本质2. 用Embedding产生一个10 x 5 的随机词典3. 用这个词典编码两个简单单词4. Embedding的词典是可以学习的5. 例子完整代码 1. 本质 P y t o r c h \mathrm{Pytorch} Pytorch 的 E m b e d d i n g \mathrm{Embedding} Embedding 模块是一个简单的查找表&#…

【多变量控制系统 Multivariable Control System】(3)系统的状态空间模型至转换方程模型(使用Python)【新加坡南洋理工大学】

一、转换式 二、系统的状态空间模型 由矩阵A, B, C, D给出: 三、由状态空间模型转化为转换方程模型 函数原型(版权所有:scipy): def ss2tf(A, B, C, D, input0):r"""State-space to transfer functi…

【netty系列-03】深入理解NIO的基本原理和底层实现(详解)

Netty系列整体栏目 内容链接地址【一】深入理解网络通信基本原理和tcp/ip协议https://zhenghuisheng.blog.csdn.net/article/details/136359640【二】深入理解Socket本质和BIOhttps://zhenghuisheng.blog.csdn.net/article/details/136549478【三】深入理解NIO的基本原理和底层…

SpringCloud Alibaba Nacos简单应用(三)

文章目录 SpringCloud Alibaba Nacos创建Nacos 的服务消费者需求说明/图解创建member-service-nacos-consumer-80 并注册到NacosServer8848创建member-service-nacos-consumer-80修改pom.xml创建application.yml创建主启动类业务类测试 SpringCloud Alibaba Nacos 创建Nacos 的…

鸿蒙通用组件Image简介

鸿蒙通用组件Image简介 图片----Image图片支持三种引用方式设置图片宽高设置图片缩放模式设置图片占位图设置图片重复样式设置图片插值效果 图片----Image Image主要用于在应用中展示图片 Image($r(app.media.app_icon)).width(150) // 设置宽.height(150) // 设置高.objectF…

使用docker-compose编排lnmp(dockerfile)完成wordpress

文章目录 使用docker-compose编排lnmp(dockerfile)完成wordpress1、服务器环境2、Docker、Docker-Compose环境安装2.1 安装Docker环境2.2 安装Docker-Compose 3、nginx3.1 新建目录,上传安装包3.2 编辑Dockerfile脚本3.3 准备nginx.conf配置文…

redis集群-主从机连接过程

首先从机需要发送自身携带的replid和offset向主机请求连接 replid:replid是所有主机在启动时会生成的一个固定标识,它表示当前复制流的id,当从机第一次请求连接时,主机会将自己的replid发送给从机,从机在接下来的请求…

docker部署nginx并配置https

1.准备SSL证书: 生成私钥:运行以下命令生成一个私钥文件。 生成证书请求(CSR):运行以下命令生成证书请求文件。 生成自签名证书:使用以下命令生成自签名证书。 openssl genrsa -out example.com.key 2048 …

【Java探索之旅】内部类 静态、实例、局部、匿名内部类全面解析

文章目录 📑前言一、内部类1.1 概念1.2 静态内部类1.3 实例内部类1.4 局部内部类1.5 匿名内部类 🌤️全篇总结 📑前言 在Java编程中,内部类是一种强大的特性,允许在一个类的内部定义另一个类,从而实现更好的…

Vue3-element-plus表格

一、element-plus 1.用组件属性实现跳转路由 <el-menu active-text-color"#ffd04b" background-color"#232323" :default-active"$route.path" //高亮 text-color"#fff"router><el-menu-item index"/article/channe…

第十篇:深入文件夹:Python中的文件管理和自动化技术

深入文件夹&#xff1a;Python中的文件管理和自动化技术 1 文件系统基础操作 在今天的技术博客中&#xff0c;我们将深入探讨Python中的文件系统基础操作。文件系统对于任何操作系统都是不可或缺的组成部分&#xff0c;它管理着数据的存储、检索以及维护。Python通过其标准库中…

节能洗车房车牌识别项目实战

项目背景 学电子信息的你加入了一家节能环保企业&#xff0c;公司的主营产品是节能型洗车房。由于节水节电而且可自动洗车&#xff0c;产品迅速得到了市场和资本的认可。公司决定继续投入研发新一代产品&#xff1a;在节能洗车房的基础上实现无人值守的功能。新产品需要通过图…

Java高阶私房菜:JVM性能优化案例及讲解

目录 核心思想 优化思考方向 压测环境准备 堆大小配置调优 调优前 调优后 分析结论 垃圾收集器配置调优 调优前 调优后 分析结论 JVM性能优化是一项复杂且耗时的工作&#xff0c;该环节没办法一蹴而就&#xff0c;它需要耐心雕琢&#xff0c;逐步优化至理想状态。“…

Qt服务器端与客户端交互

Qt做客户端与服务器端交互第一步引入network 第一步引入network后继续编程首先界面设计 创建server和socket 引入QTcpServer&#xff0c;QTcpSocket MainWindow.h代码如下 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTcpServer&…

EPAI手绘建模APP演示板、材质编辑器、样式编辑器

(11) 更多 图 74 更多工具栏 ① 演示板&#xff1a;打开关闭演示板。演示板用来显示从设备导入的模型图纸图片或者打开模型建模教程网页&#xff0c;是建模过程中一个辅助功能。有些设备有小窗口功能有些没有&#xff0c;对于没有小窗口功能的设备&#xff0c;通过演示板能够在…