Asymmetric Encryption Schemes: IND-CPA Oracle Games #
This file contains the oracle-based IND-CPA interface together with the counted left/right hybrid machinery used in generic multi-query proofs.
Oracle-based multi-query IND-CPA game. The adversary gets oracle access to an encryption oracle that encrypts one of two challenge messages depending on a hidden bit.
Instances For
An oracle IND-CPA adversary chooses challenge messages by querying the LR oracle and returns a final Boolean guess.
Instances For
An IND-CPA adversary MakesAtMostQueries q when it issues at most q total fresh queries
to the challenge oracle, regardless of public key. Uniform-sampling queries are unrestricted.
Instances For
Cache state for the cached left/right oracle implementations.
Instances For
Cached LR-oracle implementation for IND-CPA: repeated challenge queries are answered from the cache, and fresh ones encrypt the selected branch.
Instances For
Oracle IND-CPA experiment with caching on the LR oracle.
Instances For
Deterministic left/right endpoint IND-CPA experiment: all fresh LR queries use the branch
selected by b, and the adversary's final guess is returned directly.
Instances For
Cached IND-CPA state extended with a query counter.
Instances For
The real IND-CPA challenge oracle, but with an explicit counter that increments on cache misses.
Instances For
The cached real IND-CPA query implementation, extended with an explicit query counter.
Instances For
Counted left/right hybrid oracle: the first leftUntil fresh LR queries use the left
message and all later fresh queries use the right message. Repeated queries are answered from
the cache.
Instances For
Full counted query implementation for the generic left-prefix/right-suffix hybrid family.
Instances For
The generic left/right hybrid family: the first leftUntil fresh LR queries use the left
branch, and all later fresh queries use the right branch.
Instances For
One-step counter monotonicity for the counted real IND-CPA implementation.
Projecting away the counter from the counted real IND-CPA implementation recovers the ordinary cached real implementation.
The leftUntil = 0 left/right hybrid is exactly the all-right endpoint game once the
counter is projected away.
If a counted IND-CPA hybrid implementation agrees with the counted real implementation
through the first q fresh LR queries, then any adversary making at most q LR queries sees
the same output distribution as in the real IND-CPA game.
A counted IND-CPA hybrid game agrees with the real IND-CPA experiment whenever the hybrid implementation matches the real counted implementation on all states that stay below the query budget.
ℝ≥0∞-valued IND-CPA signed advantage, aligned with the oracle IND-CPA experiment.
Instances For
The leftUntil = 0 LR-hybrid is the all-right endpoint game.
If an adversary makes at most q fresh LR queries, then the leftUntil = q LR-hybrid is the
all-left endpoint game.
The leftUntil = 0 LR-hybrid has the same success probability as the all-right endpoint.
If an adversary makes at most q fresh LR queries, then the leftUntil = q LR-hybrid has
the same success probability as the all-left endpoint.
Signed real IND-CPA advantage Pr[win] - 1/2 for the oracle IND-CPA experiment.
Instances For
The signed real IND-CPA advantage is half the left/right endpoint gap.
Generic telescoping identity for multi-query game-hopping:
if games 0 is the target IND-CPA experiment and games q has success probability 1/2,
then the signed IND-CPA advantage is the sum of adjacent hybrid differences.
Generic multi-query bound: absolute signed IND-CPA advantage is at most the sum of absolute adjacent hybrid gaps.
Compatibility bridge to the existing IND_CPA_advantage API:
the toReal of the ℝ≥0∞ signed advantage is bounded by the absolute signed real advantage.
When the counter is above both thresholds, two hybrid LR counted oracles agree pointwise.
Counter monotonicity for the hybrid LR counted oracle: the counter never decreases.
Behavior of the hybrid challenge oracle on a cache miss.
Behavior of the hybrid challenge oracle on a cache hit.