TFHE Deep Dive - Part II - Encodings and linear leveled operations
Blog post from Zama
The blog post is part of a series dedicated to explaining the Fully Homomorphic Encryption (FHE) scheme known as TFHE, which is implemented in Rust by Zama as TFHE-rs. It focuses on performing operations like homomorphic addition and multiplication on GLWE ciphertexts, which are fundamental components of GLev and GGSW ciphertexts, and discusses the impact of these operations on noise. The post explains how messages are encoded and highlights the importance of encoding schemes, such as encoding integers in the most significant bits (MSB) and using padding bits, which facilitate efficient homomorphic operations. It provides a detailed explanation of performing homomorphic addition and multiplication by constants, using toy examples to illustrate the concepts. Additionally, the post touches upon the unique aspects of TFHE, like its torus-based visualization, and encourages readers to explore further concepts such as homomorphic multiplications and key switchings in subsequent parts of the series.