What’s is CKKS

Plain Computation Encrypted Computation
bool, int (uint 64), modulo p BGV, BFV, TFHE
double (float) CKKS

image-20220918162117066

Approximate arithmetic

image-20220918162537891

For floating-point arithmetic, we keep the bits of significand to be the same.

For fixed-point arithmetic, we keep the scaling factor to be the same.

Algorithms in CKKS

image-20220918162900736

Encoding and decoding

image-20220918163515634

在编码过程中需要使用比较大的scaling factor,这样可以保证更大的精度。

Encrypt and decrypt

image-20220918164003975

Ref

https://www.youtube.com/watch?v=iQlgeL64vfo