Summary
In this chapter, we introduced the basic principles of homomorphic encryption and its fundamental bases, and we analyzed partial homomorphism in RSA.
After that, we explored the math behind search engines and, in particular, Eulerian circuits. We then undertook a deep dive into tree graph theory, experimenting with a particular tree graph construction such as Huffman code. If usefully combined with hash trees and other elements, this algorithm is an excellent candidate for searching and compressing data in unstructured content.
Finally, we analyzed CSE, looking at its principal elements and possible future applications.
You have now learned the fundamentals of CSE, which can be a springboard for learning more. If you go on to research how it is implemented, keep in mind that searches are not performed in clear text, but on storage. The storage is encrypted with AES and needs to be manipulated to be searched. To properly learn about that, however, is a task for...