plonkfri

package
v0.0.0-...-70ee9f5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2023 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Setup

Setup prepares the public data associated to a circuit + public inputs.

func Verify

func Verify(proof Proof, vk VerifyingKey, publicWitness witness.Witness, opts ...backend.VerifierOption) error

Verify verifies a PLONK proof, from the proof, preprocessed public data, and public witness.

Types

type Proof

type Proof interface {
}

Proof represents a Plonk proof generated by plonk.Prove

it's underlying implementation is curve specific (see gnark/internal/backend)

func Prove

func Prove(ccs constraint.ConstraintSystem, pk ProvingKey, fullWitness witness.Witness, opts ...backend.ProverOption) (Proof, error)

Prove generates PLONK proof from a circuit, associated preprocessed public data, and the witness if the force flag is set:

	will executes all the prover computations, even if the witness is invalid
 will produce an invalid proof
	internally, the solution vector to the SparseR1CS will be filled with random values which may impact benchmarking

type ProvingKey

type ProvingKey interface {
	// io.WriterTo
	// io.ReaderFrom
	VerifyingKey() interface{}
}

ProvingKey represents a plonk ProvingKey

it's underlying implementation is strongly typed with the curve (see gnark/internal/backend)

type VerifyingKey

type VerifyingKey interface {
	// io.WriterTo
	// io.ReaderFrom
	// InitKZG(srs kzg.SRS) error
	NbPublicWitness() int // number of elements expected in the public witness
}

VerifyingKey represents a plonk VerifyingKey

it's underlying implementation is strongly typed with the curve (see gnark/internal/backend)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL