Documentation

Complexity.Crypto.Computational.Pseudoentropy.ExtractionSchedule

A polynomial repetition schedule for label extraction #

The information bound is the sampler's seed length plus n + 2. Repeating 32 * (n + 1) * informationBits^2 * (inverseSlack + 1)^2 times makes the concentration error exponentially small. Reserving two entropy slacks also pays for leftover hashing. Neither choice depends on the distinguisher's polynomial degree.

Main definitions #

Main results #

References #

Adapted from the cslib crypto branch at 5ff69ca93402e7c947208dc56396d6d86203ccd8, using typed certificates and nonnegative errors.

A polynomial number of copies, fixed independently of the sequence distinguisher.

Instances For

    Integer entropy slack for concentration; extraction reserves twice this amount.

    Instances For

      The repetition count is available in unary with polynomial cost.

      The integer slack is available in unary with polynomial cost.

      theorem Cslib.Crypto.Pseudoentropy.ExtractionSchedule.two_slack_eq (n sourceBits inverseSlack : ℕ) :
      2 * ↑(slack n sourceBits inverseSlack) = ↑(count n sourceBits inverseSlack) / (2 * (↑inverseSlack + 1))

      Reserving two slacks costs exactly 1 / (2 * (inverseSlack + 1)) bits per sample.

      One common exponential bound covers concentration and leftover hashing.

      Instances For
        theorem Cslib.Crypto.Pseudoentropy.ExtractionSchedule.error_le (n sourceBits inverseSlack outputBits : ℕ) (density : ℝ) (hlength : ↑outputBits + 2 * ↑(slack n sourceBits inverseSlack) ≤ ↑(count n sourceBits inverseSlack) * density) :
        2 * Real.exp (-2 * ↑(slack n sourceBits inverseSlack) ^ 2 / (↑(count n sourceBits inverseSlack) * ↑(sourceBits + n + 2) ^ 2)) + √(2 ^ outputBits * (2 * 2 ^ (-(↑(count n sourceBits inverseSlack) * density - ↑(slack n sourceBits inverseSlack))))) / 2 ≤ ↑(error n)

        This schedule extracts below the density by two slacks with negligible error. The output length is an ordinary natural number; the density occurs only in the correctness premise.