Fujisaki-Okamoto T Transform #
This file defines the derandomizing T transform:
- coins are derived from a random oracle on the plaintext
- decryption re-derives the coins and checks re-encryption
The full oracle world for the T-transform: unrestricted public randomness plus a random oracle mapping plaintexts to encryption coins.
Instances For
Cache state for the T-transform's lazy coins oracle.
Instances For
Query implementation for the T-transform hash oracle.
Instances For
Decryption for the T transform: decrypt deterministically, then re-query the coins oracle and check that re-encryption reproduces the ciphertext.
Instances For
The HHK17 T transform, realized as a monadic AsymmEncAlg in the random-oracle world
unifSpec + (M →ₒ R).
Instances For
The T-transform is natural in any oracle-semantics morphism that preserves both the
plaintext-to-coins query capability and the distinguished lift of ProbComp.
T-transform encryption incurs exactly the weighted cost assigned to the single coins-oracle
query on msg.
T-transform encryption has expected weighted query cost equal to the weight of querying
msg.
T-transform encryption makes exactly one hash-oracle query under unit-cost instrumentation.
If deterministic decryption fails immediately, the T-transform incurs zero weighted query cost.
If deterministic decryption fails immediately, the T-transform has expected weighted query
cost 0.
If deterministic decryption returns a message, the T-transform incurs exactly the weighted cost of querying that message to re-derive the coins.
If deterministic decryption returns a message, the T-transform has expected weighted query cost equal to the weight of querying that message.
If deterministic decryption fails immediately, the T-transform makes no hash-oracle queries.
If deterministic decryption returns a message, the T-transform makes exactly one hash-oracle query to re-derive the coins.
T-transform decryption makes at most one hash-oracle query under unit-cost instrumentation.
Runtime bundle for the T-transform random-oracle world.
Instances For
Structural query bound for T-transform OW-PCVA adversaries: uniform-sampling queries are
unrestricted, while qH, qP, and qV bound the hash, plaintext-checking, and validity
oracles respectively.
Defined as the conjunction of three predicate-targeted query bounds IsQueryBoundP, one per
counted oracle. Because the three index predicates are pairwise disjoint, the conjunction is
equivalent to the prior single-vector IsQueryBound formulation.
Instances For
The T-transform OW-PCVA security statement.
WARNING: this is a placeholder statement, not the final theorem. The current shape is
unsound as written: correctnessBound, gamma, and epsMsg are unconstrained ℝ
parameters, so the right-hand side can be driven arbitrarily negative while the left-hand
side is a probability and hence nonnegative. In the final HHK-style statement these slack
terms must be constrained (typically correctnessBound is the underlying PKE's
δ-correctness error, gamma is the γ-spreadness bound on ciphertexts, and epsMsg is
the message-distribution collision/min-entropy term, all of which are provably nonnegative
quantities derived from pke).
The proof is intentionally deferred. The oracle surface and query-budget parameters
(qH, qP, qV) now match the HHK OW-PCVA game, but the bound itself still needs to be
tightened before this can be a meaningful security claim.