CKKS - 格密码

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工程问题可以参阅以下链接:

  • Tenseal Paper解读
  • Tenseal库 Doc Git
  • Tenseal库介绍

【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 介绍
CKKS - 格密码_第1张图片

格密码

(一)小整数解问题(SIS)

(二)最近向量问题(CVP)

(三)最短向量问题(SVP)

(四)容错学习问题(LWE、RLWE)

【1】
CKKS - 格密码_第2张图片

多密钥加密

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”。

你可能感兴趣的:(密码学,安全)