首页 > 编程语言 >全同态加密算法概览

全同态加密算法概览

时间:2024-09-30 16:47:44浏览次数:9  
标签:加密 同态 概览 算法 20% 密文 加密算法

我们前面有谈到《Paillier半同态加密算法》,半同态加密算法除了支持密文加法运算的 Paillier 算法,还有支持密文乘法计算的 RSA 算法,早期的PSI(隐私求交)和PIR(匿踪查询)都有使用基于RSA盲签名技术来实现今天我们来谈谈能够有效支持任意函数密文计算的全同态加密算法 (fully homomorphic encryption, FHE) 。鉴于全同态加密的强大功能,一经提出便成为密码界的公开问题,被誉为“密码学圣杯”。目前可以构造全同态加密的密码学假设主要有:理想格上的理想陪集问题(Ideal Coset Problem,ICP)、整数上的近似最大公因子问题(Approximate Greatest Common Devisior, AGCD)、带错学习问题(Learning with Errors,LWE)等等。

什么是全同态?

加密能让敏感信息在存储或传输时受到保护。但是标准加密技术要求数据解密才能操作。同态加密背后的想法是不解密并直接计算加密数据。这一名字来自于数学概念同态性(Homomorphism):一个集合的元素在保持原有元素间关系的情况下转换为另一集合的元素。全同态加密(Fully Homomorphic Encryption,简称FHE)是一种创新的加密技术,它可以实现在不解密的情况下,对加密数据进行任意计算,并得到与明文计算结果相同的加密结果。而我们说的“全”同态,需要它能同时支持密文的加法和乘法,因为所有的程序都能表示为电路的加法和乘法。

全同态加密方案可以解释为这样一种加密方案:给定一些密文,对明文的加法乘法操作都可以通过直接在密文上进行且无需要解密。

记全同态加密方案为,共有4个算法:密钥生成算法KeyGen、加密算法Enc、解密算法Dec、同态运算算法Eval,其主要工作流程为:

(1) 给定安全参数\lambda,运行密钥生成算法 KenGen(1^\lambda ),生成公钥pk,私钥sk,同态计算公钥evk

(2) 给定明文m_1, m_2,..., m_k和公钥 pk,对 i\varepsilon [1, k],运行加密算法 Enc(pk,m_i),生成密文ct_i

(3) 给定函数f和一些密文ct_1,ct_2,...,ct_k,同态计算公钥evk,运行同态运算算法Eval(f, evk, ct_1, ct_2, ..., ct_k),获得密文ct_1,ct_2,...,ct_k在经过函数同态运算的密文结果ct_f

(4)用私钥sk对密文ct_f运行解密算法Dec(sk,ct_f),获得相应的明文m_f=f(m_1, m_2,...,m_k)

其中第(3)步的同态运算算法就是同态加密方案的核心,对Eval输入密文可以实现任意函数的计算,更进一步还可以计算解密函数,这也是构造全同态加密方案的重要途径。

一个安全且合理的全同态加密方案具有4个安全性质:正确性,语义安全性,同态性,紧凑性

全同态发展历史

2009 年Gentry首次给出了全同态加密算法的一个理论可行的蓝图,这是对全同态加密算法探索的第一个重大突破。在 Gentry 工作的基础上,全同态加密研究得到飞速发展,包括更高的计算效率、更一般的困难性假设以及更广泛的应用在内的一系列改进工作纷纷涌现。自 2009 年 Gentry 的突破性工作至今,全同态加密算法根据其构造方法可划分为四代。

第一代以 Gentry 基于理想格的方案以及 van Dijk 等基于整数的方案为代表。Gentry的全同态加密方案,找到了理想格这个既支持同态加法又支持同态乘法的工具,还开创性地提出了自举的思想,使得全同态加密方案可以通过类同态加密方案构造。但这一代算法的通病是错误增长速度过快,对算法的安全性和效率有较大负面影响。

