Correctness of depth-budgeted homomorphic encryption #
The actual acyclic sampler and padded evaluator satisfy the existing encryption interface for every Boolean circuit within the chosen depth budget. Fresh ciphertexts decrypt at the initial endpoint; evaluated ciphertexts decrypt at the final endpoint, independent of actual depth.
The private key has length 3 * secretWidth n + 1 and ciphertexts have length
ciphertextWidth n + 1. These exact lengths are independent of the depth budget. Uniform
polynomial bounds and security remain separate obligations. Correctness takes fresh input
ciphertexts, as in Scheme.Correct; it does not identify evaluated ciphertexts with fresh ones.
Main results #
Cslib.Crypto.Homomorphic.Leveled.encryptedWires_evaluateCircuit: a common final key for every permitted circuit, including depth-zero wiring and input-free constants.Cslib.Crypto.Homomorphic.Leveled.correct: perfect correctness of the constructed scheme.Cslib.Crypto.Homomorphic.Leveled.fixedWidth: budget-independent secret and ciphertext widths.
References #
A false tag selects the initial endpoint on valid payloads.
A true tag selects the final endpoint on valid payloads.
Padding reaches the budget's final key and preserves the original ordered output vector.
Removing fresh tags gives fresh base ciphertexts under the initial public key.
Fresh ciphertexts have the tagged base width and decrypt under the initial endpoint.
Every supported permitted evaluation has the tagged base width and decrypts at the common final endpoint. This includes circuits whose actual depth is smaller than the chosen budget.
Bootstrappability constructs a correct scheme for every circuit within the depth budget. No assumption of leveled correctness is used; the keys, padding, and evaluation are explicit.
Private key and ciphertext lengths are independent of both circuit size and depth budget. Public key size and key-generation work may grow with the budget.