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

ZkFold.Base.Protocol.IVC.Commit

Synopsis

Documentation

class Commit algo a f where Source #

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

Methods

commit :: a -> f Source #

Instances

Instances details
RandomOracle algo a x => Commit (algo :: k) a x Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Commit

Methods

commit :: a -> x Source #

class AdditiveGroup c => HomomorphicCommit a c where Source #

Homomorphic commitment scheme, i.e. (hcommit x) * (hcommit y) == hcommit (x + y)

Methods

hcommit :: a -> c Source #

Instances

Instances details
(PedersonSetup s g, Zip s, Foldable s, Scale f g, AdditiveGroup g) => HomomorphicCommit (s f) g Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Commit

Methods

hcommit :: s f -> g Source #

class PedersonSetup s c where Source #

Methods

groupElements :: s c Source #

Instances

Instances details
(CyclicGroup (Weierstrass curve (Point field)), Random (ScalarFieldOf (Weierstrass curve (Point field)))) => PedersonSetup List (Weierstrass curve (Point field) :: Type) Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Commit

Methods

groupElements :: [Weierstrass curve (Point field)] Source #

(PedersonSetup s g, Functor s) => PedersonSetup (s :: Type -> Type) (Constant g a :: Type) Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Commit

Methods

groupElements :: s (Constant g a) Source #

(KnownNat n, CyclicGroup (Weierstrass curve (Point field)), Random (ScalarFieldOf (Weierstrass curve (Point field))), n <= PedersonSetupMaxSize) => PedersonSetup (Vector n :: Type -> Type) (Weierstrass curve (Point field) :: Type) Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Commit

Methods

groupElements :: Vector n (Weierstrass curve (Point field)) Source #