第二代全同态加密算法起源于 2011 年 Brakerski-Vaikuntanathan 以及 Brakerski 等的工作,这一代算法基于格困难问题,使用了比第一代算法更通用的安全假设、更优的错误控制技术、更好的明文编码技术,大幅改进了密文计算效率。它率先提出了密钥切换操作控制密文乘法的维数扩展、模切换操作控制噪声增长速度的想法。在此基础上,后续的同态方案对BV11的效率和噪声控制进行了优化,并设计了适配的自举算法。

第三代全同态加密算法的研究开始于 Gentry 等的工作,由Gentry、Sahai和Waters提出了基于矩阵的近似特征向量技术的同态加密方案,这一代算法使用了与第二代不同的构造模式,在控制错误增长方面具有很好的潜力。它的技术特点是使用了矩阵的密文形式,矩阵密文做乘法避免了向量密文的维数扩张问题,同时将乘法噪声的增长速度由指数级降低到线性级。

第四代全同态加密算法以 CKKS (Cheon-Kim-Kim-Song) 算法为代表,其核心思路是使用近似计算取代原有全同态加密算法中的精确计算,以取得更高的计算效率。它适用于一些不需要精确计算的场景,在自举操作中用多项式函数近似计算替代了精确的比特提取。

下图展示了4类全同态方案诞生的时间顺序,括号内列举了其分支下的重要论文,箭头表示两类方案存在一定的相关性但发表时间有先后:BGV方案继承了Gentry类方案的主要思想,但方案构造的基础假设不同,控制噪声的技术也不同。GSW方案与BGV的基础假设相同,但改变了密文结构;CKKS方案的密文结构、同态操作与BGV基本相同,但消息空间不同、适用运算场景不同。

全同态加密的不同技术路线分支及其代表性方案
第一代全同态加密Gentry 的技术路线

Gentry 开创性的给出了基于理想格设计 FHE 的技术路线,算法的安全性基于理想格上的稀疏子集和问题(sparsesubset sum problem,SSSP)。此后, Gentry 受到了 van Dijk 等工作的启发,在其博士论文中设计了基于整数全同态加密算法的雏形,这一工作在他们随后的论文中得以完善,算法基本原理如下:

令大奇数 p 表示整数加密方案的私钥,对于明文比特 b\ \epsilon \{0, 1\},其对应的密文 c = pq + 2r + b。当随机选取整数 qr 满足\left | r \right | \ll q时,密文 c 与私钥 p 的整数倍 pq 接近。因此,可通过对密文执行模 p 运算得到 c\ mod\ p = 2r + b \ \epsilon [-p/2, p/2) ,再对结果模 2 得到 (c\ mod\ p)\ mod\ 2 = b,从而实现解密。

对于上述整数加密方案,可以对两个相同密钥加密的密文执行加法或乘法运算,即有 c_i = q_ip + 2r_i + b_ii = 1,2 , 令 c^+ = c_1 + c_2, c^\times = c_1 \times c_2 , 则c^+, c^\times与原密文c_1, c_2结构相似且满足:

其中{q}',{q}''表示某个整数,{r}' \approx r_1 + r_2, {r}'' \approx 2r_1r_2。因此当初始错误 r_1, r_2 相对于 p足够小时, 则密文加法和乘法的结果c^+, c^\times仍可正确地解密。也就是说,该整数加密方案可支持次数较低的多项式密文运算,所得结果解密后与对明文比特执行在F_2上的多项式运算一致。van Dijk 等证明了该方案的安全性可以归约到近似的最大公约数问题,保证了算法的可证明安全性。

上述算法虽然能在一定程度上实现同态运算,但不满足紧凑性,即密文的大小随着评估函数次数增大。同时,该算法仅支持较低次数的多项式计算,这是由于算法中的错误随着乘法次数快速增长,当错误大于p/2时,算法就无法正确解密。van Dijk 等提出了一种解决紧凑性问题的方法: 首先公开多个不同长度的p的倍数,再使用这些公开参数进行模数转换来控制密文的增长。对于错误增长导致解密错误的问题,则需要使用自举技术 (bootstrapping) 来加以解决。

