fhe
1.引言
1.1背景
目前, 在大数据和云计算等应用的驱动下, 数据的隐私保护问题越来越受到人们的重视. 全同态加密(fully homomorphic encryption, FHE) 是目前用来解决数据隐私保护的主要技术手段之一。
全同态加密是一种加密技术,它可以使得加密后的数据在计算过程中保持不变,从而实现对数据的隐私保护。在当前信息化社会中,随着个人隐私和机密数据的不断增加,保护数据的安全和隐私成为了重要的任务。因此,全同态加密技术受到了广泛的关注和研究。
1.2 历史
全同态加密最早可以追溯到 1978 年, Rivest 等人 针对 “保密数据库” (private data banks) 的应用场景提出了全同态加密的概念 (当时被称之为 “隐私同态, privacy homomorphic”). 在此后的三十年里, 密码学家们对同态加密进行了非常深入的研究, 相继提出了单同态加密方案 (partial homomorphic encryption, PHE) 和部分同态加密方案 (somewhat homomorphic encryption, SHE). 单同态加密方案的特点是只能够支持同态加法或者同态乘法中的单一同态运算, 代表方案有支持乘法同态的 GM82 方案 和 ElGamal 方案以及支持加法同态的 Paillier 方案. 部分同态加密方案的特点是能够支持有限次数的同态加法和同态乘法, 其代表方案为 BGN05, 该方案是基于双线性映射中的困难问题构造出来的, 它除了能够支持任意多次的同态加法之外, 还能够支持一次同态乘法, 而且不会增加密文的尺寸. 第一个可行的全同态加密方案是由 Gentry 于 2009 年基于理想格上的困难问题构造出来的。
2009 年, Gentry 除了给出第一个可行的全同态加密方案之外, 还给出了构造全同态加密方案的理论框架. 该理论框架首先构造一个部分同态加密方案, 之后再通过自举 (bootstrapping) 来实现全同态加密。目前, 在部分同态加密方案的构造中, 出于对方案的安全性考虑, 加密过程需要引入噪音. 随着同态运算的进行, 噪音不断地累积, 一旦噪音的尺寸超出某个阈值, 就会出现解密错误. 因此, 我们必须采取消减噪音的操作来保证正确解密. 自举是目前最有效的消减密文噪音的操作, 也是迄今为止实现全同态加密的唯一途径。但是, 自举计算代价昂贵, 成为全同态加密算法计算性能的瓶颈。
1.3 全同态加密技术发展态势
第一代全同态加密技术方案主要是以部分同态加密为主. 该类方案的特点是其中使用的部分同态加密方案是不可自举的, 即可同态计算电路的深度有限, 无法支持方案本身的解密电路. 为了解决这一问题,Gentry 等人利用稀疏子集和假设, 将解密电路中复杂的运算进行预处理, 压缩解密电路, 使得同态计算电路能够支持解密操作, 从而实现自举. 该类方案使用的是布尔电路对密钥信息逐比特加密, 自举一个比特信息的时间需要 30 min 左右。
第二代全同态加密自举技术针对的是基于格上带错误学习 ((R)LWE) 问题构造的全同态加密方案. 该类技术的代表方案主要有 BGV、BFV、CKKS。 该类方案中使用的部分同态加密方案通过引入噪音消减技术 (模切换和 rescale 技术), 使得该类方案在不需要自举的情况下, 就能够实现 “层次型” 全同态加密(leveled-FHE), 即在以电路深度为参数作为辅助输入的前提下, 能够同态地执行任意有界深度的电路. 因此, 在自举的过程中, 不再依赖于稀疏子集和的安全性假设来压缩解密电路. 这样, 该类方案的安全性就可以归约到格上的标准困难问题. 由于该类方案的密文是向量形式, 所以在进行同态计算的过程中需要引入计算密钥. 并且这类方案支持打包和并行操作 , 因此能够对多个明文比特同时进行处理, 具有很强的应用潜力. 目前, 分别基于 BGV、BFV、CKKS 方案设计的开源库 HElib、SEAL、HEAAN 得到了广泛的应用。 第三代全同态加密自举技术主要针对的是 GSW 类型的全同态加密方案, 以 AP14 、FHEW 以及 TFHE 方案为代表. 与第二代全同态加密方案相比较, 该类方案的密文是矩阵形式, 因此在同态计算的过程中, 不再需要引入计算密钥. 此外, 该类方案在同态计算的过程中噪音的增长是非对称的 (即C1 ⊗ C2 与 C2 ⊗ C1 产生的噪音是不相同的, 其中 C1, C2 是密文). 这使得之前的噪音消减技术不再适用. 因此, Gentry 等人提出了 Flatten 技术, 实现了 “层次型” 全同态加密. 并且根据噪音增长的特点,Alperin-Sheriff 等人设计了一个快速自举的算法 。目前基于该类方案设计的开源库主要有 FHEW 和TFHE. 其中, TFHE 自举一个比特信息仅需要 13 ms 的时间, 从公开发表的文献来看, 这是目前自举效率最高的方案之一。
1.4 参考资料
BRAKERSKI Z, VAIKUNTANATHAN V. Efficient fully homomorphic encryption from (standard) LWE[C]. In: Proceedings of 2011 IEEE 52nd Annual Symposium on Foundations of Computer Science (FOCS 2011). IEEE, 2011: 97–106. [DOI: 10.1109/FOCS.2011.12]
BRAKERSKI Z, GENTRY C, VAIKUNTANATHAN V. (Leveled) fully homomorphic encryption without bootstrapping[C]. In: Proceedings of the 3rd Innovations in Theoretical Computer Science Conference. ACM, 2012:309–325. [DOI: 10.1145/2090236.2090262]
BRAKERSKI Z. Fully homomorphic encryption without modulus switching from classical GapSVP[C]. In: Advances in Cryptology—CRYPTO 2012. Springer Berlin Heidelberg, 2012: 868–886. [DOI: 10.1007/978-3-642-32009-5_50]
2.基本概念
主要介绍同态加密中的一些相关的基本概念。
2.1 定义
一个同态的公钥加密方案 (假设明文空间 M = {0, 1}) 通常包含有 4 个 PPT 时间的算法: HE.KeyGen, HE.Enc, HE.Dec, HE.Eval. 其中, HE.Eval 能够完成对加密数据的同态计算. 定义 若公钥加密方案 E 满足:
• (sk, pk, evk) ← HE.KeyGen(1λ, 1τ): 输入安全参数 λ 和参数 τ , 输出私钥 sk、公钥 pk 和公开的 计算密钥 evk.
• c ←HE.Enc(pk, m): 给定公钥 pk 和明文比特 m, 输出相应的密文 c.
• m ←HE.Dec(c, sk): 给定私钥 sk 和密文 c, 输出相应的明文比特 m.
• cf ← HE.Eval(evk, f, c1, c2, · · · , cl): 输入计算密钥 evk、函数 f : {0, 1} l→ {0, 1} 以及密文c1, c2, · · · , cl , 输出相应的计算密文 cf . 则 E = (HE.KeyGen, HE.Enc, HE.Dec, HE.Eval) 是一个同态的公钥加密方案. 从语义上, 可以自然地拓展到明文向量 (m = (m1, m2, · · · , mt)) 和密文向量 (c =(c1, c2, · · · , ct) = HE.Enc(pk,m)).
2.2 基本性质
一个同态加密方案, 应至少满足下面几个属性:
• (正确性) 通常情况下, HE.Enc 输出的密文可称为 “新鲜密文”, HE.Eval 输出的密文可称为 “计算 密文”. 下面的正确性定义针对的是这两种密文. 让 E = (HE.KeyGen, HE.Enc, HE.Dec, HE.Eval) 表示一个同态加密方案, F = {fi}i∈Z 表示某个函数族. 如果 E 能够正确解密 “新鲜密文” 和 “计 算密文”, 那么同态加密方案 E 对于 F 是正确的. 即对于任意的 λ 和 i ∈ Z, 下面条件成立: 对于任意的 m ∈ {0, 1},Pr [HE.Dec(sk, c) = m :(sk, pk, evk) ← HE.KeyGen(1λ, 1τ),c ← HE.Enc(pk, m)] = 1。
• (同态性) 如果一个加密方案 E 支持下面的等式: E(m1) ∗ E(m2) = E(m1 ∗ m2), ∀m1, m2 ∈ M,其中 M 表示的是明文空间, 那么该加密方案关于该运算 ∗ 是同态的。由于乘法和加法在有限集合上面是功能完备的, 因此为了构造一个能够允许对任意函数进行同态操作的加密方案, 该加密方案只需要满足加法和乘法同态就足够了. 特别的, 对于布尔电路来说,任意的电路都可以用 XOR (加法) 门和 AND (乘法) 门来表示。
3. 应用与挑战
现如今, 在大数据和云计算的推动下, 数据隐私保护扮演着越来越重要的角色. 全同态加密能够允许任何第三方在不事先解密的情况下对加密的数据执行任意的运算操作. 正是由于全同态加密这一优良特性, 让其能够自然地解决公开计算中遇到的数据隐私保护的问题. 因此, 利用全同态加密来保护数据隐私成为了一个非常有潜力的发展方向。
3.1 应用场景
全同态加密是指一种可以实现“同态”操作的加密技术。在同态加密中,我们可以在不知道密文的情况下,对加密后的数据进行运算,得到运算后的结果,并且这个结果也是加密后的数据。全同态加密相比于传统的加密技术,有着更强的安全性和更广泛的应用场景。
- 计算密集型任务:例如分子模拟、密码学计算、机器学习等任务,需要对大量数据进行计算,但由于数据的敏感性,不能将数据直接传输或存储。全同态加密可以在不暴露数据的情况下进行计算,保护数据的安全性。
- 区块链技术:区块链技术需要保证数据的安全性和不可篡改性,但是由于交易记录的特殊性质,数据不能直接存储。全同态加密可以实现数据的加密存储和同态计算,保证数据的安全性和可用性。
- 机器学习:在机器学习中,数据的隐私性和安全性非常重要。全同态加密可以实现数据的同态计算和加密存储,保护数据的隐私性和安全性。
3.2 挑战
虽然全同态加密具有很大的应用前景,但是在实际应用中还存在一些挑战,例如:
- 计算效率:全同态加密需要对密文进行计算,但是计算的效率较低,会增加计算的时间和成本。
- 存储空间:全同态加密需要对密文进行加密存储,但是存储的空间较大,会增加存储的成本。
- 安全性:全同态加密需要保证加密的安全性,避免密钥泄露和破解。
- 实现难度:全同态加密的实现难度较高,需要考虑多种因素,例如加密算法的选择、计算过程的设计、数据的处理等。
4. 总结
全同态加密是一种非常有前途的加密技术,具有广泛的应用场景和潜力。但是在实际应用中还需要解决一些挑战,例如计算效率、存储空间、安全性和实现难度等。未来随着技术的发展和应用场景的扩大,全同态加密将会得到更广泛的应用和发展。
全同态加密
研究内容
(1)改进研究一些新的FHE算法,使之可以在保证安全性的前提下,实现更高的计算效率。
(2)全同态加密算法除对整数域的支持外,增加对浮点数的同态运算的支持。
(3)选取改进一些全同态加密所使用参数,优化加速ntt运算。拓展明文支持空间(例如bgv、bfv一些参数使得明文空间仅在16位),同时又不显著增加密文长度。
研究目标:
(1)加密算法具备与nist kyber同样的安全强度和加密解密速度。
(2)一次加法同态所耗时间与一次加密相当,一次乘法同态运算所耗时间不超过一次加法的十倍
(3)对于区块链隐私保护、账本加密存储以及数据密态计算,支持不限深度的电路,可使用自举技术实现。
浮点数、复数、明文空间、电路深度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2022-04-20 MLIR
2021-04-20 some blog
2021-04-20 ec
2021-04-20 algebraic geometry