关于CKKS的个人梳理
传统加解密的弊端
通常是成对存在的。如果密文被存储在了一个不可信的第三方中,Party A对密文进行更新(密文下载,解密更新)过程需要添加两次通信(下载和上传)和两次计算开销(解密和加密计算)。如果可以直接在第三方上完成密文更新,就可以使得Party A 节省两次通信和两次计算开销。
同态加密
同态加密是基于数学难题的计算复杂性理论的密码学技术。 主要思想是:对经过同态加密的数据进行某种方法计算得到一个输出,将这一输出进行解密,其 结果与用同种方法计算未加密的原始数据得到的输出结果一致。
分类
全同态加密方案
-
部分同态加密 (Partially Homomorphic Encryption,PHE):指具有单一的加法同态性或乘法同态性
-
例如RSA可以在密文状态下进行同态乘法计算,Paillier可以在密文状态下进行同态加法计算。
-
-
有限层次全同态加密 ( Leveled Fully Homomorphic Encryption, LFHE ):指支持对密文进行有限次数的同态加法和同态乘法
-
例如 BGV12 方案、GSW13 方案和 CKKS17 方案
-
-
类同态加密 ( SomeWhat Homomorphic Encryption,SWHE)
-
全同态加密( Fully Homomorphic Encryption,FHE):支持对密文进行无限次数的加法同态和乘法同态
-
自 举 (Bootstrapping)技术[1]是目前能实现全同态加密方案的唯一方法
-
相关问题
LWE(Learning With Error,LWE)基于带错误学习问题:
自举(Bootstrapping)技术:
RLWE(Ring Learning With Error)环上带错误学习问题
全同态加密
Gentry在09年,提出第一个全同态加密。之后有GSW、FHEW、TFHE、BFV、BGV、CKKS等重量级方案被提出。有两个分支
- 以计算算数电路为主(BFV, BGV, CKKS)
- 以计算布尔电路为主(FHEW, TFHE)
FHEW、TFHE、GSW为布尔电路上的实现,其特性
- 快速比较支持
- 任意布尔电路
- 快速 bootstrapping(噪声刷新过程,减少因密文计算而产生的噪音,降低失败可能性)
第一代同态加密方案
Gentry:2009年,Gentry基于理想格(Ideallattice)构造出了第一个可行的全同态加密方案Gentry。该方案中先构造了一个有限层次全同态加密方案,然后通过自举实现全同态加密,该构造全同态加密的框架成为后续大多数方案的重要思路,从而全同态加密被冠以“密码学的圣杯”。
DGHV:Gentry于2010年提出基于整数的全同态加密方案DGHV,仅在整数上进行简单计算,其安全性可以归约为近似最大公约数问题,然后使用自举实现全同态加密。因此,DGHV方案被认为是第一代全同态加密方案的代表。
第二代同态加密方案
BGV、BFV是算数电路上的实现,其特性
- 在整数向量上进行高效的SIMD计算(使用批处理)
- 快速高精度整数算术
- 快速向量的标量乘法
- Leveled design(通常不使用bootstrapping)
BV:Brakerki 和 Vaikuntanathan在 2011 年提出 BV 方案, 使用重线性化技术 (Relinearization)使得在不增加密文尺寸(维数) 的情况下完成一次乘法同态。 由于和LWE问题相比RLWE问题中的多项式计算可使用快速傅立叶变换( Fast Fourier Transform,FFT) 进行加速计算。
BGV:2012 年, Brakerki、Gentry 和 Vaikuntanathan构造的基于RLWE问题的有限层次全同态加密方案,使用了模切换(Modulus Switching) 降低密文噪音,并采用密钥切换(Key Switching)控制密文尺寸,还支持单指令多数据流( Single Instruction Multiple Data,SIMD) 编码,能 对多比特明文编码进行打包处理,可明显提升计算性能。
BFV:2012 年,Fan 等提出 BFV 方案,较 BGV 更加轻量。
CKKS,其特性
- 快速多项式近似计算
- 相对快速的倒数和离散傅里叶变换
- 深度近似计算,如逻辑回归学习
- 在实数向量上进行高效的SIMD计算(使用批处理)
- Leveled design(通常不使用bootstrapping)
CKKS:Cheon 等于2017 年提出一个基于 RLWE问题的有限层次全同态加密方案 CKKS,能够近似地执行同态加法和 同态乘法运算,并支持浮点数运算,非常适合统计和机器学习应用。
第三代同态加密方案
兼容两个分支的方案
- CHIMERA。
- PEGASUS是2020年最新研究成果,效率优于CHIMERA。
GSW:Gentry等在2013年设计的使用近似特征向量技术构造出一种无需计算密钥的有限层次全同态加密方案GSW。GSW方案中密文是矩阵形式,因此密文的加法和乘法相当于对矩阵做加法和乘法。在进行同态计算时,密文尺寸不会变大,也无需引入计算密钥。另外,在同态计算过程中,密文噪音的增长是非对称的,且密文的噪音呈线形增长,这使得之前用的降噪技术(如模切换等)不再适用,GSW提出比特分解(BitDecomp)和展开(Flatten)技术实现降噪。
FEHW和TFHE:基于GSW,Alperin-Sheriff等加入自举技术,进而实现真正的全同态加密方案,之后的FEHW和TFHE方案更是优化了自举,并设计了对应的开源库,其中TFHE自举一个比特仅需13ms,这是目前自举效率最高的方案之一。2018年,Cheon等基于CKKS,加入自举技术提出了全同态加密方案。
CKKS
背景
CKKS算法是2017年论文《Homomorphic Encryption for Arithmetic of Approximate Numbers》中提出的近似计算同态加密算法,其具体构造基于BGV方案,但也可以依赖于其他现有的同态方案。论文的作者是Cheon等四位韩国研究者。算法早期因论文首字母缩写,称作HEAAN算法,其首个C++实现的库也作同名。后来为了加以区分,采用作者姓氏首字母,称为CKKS算法。
参考文献
https://www.zhihu.com/question/442067985/answer/1706719175
[1]邵航,高思琪,钟离,傅致晖,孟丹,李晓林.同态加密在隐私计算中的应用综述[J].信息通信技术与政策,2022(8):75-88
GSW: Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based .
FHEW: Bootstrapping Homomorphic Encryption in Less Than a Second.
TFHE: Fast Fully Homomorphic Encryption Over the Torus.
BFV: Somewhat Practical Fully Homomorphic Encryption.
BGV: (Leveled) Fully Homomorphic Encryption without Bootstrapping .
CKKS: Homomorphic Encryption for Arithmetic of Approximate Numbers.
CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes.
PEGASUS: Bridging Polynomial and Non-polynomial Evaluations in Homomorphic Encryption.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!