自举技术

Gentry 在其开创性工作中提出: “对于任意的同态加密算法,若算法支持评估其自身的解密函数电路 (以及一个额外的与非门),则该算法可以转换为一个全同态加密算法。” 这句话中所提出的 “评估自身的解密函数电路” 指的正是自举技术。因此,自举技术是 Gentry 提出的全同态算法技术路线中的核心,也是当前延续 Gentry 技术路线发展而来的三代全同态加密算法实现全同态计算的关键。具体来说,对于任意的密文c_1, c_2考虑以下函数:

函数D^\ast _{c_1,c_2}(sk)的输入是私钥,用该私钥解密密文c_1, c_2得到明文b_1, b_2,再输出b_1, b_2的与非结果。如果同态加密的密文计算深度能够支持对任意密文对c_1, c_2执行函数D^\ast _{c_1,c_2}(sk)评估,则该同态加密方案为可自举的方案,能够转化为全同态方案。

第一代全同态加密的特点

第一代全同态加密的主要工作有 Gentry 基于理想格的方案、van Dijk 等基于整数的方案及其变种。这些方案的普遍缺陷是错误增长速度过快限制了同态计算的深度。具体来说,对于初始错误为 \delta 的密文,经过次数为 d 的多项式运算后,其结果中蕴含的错误大小约为 \delta ^ d。尽管这些算法的解密函数深度较浅,但快速增长的错误依然限制了它们对自身解密函数的评估,由此引起的自举困难降低了第一代全同态加密算法的实用价值。

第二代全同态加密BV 算法的技术路线

2011 年,Brakerski 与 Vaikuntanathan 给出了基于 LWE 及 RLWE 问题的全同态加密算法的构造方法,标志着第二代全同态加密算法的开端,其基本思想如下:

对于一个 LWE 问题的样本 (a, b = < a, s> + 2e) 以及私钥 s。令 m\ \epsilon\ F_2 表示明文,其加密后的密文为:  c = (a, {b}' = b + m)\ \epsilon\ Z^n_q \times Z_q,其中 e 表示采样自错误分布 \chi 的随机错误。当解密时,通过以下公式完成解密运算:  ({b}' - < a, s> \ mod\ q)\ mod\ 2 = (2e + m)\ mod\ 2。容易验证当错误 e < q/2 时,以上加解密流程可以正确得到明文。 若将 (-s, 1)记为 {s}' ,则有 m = < c, {s}'> \ mod \ 2

对于两个相同密钥加密的明文 m_1 = < c_1, {s}'> \ mod\ 2m_2 = < c_2, {s}'> \ mod\ 2

则有

注意到对于相同密钥加密的明文,其加法同态性是显然的,而它们的乘积可以视为一组以(1, s, s^2 )为私钥的 LWE 问题样本,若能够将乘积中s^2对应的项转换为密钥 s 的表达式,则可以将密文乘法 的结果转换为 LWE 问题的标准形式,从而进一步执行其他的同态计算,因此,这一转换的过程是第二代全同态加密算法的关键技术,被称为重线性化 (re-linearization technique) 或密钥转换技术 (key switching technique)。

密钥转换和模转换技术

重线性化或密钥转换技术的提出可以解决基于 LWE/RLWE 问题的第二代全同态加密算法在计算密文乘法时,密钥规模以平方的规模快速增大的问题,其核心思想是通过将原密钥中的每一项及由这些项所组成的全部二次项使用新密钥加密,使原密钥加密下的密文乘法的结果可通过新密钥的线性函数表示,此时可将结果转换为以新密钥加密的标准 LWE 问题样本。

此外,Brakerski 还提出了一项显著降低全同态加密错误增长速度的技术,称之为模转换技术 (modulus switching techinque)。其核心思想是对于 Z^n_q 上的密文 c,通过令 c 中的各项分别乘以 p/q并取整,可以将密文 c 转换为Z^n_q上的密文,此时因同态加密积累的错误总量也同步减少了约 q/p倍。通过精心选取参数 pq 的大小,能够将错误的增长速度控制在较小的规模。

