Uniform polynomial-time homomorphic refresh #
Strict PPT encryption and evaluation, together with a uniform polynomial-time generator for actual decryption circuits, suffice to implement refresh and NAND refresh in strict PPT. The certificates charge the full encodings of the public key, encrypted secret key, ciphertexts, and generated circuits. In particular, the NAND augmentation is constructed by a certified code transformation rather than supplied as an independently assumed efficient operation.
These are computation certificates for Gentry's refresh construction [Gentry2009, Section 2].
They do not establish security or a leveled evaluator. Correctness and fixed output width have
separate hypotheses and are proved in Homomorphic.Refresh.
Main results #
Cslib.Crypto.Homomorphic.Scheme.isPPTOn_encryptBits: encrypt a computed list of bits.Cslib.Crypto.Homomorphic.Scheme.isPPTOn_refresh: uniform strict PPT refresh.Cslib.Crypto.Homomorphic.Scheme.isPPTOn_refreshNand: uniform strict PPT NAND refresh.
References #
Encrypt all bits of an efficiently computed word, charging repeated copies of the key.
Refresh is strict PPT from the base algorithm certificates and uniform decryption-circuit construction. No refresh algorithm or refresh runtime bound is assumed.
NAND refresh is strict PPT. The certificate constructs the augmented circuit and charges both bit-encryption traversals and both copies of the encrypted secret key.