CKKS scheme
Scheme
-
- 整数 を決め, レベル に対して modulus chain
- 整数 を選ぶ
-
- sk
- pk
- Ring-LWE 性を満たす:
- evk
- ,
- sk
-
-
- レベル の暗号文で,
-
- 次複素ベクトル に対して,
-
-
-
は の部分巡回群, , を評価することで回転や共役を計算できる や を公開する必要あり
-
-
-
精度を維持するためにscaling factorをかける
- で調整
Encode/Decode
演算
- Add:
- ex.
- Mult:
- ex.
- Rotl:
- ex.
- GetIndex:
- ex.
- SetIndex:
- ex.
relinearize
Rotation
- シフト作用素 - Wikipedia
- 有限数列のシフト作用素がもろシフト演算
4.2 Rotation and Conjunction
- KeySwitchingの目的: で暗号化された暗号文を別の秘密鍵 で同じ平分に復号されるような暗号文に変換すること
- 切り替え鍵 で作れる
Rotation
Link to original
()
slot から に送る写像
- は
よって
RNS variant
Bootstrapping
-
Dec:
- , some
-
modup:
-
を 同型演算する
-
naive: Taylor展開: 次数高いし不安定?
-
Improved Bootstrapping for Approximate Homomorphic Encryption
- Chebyshev補間, 深さも最適化
- ecd/dcdは の性質を用いた, FFT-styleアルゴリズム
- Lattigo v2.0.0 で実装されている
-
(2021) Efficient Bootstrapping for Approximate Homomorphic Encryption with Non-Sparse Keys
- bootstrap x14
- 多項式評価を最適化
- Key-Switchを最適化 & 線形変換で double-hoisting を提案して最適化
- Lattigo に実装した
参考文献
- The CKKS (a.k.a. HEAAN) FHE Scheme - YouTube
- https://simons.berkeley.edu/sites/default/files/docs/15661/2004simonsheaan.pdf
- 2022-04-19 01_encoding_decoding_ckks.ipynb - Colaboratory
- 2022-04-19 https://web.cs.ucla.edu/~nmanohar/nmanohar_files/PhDThesis.pdf
- 2022-04-19 Archive | 学而时习之
- CKKS scheme, BFV scheme の解説
- 2022-04-20 Homomorphic Encryption intro: Part 2: HE landscape and CKKS | by Daniel Huynh | Towards Data Science
- 紹介ブログ
- 2022-11-03 【秘密計算・準同型暗号】格子暗号(CKKS形式)を理解しよう - Qiita
- 2023-01-19 https://arxiv.org/pdf/2205.03511.pdf