第二代全同态加密的特点

第二代全同态加密算法以 2011 年 Brakerski 等 的工作为代表。第二代算法在第一代算法的基础上实现了多个实用性的优化,包括更好的错误增长控制技术、 更标准的困难性假设以及多项效率优化技术。利用错误增长控制技术可使第二代全同态加密算法中错误增长速度从密文计算深度的线性量级降为对数量级,这一技术是 “分层” 同态算法以及全同态算法得以实用化的关键。第二代全同态加密算法使用的标准困难问题假设包括容错学习问题 (learning with errors) 或 NTRU 问题等,这些问题的困难性有着更完备的归约并经历了长时间的考验, 能够为 全同态加密算法奠定更牢固的安全性基础。第二代算法在效率优化方面的改进主要包括明文打包技术 (packing) 以及自举效率优化,这些优化技术大幅改进了全同态加密算法的计算效率,使算法的密文计算效率较明文计算效率在渐进复杂度上仅付出约O(log^kn)的额外开销,其中 n 表示安全强度,k 为常数。

第三代全同态加密GSW 算法的技术路线

第二代全同态加密算法的核心技术是密钥转换和模转换。2013 年Gentry 等给出了一种基于 LWE/RLWE 问题设计全同态加密算法的新思路,在他们的技术路线中,无需使用密钥转换和模转换技术仍可以有效控制同态加密的错误增长,其主要设计思路如下:

对于一个 LWE 问题的样本(a, b = < a, s> + e),令公钥为 A = (a, b),私钥为 {s}'= (-s, 1)。则有 {s}'A = e \approx 0

令 m \epsilon F_2 表示明文,其加密后的密文为 C = AR + mG,其中 RF_2 域上的随机矩阵,G 表示块对角矩阵。

解密时需要计算{s}'C = {s}'AR + m{s}'G,当{s}'A \approx 0R较小时, 则有{s}'AR \approx 0。因此{s}'C \approx m{s}'G ,即可根据已知的私钥 {s}' 获得明文。

对于两个相同密钥加密的明文C_1 = AR_1 + m_1G , C_2 = AR_2 + m_2G,容易观察到:  {s}'(C_1 + C_2) = {s}'AR_1 + m_1{s}'G + {s}'AR_2 + m_2{s}'G \approx (m_1 + m_2){s}'G 。可知能够满足加法同态性.

而对于密文乘法,则需要定义非对称乘法规则如下:  {s}'C^\times = {s}' (C_1G^{-1}(C_2)) \approx m_1{s}'G \cdot m_2 = (m_1 \cdot m_2){s}'G 。

C_1G^{-1}(C_2)所得结果对应于两个明文乘积的密文。

非对称密文乘法

第三代全同态加密算法的核心是非对称乘法,该技术利用了以下原理: 对于任意的整数 x \epsilon Z_q,可将其表示为一组二进制向量x = \sum ^{\left \lceil log q \right \rceil}_{i=0} 2^ix_i ,即 x = g \cdot v,其中 g = \{1, 2, 2^2 , . . . , 2^{\left \lceil log q \right \rceil}\}。同理对于任意向量 v \epsilon Z^n_q,可以将 g 扩展为块对角矩阵 G \epsilon Z^{n\times n \left \lceil log q \right \rceil}_q,满足 v = G{v}' ,其中 {v}'表示 v 中每个元素的二进制展开,记为 G^{-1}(v),显然有 GG^{-1}(v) = v。此外,由于 G^{-1}(v) 中各元素均取自 {0,1},可知该矩阵的范数较小,这是确保上述非对称乘法成立的关键。

第三代全同态加密的特点

