PartΒ IV
Fully Homomorphic Encryption Schemes

This chapter explains the four most well-known FHE schemes: TFHE, CKKS, BGV, and BFV, as well as their RNS-variant versions.


D-1 TFHE Scheme
D-1.1 Encryption and Decryption
D-1.2 Homomorphic Ciphertext-to-Ciphertext Addition
D-1.3 Homomorphic Ciphertext-to-Plaintext Addition
D-1.4 Homomorphic Ciphertext-to-Plaintext Multiplication
D-1.5 Homomorphic Key Switching
D-1.6 Homomorphic Ciphertext-to-Ciphertext Multiplication
D-1.7 Coefficient Extraction
D-1.8 Noise Bootstrapping
D-1.9 TFHE on a Discrete Torus
D-2 BFV Scheme
D-2.1 Single Value Encoding
D-2.2 Batch Encoding
D-2.3 Encryption and Decryption
D-2.4 Ciphertext-to-Ciphertext Addition
D-2.5 Ciphertext-to-Plaintext Addition
D-2.6 Ciphertext-to-Plaintext Multiplication
D-2.7 Ciphertext-to-Ciphertext Multiplication
D-2.8 Homomorphic Key Switching
D-2.9 Homomorphic Rotation of Input Vector Slots
D-2.10 Application: Matrix Multiplication
D-2.11 Noise Bootstrapping
D-3 CKKS Scheme
D-3.1 Encoding and Decoding
D-3.2 Encryption and Decryption
D-3.3 Ciphertext-to-Ciphertext Addition
D-3.4 Ciphertext-to-Plaintext Addition
D-3.5 Homomorphic Ciphertext-to-Ciphertext Multiplication
D-3.6 Ciphertext-to-Plaintext Multiplication
D-3.7 ModDrop
D-3.8 Homomorphic Key Switching
D-3.9 Homomorphic Rotation of Input Vector Slots
D-3.10 Contemplation on CKKS Encoding
D-3.11 Homomorphic Conjugation
D-3.12 Sparsely Packing Ciphertexts
D-3.13 Modulus Bootstrapping
D-4 BGV Scheme
D-4.1 Encoding and Decoding
D-4.2 Encryption and Decryption
D-4.3 Ciphertext-to-Ciphertext Addition
D-4.4 Ciphertext-to-Plaintext Addition
D-4.5 Ciphertext-to-Plaintext Multiplication
D-4.6 ModDrop
D-4.7 Modulus Switch
D-4.8 Ciphertext-to-Ciphertext Multiplication
D-4.9 Homomorphic Key Switching
D-4.10 Homomorphic Rotation of Input Vector Slots
D-4.11 Modulus Bootstrapping
D-5 RNS-variant FHE Schemes
D-5.1 Fast Base Conversion: FastBConv
D-5.2 RNS-based ModRaise: ModRaiseRNS
D-5.3 RNS-based ModDrop: ModDropRNS
D-5.4 RNS-based Modulus Switch: ModSwitchRNS
D-5.5 RNS-based Decryption
D-5.6 BGV’s RNS-based Modulus Switch: π–¬π—ˆπ–½π–²π—π—‚π—π–Όπ— 𝖱𝖭𝖲𝖑𝖦𝖡
D-5.7 Small Montgomery Reduction Algorithm: SmallMont
D-5.8 Exact Fast Base Conversion: FastBConvEx
D-5.9 Decomposing Multiplication: DecompMultRNS
D-5.10 Applying RNS Techniques to FHE Operations
D-6 FHE Scheme Comparison and Summary
References