Sampling centered binomial integers #
The sampler subtracts the true counts of two independent blocks of η fair bits. Its result
is an integer, before any reduction modulo a ciphertext modulus. Every integer between -η
and η, including both endpoints, has positive probability. The law is invariant under
negation. This is the scalar centered-binomial construction of
NIST, Section 4.2.2, Algorithm 8, extended to every natural parameter.
The exact distribution is specified by its finite fair-bit experiment. No Gaussian equivalence or encryption-security property is asserted. Native runtime is certified separately.
Main definitions #
sampleCenteredBinomial: subtract two independently sampled Boolean counts.
Main results #
eval_sampleCenteredBinomial: the exact two-word distribution.eval_sampleCenteredBinomial_eq_map: the same law from one word of2 * ηbits.mem_support_sampleCenteredBinomial_iff: support is exactly the closed integer interval.map_neg_eval_sampleCenteredBinomial: negation preserves the distribution.
References #
Subtract the true counts of two independent blocks of η fair bits.
Instances For
With η = 0 the centered binomial sampler returns 0 without sampling.
The exact law is the difference of the true counts of two independent uniform words.
One word of exactly 2 * η fair bits supplies the two independent counts.
Swapping the independent counts negates the result without changing its law.