2013 年Gentry 等给出了一种不同于第二代全同态加密算法的设计思路,其核心思想是采用非对称的乘法降低错误增长速度。具体来说,该方案的同态乘法具有非对称性,即 c1 \bigotimes c2 所得的密文不同于 c2 \bigotimes c1 所得密文。在该同态乘法中,错误的增长速度也与乘法顺序有关,被乘数对错误增长速度的影响较乘数更大。利用这一性质可进一步降低密文乘法的错误增长速度,从而使第三代全同态算法在参数选取和安全性归约上更具优势、算法流程更加简洁。

第四代全同态加密CKKS 算法的技术路线

第四代全同态算法以 CKKS 算法为代表,其加解密流程与第二代全同态加密算法类似,主要区别在于其采取了近似计算的策略,即所得计算结果附带一定的误差,这一特点虽然降低了算法的计算精度,但大幅提高了算法的运算效率,因此在一些全同态分类中将 CKKS算法及其改进称为第四代全同态加密算法。

该算法的设计思想如下:

对于一个 LWE 问题的样本 (a, b = - <a, s> + e\ mod\ q),则公钥为 (b, a),私钥为 s^, = (1,s),评估密钥为evk = ({b}' = {a}'s + {e}' + Ps^2\ mod\ Pq, {a}' ) \epsilon Z_{P_q} \times Z_{P_q}。令 m \epsilon R 表示明文多项式,其加密后的密文为: c = ZO(0.5)(b, a) + (m + e_0, e_1)

其中ZO(0.5)表示以 0.5 的概率输出 1 或 −1 的随机函数。解密时则需要计算 < c, {s}'> = m + e_0 + e_1s + ZO(0.5)e \approx m

对于两个相同密钥加密的明文, c_1 = ZO(0.5)(b, a) + (m_1 + e_0, e_1) = (b_1, a_1)c_2 = ZO(0.5)(b, a) + (m_2 + {e}'_0 , {e}'_1 ) = (b_2, a_2)

容易验证其加法同态性: < (c_1 + c_2), {s}' > = < c_1, {s}' > + < c_2, {s}' > \approx m_1 + m_2

对于乘法,令 c^\times = (d_0,d_1) + \left \lfloor P^{-1} \cdot d_2 \cdot evk \right \rceil,其中 (d_0, d_1, d_2) = (b_1b_2, a_1b_2 + a_2b_1, a_1a_2)

可以验证

< c^\times , {s}'> \approx m_1 \cdot m_2

第四代全同态加密的特点

在经典的同态加密算法中,为获得准确的计算结果,通常有两类明文编码方式, 一种利用密文空间中的高比特位保存明文,另一种利用密文空间中的低比特位保存明文。例如: 明文空间模 t,密文空间模 q,则前者的解密运算可表示为 < c,sk> = qI + (q/t)m + e,后者的解密运算则可表示为< c,sk> = m + te。为确保解密正确性, 两者均要求错误 e 较小, 这一条件限制了同态加密算法的参数选取与计算深度。而在 CKKS 算法中,解密运算表示为< c,sk> = qI + m + e,此时错误 e 与明文 m 直接求和,无法通过取整计算将错误从结果中消去。但在另一方面,由于放弃计算 m 的精确结果,CKKS 算法仅需考虑 e 与 m 的相对大小 (即相对误差),因此能够在参数选取和计算过程中采取更直接的方法控制错误的增长速度,如:使用模转换技术同步减小明文和错误,从而令错误大小随算法深度呈线性增长而非指数增长。

小结

当前,BGV (Brakerski-Gentry-Vaikuntanathan),BFV (Brakerski-Fan-Vercauteren),TFHE (fully homomorphic encryption over the torus) 和 CKKS 是应用最广泛的全同态算法,涵盖了第二到四代全同态加密构造方案,值得指出的是,全同态加密算法的四代构造并非改进与替代的关系而是各具特点和适用场景,正因如此,当前学术界呈现出上述四种算法同步发展的现状。总的来说, 第二代和第四代全同态加密算法均可通过高效的明文打包技术实现对多个明文的并行计算,非常适合计算量较大的数值计算,其中第二代适用于需要精确计算的场景而第四代面向近似计算场景;第三代全同态加密算法不支持明文打包,但其设计结构对于逻辑运算友好,能够高效地完成逻辑门形式的密文运算,如下表所示。

