FHE 的应用场景

news2024/11/15 21:55:25

参考文献:

  1. [MSM+22] Marcolla C, Sucasas V, Manzano M, et al. Survey on fully homomorphic encryption, theory, and applications[J]. Proceedings of the IEEE, 2022, 110(10): 1572-1609.

文章目录

  • FHE
    • First Generation
    • Second Generation
    • Third Generation
    • Fourth Generation
    • Others
    • 实现
  • 应用场景
    • Machine Learning
    • Fog Computing for IoT
    • Cloud Computing

综述文章 [MSM+22] 参考了超过 300 篇文献,对 FHE 做了不错的调查,内容包括:方案、攻击、应用、实现。

FHE

一些主流 FHE 方案的时间轴:

在这里插入图片描述

First Generation

FHE based on ideal lattices

[Gen09] 通过 SWHE 以及 Bootstrapping 技术,基于理想格第一次构造出了 FHE 方案。它考虑 L ( I ) \mathcal L(I) L(I)​ 的 “坏基” 和 “好基”,利用 Babai’s NP 加解密。原始的解密电路无法被自身支持,因此提出了 Squash 技术,将私钥写成 Sparse Subset Sum Problem(SSSP)的形式。最终的 FHE 基于三个假设:SSSP、BDD、Ideal-SVP,其数学结构难以高效实现,比明文运算慢了 1 0 9 10^9 109 倍,并且主理想存在弱点

在这里插入图片描述

FHE based on the AGCD problem

[DGHV10] 构造了基于 SSSP 以及 Approximate - Greatest Common Divisor(AGCD)问题的 FHE,给定随机的整数集合 { x 0 , ⋯   , x n } ⊆ Z \{x_0,\cdots,x_n\} \subseteq \mathbb Z {x0,,xn}Z,去寻找一个大整数 p p p,使得它是近似的公因子。后续 [CS15] 给出了从 LWE 到 AGCD 的归约,移除了 SSSP 假设。

在这里插入图片描述

Second Generation

FHE based on LWE and RLWE

[BV11] 基于 LWE 构造 FHE,提出了 re-linearization 以及 dimension-modulus reduction 技术,后者淘汰了 Squash 技术,从而不再需要 SSSP 假设。[BGV12] 定义了新的范式 Level FHE,对于先验的有限深度的电路不再需要 Bootstrapping 技术。[GHS12] 给出了 BGV 的 RNS 变体,[Bra12] 以及 [FV12] 给出了 BGV 的 scale invariant 变体 B/FV,[BEHZ16] 和 [HPS19] 给出了 BFV 的 RNS 变体,[KLPX18] 给出了 BFV 的大明文模数的变体。

在这里插入图片描述

FHE based on NTRU

[SS11] 略微修改了 NTRU(带噪),给出了到 RLWE 的归约。[LTV12] 基于 SS-NTRU 构造了 FHE,它基于 RLWE 和 Decisional Small Polynomial Ratio(DSPR)假设,后者是说区分 h = g f − 1 ( m o d q ) h=gf^{-1}\pmod{q} h=gf1(modq) 和均匀分布。[BLLN13] 给出了 LTV 的 scale invariant 变体 YASHE,移除了 DSPR 假设。

在这里插入图片描述

Third Generation

FHE based on LWE and RLWE

[GSW13] 基于 LWE 构造出了不需要 KSK 的 FHE,并且同态乘法的噪声增长仅为多项式级别(而 BGV/BFV 的则是拟多项式的因子)。[AP14] 将取模运算表示为算术函数(对称群,置换矩阵的乘法)而非布尔电路,提出了 AP-type 自举算法(密文分解 + 选择私钥)。[DM15] 基于 RLWE 问题构造了 FHEW,在单位群上使用 AP 算法给出了盲旋转。[CGGI16] 利用 [GINX16] 提出的 GINX-type 自举算法(二元秘密 + 选择密文)构造了 TFHE,并提出了更快的外积。[CLOT21] 给出了 PBS 的扩展。[LMK+23] 给出了基于自同构的盲旋转算法,支持任意分布的秘密,且 BK 规模较小。

