<aside> ✅ This page is a part of a 10-10 newsletter project, a collaborative project of publishing newsletter about Cryptography and Machine Learning.
</aside>
CKKS is one of the lattice-based homomorphic encryption schemes. One of the most notable feature of this scheme is that it can approximate operations on real and complex numbers. This makes CKKS more usable in real life, such as machine learning and statistical analysis. However, there remain several steps to make actual, efficient implementation in these fields, such as consumption time and error problems. To make CKKS achieve this goal, the research is still ongoing.
Therefore, this article series would provide the basics of CKKS, and inform some related research topics that readers can discuss.
Before moving forward, the reader of this article should be familiar with these mathematical fields:
Also, the following fields are not necessary for understanding texts but could be helpful for more advanced and clear understanding.
This article series consists of 4 sections: background and overview, encodement and encryption, addition and multiplication, and bootstrapping of CKKS. The first section provides an explanation of key terms related to CKKS and a brief overview, while the following sections provide vital ideas about CKKS implementation. The last section focuses on details, which may seem complicated for some readers. Readers first go-round who are interested in ideas and flows rather than details of bootstrap may skip the last section.
The table of contents of this section is as follows:
The first 2 topics deal with what ‘lattice-based’ and ‘homomorphic encryption’ are, respectively, mentioned at the beginning of this article. These are the background that can explain the importance of the CKKS, so you can skip these topics if you already know these.
The last topic explains the overview of the structure of CKKS. It also provides some basic flow of the rest of the articles.
If you studied number theory or basic cryptography, you may have heard about the RSA cryptosystem, which is used for public key encryption and digital signatures. Its security is based on the hardness of the integer factorization.
However, it is shown that there exists a polynomial time algorithm for quantum computers to factorize an arbitrary integer(Shor, 94). It suggests that the current RSA scheme may no longer be secure if quantum computers become practical. Therefore, a new cryptosystem that is secure against quantum computer attacks is needed, which is called post-quantum cryptography(PQC).