Correct evaluation along a generated key chain #
The bounded evaluator implements every well-formed program in the consecutive-layer model. Its invariant tracks the current level, the exact plaintext wire list and ciphertext widths. There is one key transition per scheduled layer, regardless of its number of nodes.
The runtime receives the public projection of the target keys and encrypted links. The full
key-pair list is only a witness in these theorems. The final plaintexts decrypt with the last
secret key; fresh inputs use the first key. Homomorphic.Evaluation composes this theorem with
the ordinary-circuit compiler and output selection. Homomorphic.Leveled.Correctness packages
the endpoint distinction in a depth-budgeted scheme; security remains a separate obligation.
Main results #
Cslib.Crypto.Homomorphic.Scheme.encryptedWires_evaluateLayers: the complete loop preserves the layer invariant along a valid chain.Cslib.Crypto.Homomorphic.Scheme.encryptedWires_evaluateLayers_of_generatedChain: correctness for every supported key-chain sample and pointwise fresh input encryptions.
References #
Evaluate all layers along an acyclic key chain. Correctness requires valid references; the public algorithm itself is defined on every input. The initial wires may already be evaluated ciphertexts, provided that their width and decryption are correct.
The actual sampler supplies all key and link premises. Each fresh input is under the initial key, and each final output decrypts under the key after the last scheduled layer.