CKKS 复数近似加密
- see: Yongsoo Song - Presentations
- see: 【bilibili】Introduction to CKKS
- see: 【中】/【En】/【En】原理简介
a) 原理
【0】 北航学弟的毕设感想
【1】【1】【1】CKKS 同态加密方案
【2】 同态加密:CKKS原理之旋转(Rotation)
【3】 同态加密:以CKKS为例的Bootstrapping操作介绍
【4】 bfv同态加密_三、全同态加密-飞马(section 1)
【5】 同态加密CKKS:编码
【6】 同态加密和安全多方计算结合做逻辑回归
【7】 CKKS的Encoding(CKKS方案的编码部分的笔记)
b) 实现
关于CKKS工程问题可以参阅以下链接:
【4】 Paillier 和 CKKS 的效率对比
【5】【5】C++实现:SEAL库
【6】【6】/【6】Python实现:
- TenSeal库。密文向量乘明文矩阵【paper:Algorithms in helib】,它可以使用多线程来更快地运行。(参数含义)。(持有密钥)。(关于序列化存储)。
- PySeal库。除法
- PyFHE库
【7】/【7】Java实现:NodeSeal库。同态加密—用于Web Apps(第1部分)/ 英文。
【8】 沙箱
c) SIMD性质
原理:用分圆多项式,根据 CRT 可以将密文分成 N个槽(slot)
并发编程:SIMD 介绍
格密码
(一)小整数解问题(SIS)
(二)最近向量问题(CVP)
(三)最短向量问题(SVP)
(四)容错学习问题(LWE、RLWE)
多密钥加密
CCS 2019:Efficient Multi-Key Homomorphic Encryption with Packed Ciphertexts with Application to Oblivious Neural Network Inference
【8】 多密钥TFHE学习笔记1-MKTFHE的整体流程
理论基础
- 环论:UCBerkeley 的课程
- A Toolkit for Ring-LWE Cryptography:(看不大懂)
- 分圆多项式
- 离散傅里叶变换(DFT):FFT 用于多项式乘法
- 离散傅里叶变换(DFT)
一些报错(py库tenseal)
ValueError: scale out of bounds
:同态乘法时,达到最大乘法深度。需要bootstrap / rescale操作,比如 解密后重新加密。见 CKKS multiplication crashes with “scale out of bounds”。