Finite sampling for the GSW construction #
Residues are sampled from exactly w fair bits. Each integer error is the difference of two
independent counts of η fair bits, so every supported error has magnitude at most η.
The actual key-generation and encryption programs feed these independent draws to the GSW
formulas. Their correctness holds for every supported draw under an explicit strict margin.
This exact noise distribution is a construction choice. No Gaussian equivalence, LWE hardness, encryption security, complete native algorithm certificate or bootstrappability is asserted.
Main definitions #
sampleResidue,sampleVector,sampleMatrix,sampleCoins: independent finite samplers.KeyInputs,sampleKeyInputs: the independent inputs to the public-key formula.keyGen,encrypt: the actual finite randomized key generation and encryption programs.
Main results #
eval_sampleResidue,eval_sampleVector,eval_sampleMatrix,eval_sampleCoins: exact uniform laws.mem_support_sampleKeyInputs_iff: the exact support condition on the chosen integer errors.keyGen_encrypt_correct,keyGen_nand_correct: correctness for all supported draws.
References #
- C. Gentry, A. Sahai and B. Waters, Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based, Section 3.1
- NIST, Module-Lattice-Based Key-Encapsulation Mechanism Standard, Algorithm 8 for the scalar finite noise construction, without identifying the encryption schemes.
The fair-bit residue sampler is exactly uniform, including at width zero.
The separately sampled secret, public-matrix part and integer errors.
Uniform secret entries.
Uniform public matrix entries.
Independent bounded integer errors.
Instances For
Draw the three inputs independently, using the specified finite error distribution.
Instances For
The complete joint law retains the independence of the secret, public part and errors.
A supported ciphertext is precisely an encryption with some binary coin matrix.
Every generated key and every supported fresh ciphertext are correct under the strict margin.
NAND of any two supported fresh ciphertexts is correct for every generated key.