全同态常用加密库

Concrete:https://github.com/zama-ai/concrete

使用Rust语言实现了Zama的TFHE变体。Concrete的密码算法基于LWE问题和RLWE问题,研究证明基于这类问题的密码算法是抗量子的。


HElib:https://github.com/HomEnc/HElib

HElib 是一个实现同态加密(HE)的开源代码库。目前实现的方案是包括带有引导的 Brakerski-Gentry-Vaikuntanathan (BGV) 方案和 Cheon-Kim-Kim-Song (CKKS) 的近似数方案的实现,仓库使用了许多优化技术使同态运算更快。


SEAL:https://github.com/microsoft/SEAL

Microsoft SEAL 是一个易于使用的开源(MIT 许可)同态加密库,由 Microsoft 的密码学和隐私研究小组开发。Microsoft SEAL 是用现代标准 C++ 编写的,易于在许多不同的环境中编译和运行。

SEAL-python:https://github.com/Huelse/SEAL-Python/

SEAL-python使用pybind11为SEAL的C++代码提供python接口,方便开发者使用python进行开发。


Palisade: https://gitlab.com/palisade

Palisade是一个开源的同态加密和安全多方计算库,由新墨西哥大学和Sandia国家实验室开发。它支持多种同态加密方案,包括全同态加密、部分同态加密和同态签名等,并提供了C++和Python的API接口。

PALISADE-Python是Palisade同态加密库的Python绑定。它为Python开发者提供了使用Palisade库进行同态加密的能力。


Lattigo:https://github.com/tuneinsight/lattigo

Lattigo实现了基于RLWE的同态加密方案以及基于同态加密的多方安全计算协议。Lattigo使用go语言实现。Lattigo 旨在支持分布式系统和微服务架构中的 HE,选用go是因为其并发模型和可移植性。


HEAAN:https://github.com/snucrypto/HEAAN

HEAAN 是实现支持定点算法的同态加密 (HE) 的软件库。该库支持有理数之间的近似运算。近似误差取决于一些参数,与浮点运算误差几乎相同。


cuFHE:https://github.com/vernamlab/cuFHE

支持GPU加速的全同态加密仓库。它实现了 Chillotti 等人提出的 TFHE 方案 [CGGI16][CGGI17]。使用英伟达泰坦Xp显卡进行实验,比使用CPU进行计算的TFHE方案快20多倍。


cuYASHE:https://github.com/cuyashe-library/cuyashe

cuYASHE 是第一个在 GPGPU 上实现水平全同态方案 YASHE。该库采用 CUDA 平台以及代数技术(如 CRT、FFT 以及多项式和模约简的优化)获得显了著的性能改进。与CPU、GPU 和 FPGA 中最先进的实现方案相比,他有更优异的性能。特别是多项式乘法有 6 到 35 倍的加速。


FINAL:https://github.com/KULeuven-COSIC/FINAL

FINAL实现了论文 "FINAL: Faster FHE instantiated with NTRU and LWE"提出的全同态加密方案。


NuFHE:https://github.com/nucypher/nufhe

NuFHE是基于GPU实现的环上全同态加密方案。该库使用 CUDA 和 OpenCL 实现了 TFHE 的完全同态加密算法。与在内部使用 FFT 来加速多项式乘法的 TFHE 不同,nufhe 可以使用 FFT 或纯整数 NTT(有限域上的类似 DFT 的变换)。后者基于 cuFHE 的算术运算和 NTT 方案。


OpenFHE:https://github.com/openfheorg/openfhe-development

OpenFHE 是一个开源 FHE 库,包括所有常见 FHE 方案的有效实现。


SparkFHE:https://github.com/SpiRITlab/spark

