课程笔记:全同态加密的理论与构造-上篇:学习
1.RSA2.ElGamal算法3.基于全同态加密的隐匿查询-洪澄4.同态加密技术及其在FL/MPC中的应用-洪澄5.Paillier半同态加密:原理、高效实现方法和应用6.Paillier算法7.CKKS Part5: CKKS的重缩放 8.CKKS Part4: CKKS的乘法和重线性化9.CKKS Part3: CKKS的加密和解密10.CKKS Part2: CKKS的编码和解码11.CKKS Part1:普通编码和解码12.MAC上安装HEAAN库13.DGHV同态库14.同态加密及其在隐私计算中应用(李增鹏)15.全同态加密研究:学习16.课程笔记:全同态加密理论与基础17.全同态加密-丁津泰:学习18.课程笔记:全同态加密的理论与构造-下篇:学习
19.课程笔记:全同态加密的理论与构造-上篇:学习
20.阈值同态加密在隐私计算中的应用:解读21.Lifted ElGamal 门限加密算法22.Tenseal库23.Packed Ciphertexts in LWE-based Homomorphic Encryption:解读24.一种高效的同态加密方案及其应用-解读25.Homomorphic Evaluation of the AES Circuit:解读26.SIMD编码27.SEAL库 - 安装和介绍28.HEAAN新版学习29.HEAAN库学习30.CKKS加密方案31.同态密码学原理及算法-笔记32.文章学习:基于AVX-512指令集的同态加密算法中大整数运算性能优化与突破33.全同态加密是否完美?34.半同态计算芯片35.并行同态加密算法及应用研究-202036.基于同态加密的生物认证研究-201537.论文笔记:全同态加密研究进展-白利芳等本文学习“课程笔记:全同态加密的理论与构造-上篇”,并做笔记和补充。
基础#
- 同态加密特点就是能够对密文执行任意操作(函数
),解密后相当于对明文执行对应的操作,这也是方案的同态性体现。 - 函数
也可以用电路表示,都是多项式时间可以计算的。 - 加法和乘法运算实现可以用对应的加法和乘法门。
- SomeWhat HE(Leveled HE)能支持有限次加法和乘法计算。
- 同态计算可以放在云上,满足计算量大,又保证数据隐私的特性。
加密方案的安全性#
参考:https://www.cnblogs.com/pam-sh/p/15244862.html
https://blog.csdn.net/m0_47659650/article/details/125223197
- 语义安全(Semantic Security,SS)就是给定一个密文,不会泄露出任何明文信息,理论上已证明,语义安全等价于密文不可区分性。
- 公钥加密的语义安全有以下三类。
IND-CPA#
即IN Distinguishability under Chosen Plaintext Attack,选择明文攻击下的不可区分性,就是敌手知道部分密文,猜测明文。
这就是密文不可区分!
IND-CCA1#
即IN Distinguishability under Chosen Ciphertext Attack,选择密文攻击下的不可区分性,就是相对前者,增加敌手可以在收到之前,可以调用一次加密或解密能力。
IND-CCA2#
即IN Distinguishability under adaptive Chosen Ciphertext Attack,自适应选择密文攻击下的不可区分性,就是不限制敌手调用解密的时间。
SH-HE到PK-HE#
- 对称加密方案:G是密钥生成,E是加密,D是解密,Eval是同态计算。
- 其中
是对称加密的密钥,这里以此生成公钥加密中的公私钥。 - 加密:明文
,密文 , 是随机数 的对称加密,这里加密还用到了同态计算?
3 - 解密和同态计算不变,
解密是不是得变?
自举技术#
增强解密电路#
- 这里的解密电路就是解密函数,这里的增强解密电路可以用NAND门构成。
NAND
NAND
- 这样就是实现了在不解密的情况下计算密文。
自举原理#
- 密文支持增强解密电路,即满足加法和乘法同态性。
- 自举的原理最容易理解的还是“戴着手套制作宝石”的例子。
自举构造#
- 这里的
是加密的私钥 ,即用在同态计算 中,是计算密钥。
- 这里是
,作者应该是笔误 电路。
- 所以私钥
是按位加密的。 - 使用公钥加密私钥,该操作是否安全,目前是无法证明是不安全的,所以就假设它是安全的,这就是“循环安全假设”。
Leveled-FHE#
- 密钥生成:这里生成
对公私钥对,并根据这些公私钥对生成计算密钥,最终方案的公钥为 ,私钥为 ,计算密钥为 ,文中是把计算密钥也作为公钥的一部分(计算密钥确实也是公开的!)。
- 加密:对于新鲜明文使用
加密的。 - 解密:使用
解密。
- 每一个密文都对应各自层数,对于新鲜密文的层数为
层。 - 在对
层的密文做 计算时,使用的是 的计算密钥,得到的结果实际上是由 加密所对应明文的密文。 - 直到计算出的密文层数是
层时,不能继续计算,这就是有限次计算的FHE。 - 这种情况使用多对公私钥,并以此形成计算密钥,避免了使用自己的公钥加密私钥的问题,即避免了“循环安全假设”问题。
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/16614365.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)