在这里插入图片描述

FHE based on NTRU

[BIP+22] 提出了基于 NTRU 假设的 TFHE 变体 FINAL,由于 NTRU 比 RLWE 的元素更少,因此秘钥规模更小,自举速度更快。[XZD+23] 提出了采用 LMK-type 自举算法的 NTRU-FHE,使得 KS 与外积一样快。

Fourth Generation

FHE based on LWE and RLWE

[CKKS17] 提出了近似运算的 Level FHE,[CHKKS18a] 提出了 CKKS 的自举算法(近似取模),[CHKKS18b] 给出了 RNS 变体。后续的 [CCS19]、[HK20]、[BMTH21] 等大量工作改进了 CKKS 的自举算法。

在这里插入图片描述

Others

FHE based on FFI

[DHP+18] 提出了一种基于 Finite Field Isomorphism(FFI)问题的 FHE,说的是恢复两个有限域之间的同构映射是困难的。所设计的 SWHE 的同态运算是自然的,这类似于 GSW,不需要 KSK。

实现

Libraries

目前已经存在许多的同态算法的开源库

在这里插入图片描述

Compilers

不过开源库提供的 API 依旧需要人们较为了解它们的功能和原理,因此人们设计了编译器,可以将标准代码转换为某些同态库的实现。

在这里插入图片描述

Accelerators

最初 [Gen09] 方案比明文运算慢了一亿倍,后续的各种同态方案提升了 3-4 个数量级,但是依旧比明文运算慢得多。设计 FPGA 加速器,可以提升 1-2 个数量级,但是与 CPU 之间的数据移动很慢;设计 ASIC 加速器,可以提升 3-4 个数量级,速度接近明文运算

应用场景

Machine Learning

Support Vector Machines(SVMs)

SVMs 是一种广泛应用的分类模型。有一些工作结合 Additive HE(比如 Paillier)以及 MPC(例如 SS)实现隐私保护的 SVM 的训练和分类。

Neural Networks(NN)

将 NN 视为回归模型的泛化。有一些工作结合 Additive HE 和以及 Garbled Circuits 实现了大数据集上的峰岭回归。[DGL+16] 设计了 CryptoNets,它实现了以 Sigmoid 为激活函数的前馈网络的预测(不用于训练),计算性能有限。后续的一些工作研究了在大数据、共享框架下的 deep NN 上的同态训练。

Fog Computing for IoT

在物联网(IoT)中存在 device 以及 cloud service,雾计算指的是在两者之间靠近 device 的地方存在一层 fog layer,用于预处理 device 发送的数据,一般是 event-driven 以及 packet-by-packet 方式处理的。

我们让 collector 生成公私钥,让 sensors 对数据 FHE 加密,传递途中的 fog layer 做预处理,最后数据汇总到 collector 解密出明文。当然 sensor 能力有限,而 FHE 会密文膨胀,因此可以采用 hybrid homomorphic encryption(HHE),组合使用 FHE 以及 symmetric key encryption(SKE),但是 fog layer 需要同态解密 SKE 回到 FHE

在这里插入图片描述

Cloud Computing