Spark提供了基于全同态加密算法的分布式数据流。


TenSEAL:https://github.com/OpenMined/TenSEAL

TenSEAL 是一个用于对张量进行同态加密操作的库,构建在 Microsoft SEAL 之上。它通过 Python API 提供易用性,同时通过使用 C++ 实现其大部分操作来保持效率。


HEhub:https://github.com/primihub/HEhub

由原语科技推出的同态加密开源算法库 HEhub,作为 PrimiHub 开源生态的一部分。HEhub 是一个易于使用,可扩展性强且性能优秀的密码学算法库,致力于汇集各类同态加密算法及其应用。其目前包含了 BGV、CKKS、TFHE 等全同态加密算法,并将进一步集成更多同态加密方案、常用的计算逻辑以及上层应用接口。

全同态加密算法的选择

对BFV、BGV、CKKS、FHEW、TFHE五种全同态协议进行比较,可归类如下:

  • BFV/BGV:适合处理小区间上的整数向量,无精度损失;

  • CKKS:适合处理浮点数向量,精度控制在1e-6~1e-8;

  • FHEW/TFHE:适合处理分段函数/非连续函数,精度控制在1e-4。

全同态加密应用场景

外包存储及外包计算

同态加密最直接的应用场景是外包计算。该应用中,云端提供大规模存储和高性能计算服务,客户端 (如: 小型企业) 将私有数据以同态加密形式保存在云端。云端可利用自身的计算能力和同态加密性质直接对这些密文数据执行操作并将密文结果返回给客户端,客户端对密文解密即可获得需要的计算结果。这里,同态加密算法提供了一种简洁的云计算安全解决方案,既保护了云上数据的安全性,又使云平台具备了对云上数据操作的能力。

隐私信息检索及查询

另一个全同态加密的典型应用场景是面向数据库或搜索引擎的隐私信息查询。该应用中, 服务器拥有大型数据库并提供检索服务,客户端可借助全同态加密技术实现对该数据库的隐私信息检索 (private information retrieval) ,既获取服务器检索数据又避免服务器得到关于查询条目的任何信息。具体来说, 服务器可利用数据库构造密文检索函数f_{db}(i) = db[i],客户端加密需要查询的索引 i 并发送给服务器,服务器使用评估函数得到f_{db}(i)的密文结果并将其返回客户端,客户端解密后即达到隐私信息检索的目的。类似做法也可应用于更复杂的查询操作 (如数据库 SQL 查询、 搜索引擎的自由格式查询等) 以满足更实用化的隐私检索和查询任务的需要。

通用两方安全计算

外包计算和隐私信息检索都属于安全多方计算的研究范畴,可看作通用安全多方计算研究中的两种特例。事实上,一般化的安全多方计算模型也可以通过全同态加密算法实现。在通用的两方安全计算模型中,参与方 A 持有输入 x,参与方 B 持有输入 y,两方共同计算某个已知函数 F,参与方 A 能获得结果 F(x,y),参与方 B 得不到任何额外信息。在半诚实敌手模型中,参与方 A 可使用其公钥加密输入 x 并发送给 B,参与方 B 评估函数 F_y(x) = F(x, y)并将密文结果返 回给 A。这就实现了半诚实假设下基于全同态加密的通用两方安全计算模型。在这个过程中,同态加密算法的语义安全性 (semantic security) 保证了参与方 B 无法获取额外信息。使用隐藏评估函数的同态加密方案可以防止参与方 A 获取除结果 F(x,y) 外的额外信息。利用标准的技术可以将该协议进一步转化为恶意假设下的安全多方计算协议。

除此之外,全同态加密在 Web3 中可以用于交易隐私保护、AI 隐私保护和隐私保护协处理器。其中尤其看好隐私保护 EVM,它比现存的环签名、混币技术和 ZK 都要更灵活,更适配 EVM。

关于全同态加密的学习路线可参考:陈智罡博士 - 如何学习全同态加密(致远老师-知乎)全同态加密学习路线(六三老师-知乎) 。

