- Reference: Guide to Fully Homomorphic Encryption over the [Discretized] TorusΒ [11]
Torus is a continuous real number domain between 0 and 1 that wraps around, that is .
A discrete torus is a finite real number set:
In the previous subsections, we explained the TFHE scheme based on the following setup:
However, the original TFHE scheme is designed based on a discrete torus:
, given
# where means rounding to the nearest multiple of
The original TFHEβs difference is that all values (either polynomial coefficients or vector elements) are computed in a floating point modulo 1 (i.e., ) instead of a big integer (i.e., ). This means the plaintext also has to be encoded as values within instead of integers within . Note that in the original TFHE scheme, there is no need for the scaling factor , because the continuous domain of torus provides a floating-point precision up to discrete decimal values, and its decryption process can successfully blow away the noise as far as each coefficient (or vector element) in is smaller than .
Both the torus-based and integer-ring-based TFHE schemes are built based on the same fundamental principles.