Expanding candidates from a pseudoentropy pair #
Each entropy-grid entry defines a deterministic polynomial-time expander with its exact seed length. One entry is secure against every uniform indexed test; its index may vary arbitrarily with the security parameter. The family is indexed by the whole finite grid and never computes entropy.
These raw candidates have different seed lengths. ThreeSource.Padding gives them a common
seed length and one bit of stretch. Amplification and XOR combination are still needed to turn
them into one generator.
Main definitions #
seedLength,outputLength,generate: exact lengths and evaluation of one entropy guess.
Main results #
isPolyTime_generate_of_realization: one efficient evaluator for the whole indexed family.seedLength_lt_outputLength,length_generate: strict expansion and exact output length.exists_secure_choice: a single proof-only choice works for every uniform indexed test.
References #
- Thomas Holenstein, Pseudorandom Generators from One-Way Functions: A Simple Construction for Any Hardness, TCC 2006, Section 5, final proof of Theorem 1. [Hol06].
Adapted from the cslib crypto branch at
5ff69ca93402e7c947208dc56396d6d86203ccd8.
The exact seed length of a candidate, including all three public matrix keys.
Instances For
The candidate's output keeps every matrix key and the three digests.
Instances For
The exact input size is uniformly available in unary.
The exact output size is uniformly available in unary.
Candidate evaluation is uniformly polynomial time, with an ordinary captured callback.
A saved sampler gives one efficient evaluator for the entire indexed family.
The advertised lengths give strict expansion for every entry, even an inaccurate guess.
Every correctly sized input has exactly the advertised output length.
Every sufficiently fine grid contains a valid entry, with no entropy estimation required.
A single varying candidate is secure against every uniform indexed test. The choice is
made before the test is quantified and is used only in the proof, never by generate.
A linear grid precision suffices for the gap already obtained from a general one-way function. This is a numerical consequence of rounding the denominator up to a power of two.