标签:加密,同态,概览,算法,20%,密文,加密算法
From: https://blog.csdn.net/Jackie_vip/article/details/142529721

相关文章

  • Win11 21H2至23H2:无缝升级指南与23H2新功能概览
    Win1121H2至23H2:无缝升级指南与23H2新功能概览随着微软Windows11操作系统的不断迭代,新版本带来了众多令人期待的功能与性能优化。对于已经在使用Win1121H2版本的用户而言,如何顺利升级到最新的23H2版本成为了一个关注点。本文将详细介绍两种升级方法,并深入探讨Win1123H2......
  • VMware Tanzu Kubernetes Grid Integrated Edition 1.20 发布下载,新增功能概览
    VMwareTanzuKubernetesGridIntegratedEdition1.20发布下载,新增功能概览VMwareTanzuKubernetesGridIntegratedEdition(TKGI)1.20.0-运营商Kubernetes解决方案Kubernetes-basedcontainersolutionwithadvancednetworking,aprivatecontainerregistry,an......
  • ​VMware NSX 4.2.0.2 发布,新增功能概览
    ​VMwareNSX4.2.0.2发布,新增功能概览VMwareNSX4.2.0.2-网络安全虚拟化平台构建具有网络连接和安全性的云智能网络,跨多种云环境支持一致的策略、运维和自动化。请访问原文链接:https://sysin.org/blog/vmware-nsx-4/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.o......
  • 【专题】新能源发电行业及其市场化进程概览白皮书报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=37802随着中国经济结构的持续优化以及能源政策的不断进步,我国的能源消费呈现出稳定增长的态势。与此同时,能源利用效率逐步提高,清洁能源在能源结构中的比例也在稳步上升,这为国家的可持续发展战略提供了有力的支撑。文末204份电力行业研究报告最新趋......
  • Nexpose 6.6.270 发布下载,新增功能概览
    Nexpose6.6.270forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releaseSep18,2024请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序新增功能2024年9月18......
  • 微服务监控实战(一):监控概览
    如果你觉得这篇文章对你有帮助,请不要吝惜你的“关注”、“点赞”、“评价”,我们可以进一步讨论实现方案和细节。你的支持永远是我前进的动力~~~灵魂拷问服务之间的依赖关系?服务的资源使用情况?每天的业务高峰期是哪个时间段?每天发生多少次异常?有多少次是在收到业务反馈之......
  • Cisco ASAv 9.22.1 发布,新增功能概览
    CiscoASAv9.22.1-思科自适应安全虚拟设备(ASAv)CiscoAdaptiveSecurityVirtualAppliance(ASAv)请访问原文链接:https://sysin.org/blog/cisco-asav/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科自适应安全虚拟设备(ASAv):新增功能重要说明ASA9.......
  • 银狐营销与电销系统深度开发解析及核心代码概览
    一、系统开发背景与概述银狐营销与电销系统是为满足现代企业高效营销与客户管理需求而量身定制的一站式解决方案。该系统集成了数据收集、清洗、分配、跟踪及安全防护等多个功能模块,旨在通过智能化手段提升营销效率与客户服务质量。本文将对银狐营销与电销系统的开发背景、主要功能......
  • Cisco ASA 9.22.1 发布下载,新增功能概览
    CiscoASA9.22.1-思科自适应安全设备(ASA)软件CiscoAdaptiveSecurityAppliance(ASA)请访问原文链接:https://sysin.org/blog/cisco-asa/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org新增功能重要说明ASA9.22(1)及更高版本不支持Firepower2100-......
  • Cisco Secure Firewall Threat Defense Virtual 7.6.0 发布下载,新增功能概览
    CiscoSecureFirewallThreatDefenseVirtual7.6.0-思科下一代防火墙虚拟设备(FTDv)FirepowerThreatDefense(FTD)SoftwareforESXi&KVM请访问原文链接:https://sysin.org/blog/cisco-firepower-7/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoSe......