Combining the entropy-grid candidates #
Run every amplified candidate on a separate seed block and XOR the outputs. The result expands their total seed length by one bit. The secure choice from the entropy argument proves security; the program itself never chooses or estimates an entropy.
Main definitions #
combinedGenerate: run and XOR every amplified entropy-grid candidate.
Main results #
isPolyTime_combinedGenerate: one uniform implementation of the complete grid.length_combinedGenerate: output length is one bit beyond the grid's total seed cost.combinedGenerate_indistinguishable: security against every efficient test of the full output.
References #
This completes the indexed construction of Thomas Holenstein, Pseudorandom Generators from One-Way Functions: A Simple Construction for Any Hardness, TCC 2006, Section 5, final proof of Theorem 1, [Hol06]. The security parameter determines the seed length here. Extending this construction to every input length requires a separate reindexing argument.
Adapted from the cslib crypto branch at
5ff69ca93402e7c947208dc56396d6d86203ccd8.
The complete grid construction has one uniform polynomial-time implementation.
One entropy-valid choice suffices for security of the complete, explicitly computed grid.