Homomorphic Proxy Re-Encryption((HPRE)

代理重加密说的是 delegator 授权 proxy 能够将它的密文转化为 delegatee 的密文,从而后者可以在不知道前者的私钥情况下解密前者的密文。HPRE 的一种简单实现就是 delegator 利用 delegatee 的 pk 加密自身的 sk 发送给 proxy,于是 proxy 可以在不知道 sk 的情况下实现密文的重加密。缺点是一旦 proxy 和 delegatee 共谋,那么 delegator 的 sk 就泄露了。有一些工作可以抵御上述攻击。

在这里插入图片描述

Homomorphic Authenticated Encryption(HAE)

可认证的同态加密,它可以检验同态运算结果的正确性,这用于抵御云计算的随意返回无用运算。 homomorphic

一般 HAE 可以组合使用 HE 以及 homomorphic authentication(HA),后者是附加在密文上的 homomorphic signatures(HS)。可以证明,如果 HE 和 HA 都是 IND-CPA 安全的,那么 HAE 就是 IND-CCA1 安全的。也有对称版本的解决方案 homomorphic MACs。

在这里插入图片描述

Multi-Party Computation(MPC)

MK-FHE 天然可以构造出 2 轮通信的 MPC,不过只要有一个参与方失败那么整个协议都会失败。Threshold MK-FHE 可以解决这个问题。FHE 只能提供被动安全,还需要添加 ZKP 实现主动安全性。

在这里插入图片描述

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

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

相关文章

编码规则转换

思考: 如何将一个机内码转换为区内码? 只要将机内码减去 A0A0 就可以啦 如果只让我们用加法器来解决呢? 注意我们的数据占用了 32 位,如果想用补码进行减法运算的话,符号位怎么办??&#xf…

2199. 骑士共存问题(最小割,最大权独立集,二分图)

活动 - AcWing 在一个 n∗n 个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示。 棋盘上某些方格设置了障碍,骑士不得进入。 对于给定的 n∗n个方格的国际象棋棋盘和障碍标志,计算棋盘上最多可以放置多少个…

2024年腾讯云优惠券_代金券_云服务器折扣券免费领取链接

腾讯云优惠代金券领取入口共三个渠道,腾讯云新用户和老用户均可领取8888元代金券,可用于云服务器等产品购买、续费和升级使用,阿腾云atengyun.com整理腾讯云优惠券(代金券)领取入口、代金券查询、优惠券兑换码使用方法…

UE5中实现后处理深度描边

后处理深度描边可以通过取得边缘深度变化大的区域进行描边,一方面可以用来做角色的等距内描边,避免了菲尼尔边缘光不整齐的问题,另一方面可以结合场景扫描等特效使用,达到更丰富的效果: 后来解决了开启TAA十字线和锯齿…

【go从入门到精通】go包,内置类型和初始化顺序

大家好,这是我给大家准备的新的一期专栏,专门讲golang,从入门到精通各种框架和中间件,工具类库,希望对go有兴趣的同学可以订阅此专栏。 go基础 。 Go文件名: 所有的go源码都是以 ".go" 结尾&…

latex宏包pythontex使用简明手册

文章目录 1.背景2. 基本示例2.1 hello world2.1.1 代码与输出结果2.1.2 说明2.1.3 如何编译使用了pythontex宏包的Latex文档2.1.4 如何既输出python代码又输出代码执行结果 2.2 在Latex中嵌入python变量的值2.2.1 示例代码与文档输出2.2.2 说明 2.3 在latex文档中输出控制台会话…

2.29号的复盘开始商城项目的规格如何设施的方式

第五次设计方式 我本来想的是,按照对于的组方式解拆分,通过分组处理的内存不同查询对应的手机上 出现问就是这里 对于的组相应规格相应里面有对于的价格,价格也就相同,无法进行区分 查询出来的对应的结果 还是没有办法具体拆分…

现货大宗商品发售平台搭建须知

在搭建现货大宗商品发售平台时,需要考虑以下关键因素: 目标市场分析:首先要明确你的平台将服务于哪些大宗商品市场,如农产品、金属、能源等。了解这些市场的特点、参与者、交易规则等,有助于你设计出更符合市场需求的…

解析/区分MOS管的三个引脚G、S、D(NMOS管和PMOS管)

MOS管的三个引脚分别是Gate(栅极)、Source(源极)和Drain(漏极)。以下是详细介绍: Gate(栅极)。这是控制MOS管开关的关键引脚,用于控制电流的流通。Source&…

pikachu验证XXE漏洞

先随便输入一个内容查看 接下来用bp抓包看下参数 有个xml参数&#xff0c;而且Content-Type: application/x-www-form-urlencoded&#xff0c;我们传入url编码后的xml内容试一下 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE foo [<!EN…

社区店选址人流量标准:如何确保充足的顾客流量

在选择社区店的位置时&#xff0c;确保充足的顾客流量是至关重要的。 作为一名开鲜奶吧5年的创业者&#xff0c;我将分享一些关于社区店选址人流量标准的关键要点&#xff0c;帮助你找到最适合的店铺位置。 1、研究人口统计学数据 了解潜在顾客的人口特征是选址的基础。通过研…

Unity3D学习之Lua热更新解决方案(二)XLua

文章目录 1 XLua概述2 xLua导入和AB包相关准备3 C#调用Lua3.1 Lua解析器3.2 文件加载重定向3.3 Lua解析器管理器3.3.1 重定向AB包内的Lua3.3.2 获得_G大表 3.4 全局变量的获取3.5 全局函数的获取3.5.1 无参无返回3.5.2 有参有返回3.5.3 多返回值3.5.4 变长参数 3.6 List和Dicti…

C 嵌入式系统设计模式 18:临界区模式

本书的原著为&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;讲解的是嵌入式系统设计模式&#xff0c;是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述嵌入式并发和资源管理模式之四…

【AIGC】OpenAI推出王炸级模型sora,颠覆AI视频行业(2024)

对于OpenAI推出的Sora模型&#xff0c;我们可以进一步探讨其可能的技术细节、潜在应用以及对AI视频行业的影响。 点击以下任一云产品链接&#xff0c;跳转后登录&#xff0c;自动享有所有云产品优惠权益&#xff1a; 经过笔者亲测&#xff0c;强烈推荐腾讯云轻量应用服务器作…

前端打包部署(黑马学习笔记)

我们的前端工程开发好了&#xff0c;但是我们需要发布&#xff0c;那么如何发布呢&#xff1f;主要分为2步&#xff1a; 1.前端工程打包 2.通过nginx服务器发布前端工程 前端工程打包 接下来我们先来对前端工程进行打包 我们直接通过VS Code的NPM脚本中提供的build按钮来完…

Http基础之http协议、无状态协议、状态码、http报文、跨域-cors

Http基础 HTTP基础HTTP协议请求方法持久连接管线化 无状态协议使用Cookie状态管理 状态码1XX2XX OK200 OK204 NO Content206 Content-Range 3XX 重定向301302304307 4XX400401403404 5XX500503 HTTP报文请求报文响应报文通用首部字段Cache-ControlConnectionDate请求首部字段Ac…

Python编程小案例—利用flask查询本机IP归属并输出网页图片

Python编程小案例—利用flask查询本机IP归属并输出网页图片 环境&#xff1a;Pycharm Mac OS 源码如下&#xff1a; from flask import Flask, render_template, requestapp Flask(__name__)app.route(/) def index():return render_template(IP查询.html)if __name__ __…

还在用Jenkins?快来试试这款简而轻的自动部署软件!

最近发现了一个比 Jenkins 使用更简单的项目构建和部署工具&#xff0c;完全可以满足个人以及一些小企业的需求&#xff0c;分享一下。 Jpom 是一款 Java 开发的简单轻量的低侵入式在线构建、自动部署、日常运维、项目监控软件。 日常开发中&#xff0c;Jpom 可以解决下面这些…

STM32 DMA入门指导

什么是DMA DMA&#xff0c;全称直接存储器访问&#xff08;Direct Memory Access&#xff09;&#xff0c;是一种允许硬件子系统直接读写系统内存的技术&#xff0c;无需中央处理单元&#xff08;CPU&#xff09;的介入。下面是DMA的工作原理概述&#xff1a; 数据传输触发&am…

venv、pip、conda、anaconda、miniconda的区别和优缺点,和彻底清除python多余的环境

virtualenv(venv) 这是一个虚拟环境管理器&#xff0c;它可以让你每个项目甚至每个脚本配置一个自定义的Python解释器环境&#xff0c;这最大的好处是我可以不污染开发环境。​ pip pip 是 Python 最常用的包管理器&#xff0c;它能自动处理依赖 。 conda 如果说venv是虚拟…