Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
ZkFold.Base.Protocol.IVC.Commit
Synopsis
- class Commit algo a f where
- commit :: a -> f
- class AdditiveGroup c => HomomorphicCommit a c where
- hcommit :: a -> c
- class PedersonSetup s c where
- groupElements :: s c
Documentation
class Commit algo a f where Source #
Commit to the object a
with commitment key ck
and results of type f
Instances
RandomOracle algo a x => Commit (algo :: k) a x Source # | |
Defined in ZkFold.Base.Protocol.IVC.Commit |
class AdditiveGroup c => HomomorphicCommit a c where Source #
Homomorphic commitment scheme, i.e. (hcommit x) * (hcommit y) == hcommit (x + y)
Instances
(PedersonSetup s g, Zip s, Foldable s, Scale f g, AdditiveGroup g) => HomomorphicCommit (s f) g Source # | |
Defined in ZkFold.Base.Protocol.IVC.Commit |
class PedersonSetup s c where Source #
Methods
groupElements :: s c Source #
Instances
(CyclicGroup (Weierstrass curve (Point field)), Random (ScalarFieldOf (Weierstrass curve (Point field)))) => PedersonSetup List (Weierstrass curve (Point field) :: Type) Source # | |
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 # | |
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 # | |
Defined in ZkFold.Base.Protocol.IVC.Commit Methods groupElements :: Vector n (Weierstrass curve (Point field)) Source # |