symbolic-base-0.1.0.0: ZkFold Symbolic compiler and zero-knowledge proof protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

ZkFold.Base.Protocol.Protostar.Commit

Synopsis

Documentation

class Commit ck a f where Source #

Commit to the object a with commitment key ck and results of type f

Methods

commit :: ck -> a -> f Source #

Instances

Instances details
(RandomOracle ck x, RandomOracle a x, Ring x) => Commit ck a x Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.Commit

Methods

commit :: ck -> a -> x Source #

class HomomorphicCommit ck a c where Source #

Homomorphic commitment scheme, i.e. (hcommit ck1 a1) * (hcommit ck2 a2) == hcommit (ck1 + ck2) (a1 + a2)

Methods

hcommit :: ck -> a -> c Source #

Instances

Instances details
(EllipticCurve c, HomomorphicCommit a b (Point c), Foldable t) => HomomorphicCommit a (t b) (Point c) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.Commit

Methods

hcommit :: a -> t b -> Point c Source #

(Symbolic ctx, EllipticCurve c, SymbolicData (Point c), Context (Point c) ~ ctx, PedersonSetup (Point c), Layout (Point c) ~ l, Representable l, Traversable l) => HomomorphicCommit (FieldElement ctx) (FieldElement ctx) (Point c) Source #

Pedersen commitment scheme Commitment key consists of field elements g and h, and randomness r

Instance details

Defined in ZkFold.Base.Protocol.Protostar.Commit

Methods

hcommit :: FieldElement ctx -> FieldElement ctx -> Point c Source #