Documentation

CatCryptCore.Examples.Commitments.PolyCommitScheme

Abstract Polynomial Commitment Schemes #

This file extends the abstract commitment scheme with evaluation opening: the prover can demonstrate that a committed polynomial evaluates to a claimed value at a given point, without revealing the polynomial.

Main definitions #

References #

Polynomial Commitment Scheme Structure #

An abstract polynomial commitment scheme.

Extends CommitmentScheme with:

  • An evaluation point type
  • An evaluation value type
  • A witness type for evaluation proofs
  • create_witness: creates a proof that φ(z) = y
  • verify_eval: checks the evaluation proof
Instances For

    Evaluation Correctness #

    Evaluation correctness game: setup, commit, create witness, verify eval. Returns true if verify_eval accepts the honest evaluation proof.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Polynomial Binding #

      @[reducible, inline]

      Polynomial binding adversary: given key, output two different polynomials that have the same commitment

      Equations
      Instances For

        Polynomial binding game: adversary finds two polynomials with the same commitment. Same as Binding_Game for the underlying commitment scheme.

        Equations
        Instances For

          Evaluation Binding #

          @[reducible, inline]

          Evaluation binding adversary: given key, output a commitment and two valid evaluation openings at the same point with different values

          Equations
          Instances For

            Evaluation binding game: adversary finds two valid evaluation openings at the same point with different values for the same commitment

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              Knowledge Soundness #

              Knowledge soundness adversary: given key, output commitment C and evaluation proof (z, y, w). Extractor must recover the committed polynomial.

              Instances For