Versions in this module Expand all Collapse all v1 v1.0.1 Dec 19, 2023 Changes in this version + var ErrInvalidAlgebraicRelation = errors.New("algebraic relation does not hold") + func Setup(spr *cs.SparseR1CS) (*ProvingKey, *VerifyingKey, error) + func Verify(proof *Proof, vk *VerifyingKey, publicWitness fr.Vector, ...) error + type Proof struct + Hpp [3]fri.ProofOfProximity + LROpp [3]fri.ProofOfProximity + OpeningsHmp [3]fri.OpeningProof + OpeningsId1Id2Id3mp [3]fri.OpeningProof + OpeningsLROmp [3]fri.OpeningProof + OpeningsQlQrQmQoQkincompletemp [5]fri.OpeningProof + OpeningsS1S2S3mp [3]fri.OpeningProof + OpeningsZmp [2]fri.OpeningProof + Zpp fri.ProofOfProximity + func Prove(spr *cs.SparseR1CS, pk *ProvingKey, fullWitness witness.Witness, ...) (*Proof, error) + type ProvingKey struct + CQkIncomplete []fr.Element + CQl []fr.Element + CQm []fr.Element + CQo []fr.Element + CQr []fr.Element + Domain [2]fft.Domain + EvaluationId1BigDomain []fr.Element + EvaluationId2BigDomain []fr.Element + EvaluationId3BigDomain []fr.Element + EvaluationQlDomainBigBitReversed []fr.Element + EvaluationQmDomainBigBitReversed []fr.Element + EvaluationQoDomainBigBitReversed []fr.Element + EvaluationQrDomainBigBitReversed []fr.Element + EvaluationS1BigDomain []fr.Element + EvaluationS2BigDomain []fr.Element + EvaluationS3BigDomain []fr.Element + LId []fr.Element + LQkIncompleteDomainSmall []fr.Element + Permutation []int64 + Vk *VerifyingKey + func (pk *ProvingKey) VerifyingKey() interface{} + type VerifyingKey struct + CosetShift fr.Element + GenOpening fr.Element + Generator fr.Element + IdCanonical [3][]fr.Element + Idpp [3]fri.ProofOfProximity + Iopp fri.Iopp + NbPublicVariables uint64 + Qpp [5]fri.ProofOfProximity + SCanonical [3][]fr.Element + Size uint64 + SizeInv fr.Element + Spp [3]fri.ProofOfProximity + func (vk *VerifyingKey) NbPublicWitness() int