FHE Circuit Privacy

news2024/11/25 4:21:09

参考文献:

  1. [MP12] Micciancio D, Peikert C. Trapdoors for lattices: Simpler, tighter, faster, smaller[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012: 700-718.
  2. [OPP14] Ostrovsky R, Paskin-Cherniavsky A, Paskin-Cherniavsky B. Maliciously circuit-private FHE[C]//Annual Cryptology Conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 2014: 536-553.
  3. [BV14] Brakerski Z, Vaikuntanathan V. Lattice-based FHE as secure as PKE[C]//Proceedings of the 5th conference on Innovations in theoretical computer science. 2014: 1-12.
  4. [BPMW16] Bourse F, Del Pino R, Minelli M, et al. FHE circuit privacy almost for free[C]//Annual International Cryptology Conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 2016: 62-89.

文章目录

  • GSW for for Branching programs
    • FHE for NC1
    • secure as PKE
  • Circuit Privacy Almost for Free
    • Circuit Privacy
    • Core Randomization Lemma
    • Circuit Private FHE

GSW for for Branching programs

[BV14] 展示了 GSW 的非对称噪声增长,并利用分支程序的每条语句都依赖新鲜的输入密文,给出了可计算任意 N C 1 NC^1 NC1 电路的 Level FHE,噪声比率为 α = n − c , c > 0 \alpha=n^{-c},c>0 α=nc,c>0。然后利用连续的 dimension-modulus reduction procedure,将它降低到了 α ≤ 1 / O ~ κ ( n ϵ ⋅ n log ⁡ q ) \alpha \le 1/\tilde O_\kappa(n^\epsilon \cdot \sqrt{n\log q}) α1/O~κ(nϵnlogq ),最终给出了第一个满足以下归约的全同态加密方案:

  • 量子归约到近似因子为 O ~ ( n 1.5 + ϵ ) \tilde O(n^{1.5+\epsilon}) O~(n1.5+ϵ) 的 GapSVP 问题
  • 经典归约到近似因子为 O ~ ( n 2 + ϵ ) \tilde O(n^{2+\epsilon}) O~(n2+ϵ) 的 GapSVP 问题

换句话说,自举程序并不会严重降低 FHE 的安全性,因此 FHE 和一般的 PKE 同样安全。其近似因子仅为多项式的(噪声-模数比值是多项式的)。

FHE for NC1

Branching Program 的定义为:

在这里插入图片描述

根据 Barrington’s Theorem 可知,“多项式大小 5-PBP 可计算类” 等价于 N C 1 NC^1 NC1 类(对数深度的并行电路)。因此我们选取 W = 5 W=5 W=5,状态被表示为特征向量 v t ∈ { 0 , 1 } 5 v_t \in \{0,1\}^5 vt{0,1}5,每个 enrty 都是布尔值。我们根据 π t , 0 , π t , 1 \pi_{t,0},\pi_{t,1} πt,0,πt,1 x v a r ( t ) x_{var(t)} xvar(t),用 GSW 同态地计算 BP 程序中的状态转移。

同态计算 5-PBP 的算法如下:

在这里插入图片描述

为了计算结果的解密正确性,要求噪声的高斯分布参数为:
α ≤ 1 Θ ~ κ ( 4 d ⋅ n log ⁡ ( q ) ) \alpha \le \dfrac{1}{\tilde \Theta_\kappa\left(4^d \cdot \sqrt{n \log (q)}\right)} αΘ~κ(4dnlog(q) )1
恰好 GSW 的解密电路属于 N C 1 NC^1 NC1 类。因此附加上循环安全假设,容易构造出 pure FHE,它的噪声比率仅为多项式级别(之前的 BGV/BFV 自举需要指数级的)。

secure as PKE

但是,上述的 α \alpha α 依然有些大了。现在我们将上述的 FHE 变得更加安全(进一步降低噪声比率)。两个关键技术:

  1. 密文随机化(Partial Randomization),

在这里插入图片描述

  1. 维度-模数约简(Dimension-Modulus Reduction),

在这里插入图片描述

[BV14] 设计了一个维度约简程序:设置一个维度-模数的梯子,在最高层 L e v e l = L Level=L Level=L 上同态计算 BP 程序,然后利用秘钥切换依次降低维度-模数,在最底层 L e v e l = 0 Level=0 Level=0 执行解密任务。 s L , p k L s_L,pk_L sL,pkL 用于加密, s 0 s_0 s0 用于解密。

在这里插入图片描述

那么自举程序为:

  1. 设置自举秘钥为最底层私钥的密文, K i ← D i m R e d u c e d . S e c E n c s k ( B i t D e c o m p ( s 0 ) [ i ] ) K_i \leftarrow DimReduced.SecEnc_{sk}(BitDecomp(s_0)[i]) KiDimReduced.SecEncsk(BitDecomp(s0)[i])
  2. 根据最底层的两个密文 c 0 , c 1 c_0,c_1 c0,c1,构造增强解密函数 f c 1 , c 2 ( s ) = N A N D ( D e c s ( c 0 ) , D e c s ( c 1 ) ) f_{c_1,c_2}(s) = NAND(Dec_s(c_0), Dec_s(c_1)) fc1,c2(s)=NAND(Decs(c0),Decs(c1)),将它转化为关于 B i t D e c o m p ( s 0 ) BitDecomp(s_0) BitDecomp(s0) 的 5-PBP 程序
  3. 利用维度约简的同态计算过程,执行 E v a l ( f c 1 , c 2 , K i ) Eval(f_{c_1,c_2},K_i) Eval(fc1,c2,Ki)

为了解密正确性,我们设置
α ( n ) = 1 Θ ~ κ ( n ϵ ⋅ n log ⁡ ( q ) ) q ( n ) ≥ O ~ ( n α ( n ) ) \begin{aligned} \alpha(n) &= \dfrac{1}{\tilde \Theta_\kappa\left(n^\epsilon \cdot \sqrt{n \log (q)}\right)}\\ q(n) &\ge \tilde O\left( \dfrac{\sqrt n}{\alpha(n)} \right) \end{aligned} α(n)q(n)=Θ~κ(nϵnlog(q) )1O~(α(n)n )
它们满足 α ⋅ q ≈ n \alpha \cdot q \approx \sqrt n αqn ,这是存在 LWE 从最坏情况到平均情况归约的最小的 q q q 取值。

上述 FHE 的安全性归约结果:

在这里插入图片描述

Circuit Privacy Almost for Free

[BPMW16] 对 [BV14] 略作修改,给出了第一个 “circuit-private FHE for NC1 circuits under the standard LWE assumption with polynomial modulus-to-noise ratio”。

Circuit Privacy

在 FHE 同态计算过程中,不同的 f f f 导致了不同的计算电路,于是计算结果中的噪声项 e e e 的增长规模是依赖于这个函数的。例如 FHE-based MPC 场景:Alice 拥有数据 m m m,Bob 拥有函数 f f f,它们执行 MPC 计算出 f ( m ) f(m) f(m),但是 Alice 可以根据收到的 E n c ( f ( m ) ) Enc(f(m)) Enc(f(m)) 密文推断出 f f f 的部分信息,这导致上述的 MPC 并不安全。

有几种达到电路隐私的手段:

  1. 噪声洪泛(noise flooding):对于计算结果,添加相对于结果噪声项 e e e 超多项式大的另一个噪声。但是这要求噪声-模数的比值本身就是超多项式的,困难问题的难度被减弱。
  2. 重加密(re-encrypt),
    1. 混淆电路:[OPP14] 给出了一个通用转换框架,使用 garbled circuits 实现普通 FHE 转化为电路隐私的 FHE。但是需要把 FHE 中的代数结构编码为布尔电路,这牺牲了 FHE 的多跳(multi-hop)能力。
    2. 自举程序:主要的问题就是自举代价极高,另外还需要额外的循环安全假设。

电路隐私的定义:

在这里插入图片描述

[BPMW16] 利用 Gaussian leftover hash lemma,对 [BV14] 的 GSW for BP 略作修改,给出了特定于 GSW 方案的电路隐私 Level FHE 方案。

Core Randomization Lemma

根据 [MP12],本原格 Λ ( G ) \Lambda(G) Λ(G) 及其对偶上的 f G − 1 , g G − 1 f_G^{-1},g_G^{-1} fG1,gG1 都是及其容易计算的。特别地,因为 gadget 矩阵的 G G G 的特殊结构,Kalien 原像采样算法极其高效。

在这里插入图片描述

[BPMW16] 利用 Generalized leftover hash lemma 等若干引理,推导出了 LWE 样本的随机化引理,

在这里插入图片描述

给定一组 LWE 样本 C = ( A , s T A + e ) ∈ Z q n × m C=(A,s^TA+e) \in \mathbb Z_q^{n \times m} C=(A,sTA+e)Zqn×m,对于任意的 v ∈ Z q n v \in \mathbb Z_q^n vZqn,在陪集 v + Λ q ⊥ ( G T ) v+\Lambda^\perp_q(G^T) v+Λq(GT) 上按照离散高斯分布采样,得到 x = G r a n d − 1 ( v ) ∈ Z m x=G^{-1}_{rand}(v) \in \mathbb Z^m x=Grand1(v)Zm,另外再加上随机偏移 y ∈ Z y \in \mathbb Z yZ,那么就有如下两个分布统计不可区分
C ⋅ G r a n d − 1 ( ( 0 , 0 , ⋯   , 0 ) ) + ( 0 , y ) ≡ s C ⋅ G r a n d − 1 ( ( 1 , 0 , ⋯   , 0 ) ) + ( 0 , y ′ ) C \cdot G^{-1}_{rand}((0,0,\cdots,0)) + (0,y) \equiv_s C \cdot G^{-1}_{rand}((1,0,\cdots,0)) + (0,y') CGrand1((0,0,,0))+(0,y)sCGrand1((1,0,,0))+(0,y)
这里 G r a n d − 1 G^{-1}_{rand} Grand1 的随机性是必要的,它使得不同的 v v v 下的分布有相同的中心(same center)。随机偏移 y y y 也是必要的,它使得不同的 v v v 下的分布有相同的支撑(same support)。注意这里的 y y y 是短的,而 noise flooding 则需要选取超多项式大小。

Circuit Private FHE

为了实现电路隐私的 GSW 方案,分为三个步骤,

  1. Generating fresh LWE samples:给定一组有界数量的 LWE 样本 ( A , b = s T A + e T ) (A,b=s^TA+e^T) (A,b=sTA+eT),按照参数 r = O ~ ( 1 ) r=\tilde O(1) r=O~(1) 离散高斯采样 x x x,按照参数 O ( r ⋅ ∥ e ∥ ) O(r \cdot \|e\|) O(re) 离散高斯采样 y y y 平滑噪声(smoothing noise),那么我们得到了一个新的 LWE 样本 ( A x , b x + y ) (Ax,bx+y) (Ax,bx+y),其中 A x Ax Ax 统计接近于均匀分布,噪声项 e T x + y e^Tx+y eTx+y 统计接近于参数 O ( r ⋅ ∥ e ∥ ) O(r \cdot \|e\|) O(re) 的离散高斯分布。对比于 noise flooding 的缺点是,这泄露了 ∥ e ∥ \|e\| e 的规模信息(Alice 有私钥,可以解密出噪声项 e T x + y e^Tx+y eTx+y)。
  2. Randomizing and Scaling GSW ciphertexts:根据 Core Randomization Lemma,随机数 x x x 仅仅取自陪集 v + Λ q ⊥ ( G T ) v+\Lambda_q^\perp(G^T) v+Λq(GT) 上参数 r = O ~ ( 1 ) r=\tilde O(1) r=O~(1) 的离散高斯分布,就足够使得新样本是统计接近均匀分布组合高斯分布的了。给定一个 GSW 密文 C = ( A , b ) + μ G C=(A,b)+\mu G C=(A,b)+μG,那么 C ⋅ G r a n d − 1 ( G ) + ( 0 , y ) C \cdot G^{-1}_{rand}(G)+(0,y) CGrand1(G)+(0,y) 就是随机化的密文,加密的消息不变,噪声项略微增大。给定常数 a ∈ { 0 , 1 } a \in \{0,1\} a{0,1}(就是 Bob 的函数),我们采样 x = G r a n d − 1 ( a ⋅ G ) x=G^{-1}_{rand}(a \cdot G) x=Grand1(aG),这里的 a G aG aG 其实就是 a a a 的无噪声密文。那么 C ⋅ G r a n d − 1 ( a ⋅ G ) + ( 0 , y ) C \cdot G^{-1}_{rand}(a \cdot G)+(0,y) CGrand1(aG)+(0,y) 就是 a ⋅ μ a \cdot \mu aμ 的随机密文,并且密文分布独立于 a a a 的值。
  3. Circuit-private homomorphic evaluation:使用 [BV14] 类似的 GSW 同态计算 BP 程序,只不过把它的 C ⋅ G d e t − 1 ( V ) C \cdot G^{-1}_{det}(V) CGdet1(V) 转变为了 C ⋅ C r a n d − 1 ( V ) + ( 0 , y ) C \cdot C^{-1}_{rand}(V)+(0,y) CCrand1(V)+(0,y),就可以实现电路隐私,

修改 [BV14] 的 BP 同态运算为如下格式:

在这里插入图片描述

其中 C C C 是输入的密文, V V V 是中间状态的密文。形如 C i ⋅ G − 1 ( V j ) C_i \cdot G^{-1}(V_j) CiG1(Vj) 的同态乘法格式,不仅仅导致了不平衡噪声增长,而且还隐藏了到底是哪个 V j V_j Vj 被使用,这就隐藏了 BP 程序。

不过,因为 V j V_j Vj 的噪声项依赖于 C i C_i Ci 的噪声项,因此最终计算结果会泄露各个 C i C_i Ci 被使用的次数。[BPMW16] 采取 Padding 方式,如果 C i C_i Ci 被调用了 τ i \tau_i τi 次,那么就对最终状态执行 L − τ i L-\tau_i Lτi 次关于 C i C_i Ci 的单位置换,使得全部输入的噪声项都是被累计 L L L 次。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频转码教程:轻松制作GIF动态图,一键高效剪辑操作

随着社交媒体的兴起,GIF动态图已经成为了人们表达情感、分享精彩瞬间的重要方式。而将视频转化为GIF动态图,不仅可以方便地在社交媒体上分享,还可以延长视频的播放时长,吸引更多的观众。本篇文章将为大家介绍如何将视频轻松转化为…

使用 Ruby 的 Nokogiri 库来解析

爬虫程序的主要目标是获取指定网站上的数据。在这里,我们将使用 Ruby 的 Nokogiri 库来解析 HTML,并使用 HTTParty 库来发送 HTTP 请求。下面是一个简单的示例,演示如何使用 Ruby 编写一个爬虫程序来爬取 1688 网站的数据。 require nokogir…

计网----累积应答,TCP的流量控制--滑动窗口,粘包问题,心跳机制,Nagle算法,拥塞控制,TCP协议总结,UDP和TCP对比,中介者模式

计网----累积应答,TCP的流量控制–滑动窗口,粘包问题,心跳机制,Nagle算法,拥塞控制,TCP协议总结,UDP和TCP对比,中介者模式 一.累积应答 1.什么是累计应答 每次发一些包&#xff0…

【小尘送书-第十一期】《算法秘籍》:算法是编程的基石,开发的核心

大家好,我是小尘,欢迎你的关注!大家可以一起交流学习!欢迎大家在CSDN后台私信我!一起讨论学习,讨论如何找到满意的工作! 👨‍💻博主主页:小尘要自信 &#x1…

【RocketMQ】深入剖析延迟消息核心实现原理

一、背景 电商相关业务的时候,有一个常见的需求场景是:用户下单之后,超过半小时不支付,就取消订单。现在我们在淘宝京东买东西,或者通过美团点外卖,下单之后,如果不在指定时间内支付&#xff0…

个人实用的街头防身自卫术,男女必学的防身实战技能

一、教程描述 本套教程,大小455.93M,共有17个文件。 二、教程目录 实战防身术01、街头防身自卫术示例.mp4 实战防身术02、街头防身自卫术序言.mp4 实战防身术03、腕部被抓解脱.mp4 实战防身术04、胸襟被抓解脱.mp4 实战防身术05、腰部被抓解脱.mp…

应用在全固态激光雷达中的ALS环境光传感芯片

全固态扫描式激光雷达系统这一创新性技术在多个领域都有着巨大的潜力,将改变未来科技格局。本文将探讨这一革命性的发明,以及它在自动驾驶、无人机、工业自动化、环境监测等领域的关键应用。 传统激光雷达系统通常使用复杂的机械装置,这些部…

如何上传自己的Jar到Maven中央仓库

在项目开发过程中,我们常常会使用 Maven 从仓库拉取开源的第三方 Jar 包。本文将带领大家将自己写好的代码或开源项目发布到 Maven中央仓库中,让其他人可以直接依赖你的 Jar 包,而不需要先下载你的代码后 install 到本地。 注册帐号 点击以…

基于Pymavlink协议的BlueROV开发

1 BlueROV概述 1.1 什么是ROV 维基百科遥控潜水器(Remotely operated underwater vehicle,缩写ROV)是一个无人的水下航行器,以电缆连接到母船的人员操作。常搭载水下光源和照相机、摄影机、机械手臂、声纳等。因为具有机械手臂&a…

华为OD机试 - 找朋友(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述大白话解释一下就是:1、输入:2、输出:3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专…

安装node-sass安装失败(Failed at the node-sass@4.14.1 postinstall script.)

npm i安装依赖,安装node-sass失败 全局设置淘宝镜像,还是下载不下来。下载不下来可能是因为默认从github上去下载node-sass,而国内经常连不上或者网络不好。可以单独下载 npm i node-sass4.14.1 --sass_binary_sitehttps://npm.taobao.org/…

Maven多环境下 active: @profileActive@报错问题解决

1.报错: Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found character that cannot start any token.(Do not use for indentation) 2.解决办法: 在主pom的文件下,重新加载:

模型可解释性

模型可解释性 前言导读Background1、为什么需要可解释性?2、诞生背景3、研究现状4、常见的模型可解释性方法4.1 基于模型自身的可解释性1)Explanation Generation2)Prototype Network 4.2 基于结果的可解释性 5、应用前景6、面临挑战 前言导读…

基于ssm的校园快递物流管理系统(java+jsp+ssm+javabean+mysql+tomcat)

博主24h在线,想要源码文档部署视频直接私聊,9.9拿走! 基于javawebmysql的ssm校园快递物流管理系统(javajspssmjavabeanmysqltomcat) 运行环境: Java≥8、MySQL≥5.7、Tomcat≥8 开发工具: eclipse/idea/myeclipse/s…

php实现普通和定时跳转的几种方式

一、普通跳转 1、使用header函数:通过设置HTTP头部信息实现页面跳转。可以使用Location头部指定跳转的URL。例如: header("Location: http://www.example.com"); exit(); 2、使用JavaScript:可以使用JavaScript的window.location…

倾斜摄影三维模型的根节点合并的并行处理技术分析

倾斜摄影三维模型的根节点合并的并行处理技术分析 倾斜摄影三维模型的根节点合并是指将多个倾斜摄影拍摄得到的三维模型中的根节点进行合并,以减少模型大小和复杂度。在处理大规模的倾斜摄影数据时,传统的串行处理方法效率较低,因此需要使用并…

Shiro安全框架

一、与SpringBoot整合 ①:框架整合 1. 创建SpringBoot项目 环境: jdk: 1.8SpringBoot: 2.5.14 2. 整合MyBatis根据实体类生成表 可查看文章:https://juejin.cn/post/7234324615015776315 按照以上笔记配置后在补充一下代码 依赖MyBatisP…

QML 中TextField输入框和下划线的设定

1.TextField的默认显示方式是输入框,如下所示: TextField { placeholderText: qsTr("Enter name") } 但是也有这样显示的,它变成了下划线: 在属性设置中是找不到相关设置,结果在mian.cpp中发现了一行代码会影响效果。这行代码是…

网工实验笔记:IPv6(配置6to4隧道)

1. 实验目的 熟悉6to4隧道的应用场景 掌握6to4隧道的配置方法 2. 实验拓扑 实验拓扑如图所示: 想要华为数通配套实验拓扑和配置笔记的朋友们点赞关注,评论区留下邮箱发给你! 3. 实验步骤 (1)配置IP地址 AR1的配置 …

ActiveMQ反序列化漏洞(CVE-2015-5254)复现

漏洞描述 Apache ActiveMQ 是由美国 Pachitea (Apache) 软件基金会开发的开源消息传递中间件,支持 Java 消息传递服务、集群、Spring 框架等。 Apache ActiveMQ 版本 5.x 之前的 5.13.0 安全漏洞,该漏洞由程序导致,不…