Hybrids for an acyclic encrypted-key chain #
The link hybrid retains real secret-key encryptions before a boundary and encrypts zero words after it. Moving the boundary towards the initial key erases links from the end of the chain. This order is essential: when a reduction embeds a challenge public key, the outgoing link that would contain its unknown secret has already been replaced by an encryption of zeros.
These are actual sampling programs and exact distributional identities. They do not assume or establish computational indistinguishability on their own.
Main definitions #
Cslib.Crypto.Homomorphic.Scheme.encryptZeroKeyLinks: encrypt equal-length zero words.Cslib.Crypto.Homomorphic.Scheme.encryptKeyLinksHybrid: retain a prefix of real links.Cslib.Crypto.Homomorphic.Scheme.publicKeyChainHybrid: sample the complete public artifact.Cslib.Crypto.Homomorphic.Scheme.publicKeyLinkHybrid: refine one boundary link bit by bit.Cslib.Crypto.Homomorphic.Scheme.spliceEncryptedKeyLink: insert the base challenge ciphertext.
Main results #
Cslib.Crypto.Homomorphic.Scheme.eval_generateKeys_splice: sampling the challenge key first preserves the complete joint key distribution.Cslib.Crypto.Homomorphic.Scheme.eval_spliceEncryptedKeyLink_original,.eval_spliceEncryptedKeyLink_zero: exact laws for the two challenge worlds.Cslib.Crypto.Homomorphic.Scheme.eval_publicKeyLinkHybrid_zero,.eval_publicKeyLinkHybrid_length: bit-hybrid endpoints are the adjacent link hybrids.
References #
Draw the target key first, then independently draw the keys before and after its predecessor. Splicing them restores the complete original key-generation distribution.
Encrypt real secrets in the first cut links, and zero words in the remaining links.
The two key segments overlap at their boundary key; each link is sampled exactly once.
Instances For
Splitting a real-link traversal keeps its shared boundary key in both segments.
Splitting a zero-link traversal also keeps the shared boundary key.
Expose the first zero link, retaining ordinary independent bit encryption.
The first zero link uses only the length of the first secret. Its public key is unused.
The final boundary is the exact public marginal of the original key-chain sampler.
The initial boundary samples the same public keys with zero plaintexts in every link.
Refine the boundary link bit by bit, leaving earlier links real and later links zeroed.
predecessor is the key whose secret is encrypted under next.1.
Instances For
Before erasing any bit, the boundary link is still real.
After erasing every bit, the boundary link is part of the zeroed suffix.
Once its outgoing link is zeroed, replacing the target key's secret by an equal-length word does not change the intermediate sampler. Its public key is retained.
Sample the surrounding encrypted links and insert one ciphertext into the boundary link.
Instances For
The bit challenge is sampled independently of every surrounding link. An original-bit challenge recovers the full earlier hybrid distribution.
A zero-bit challenge recovers the full next hybrid distribution, retaining all other encrypted links and their randomness.
Sample an intermediate bit hybrid with the target key drawn first. Only public keys and encrypted links are returned. This sampling order matches the single-challenge reduction.
Instances For
The initial bit boundary is the corresponding real-link boundary in the original key sampling order. This is an equality of complete public distributions.
With a fixed supported secret length, the final bit boundary is the preceding link boundary. No efficiency or ciphertext-width assumption is needed for this exact law.