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

ZkFold.Base.Protocol.Protostar.CommitOpen

Documentation

data CommitOpen m c a Source #

Constructors

CommitOpen ([m] -> c) a 

Instances

Instances details
(Symbolic ctx, Eq (Bool ctx) c, Eq (Bool ctx) i, Eq (Bool ctx) f, Eq (Bool ctx) [f], Eq (Bool ctx) [c], AdditiveGroup c, AdditiveSemigroup m, Ring f, Scale f c, Scale f m, MapInput f a ~ i, deg ~ (Degree (CommitOpen m c a) + 1), KnownNat deg, LinearCombination (MapMessage f a) (MapMessage (PolyVec f deg) a), LinearCombination (MapInput f a) (MapInput (PolyVec f deg) a), LinearCombinationWith f (MapInput f a), MapMessage f a ~ m, AlgebraicMap f (CommitOpen m c a), AlgebraicMap (PolyVec f deg) a, RandomOracle c f, RandomOracle i f, HomomorphicCommit f [m] c, HomomorphicCommit f [f] c) => AccumulatorScheme i f c m ctx (FiatShamir f (CommitOpen m c a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.AccumulatorScheme

Methods

prover :: FiatShamir f (CommitOpen m c a) -> f -> Accumulator i f c m -> InstanceProofPair i c m -> (Accumulator i f c m, [c]) Source #

verifier :: i -> [c] -> AccumulatorInstance i f c -> AccumulatorInstance i f c -> [c] -> Bool ctx Source #

decider :: FiatShamir f (CommitOpen m c a) -> (f, KeyScale f) -> Accumulator i f c m -> Bool ctx Source #

(SpecialSoundProtocol f a, Binary (Input f a), Binary (VerifierMessage f a), VerifierMessage f a ~ f, ProverMessage f a ~ m, Binary c, Binary (ProverMessage f a), BoolType (VerifierOutput f a), Eq (VerifierOutput f a) [c], VerifierOutput f a ~ Bool) => NonInteractiveProof (FiatShamir f (CommitOpen m c a)) (core :: k) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

Associated Types

type Transcript (FiatShamir f (CommitOpen m c a)) Source #

type SetupProve (FiatShamir f (CommitOpen m c a)) Source #

type SetupVerify (FiatShamir f (CommitOpen m c a)) Source #

type Witness (FiatShamir f (CommitOpen m c a)) Source #

type Input (FiatShamir f (CommitOpen m c a)) Source #

type Proof (FiatShamir f (CommitOpen m c a)) Source #

(AlgebraicMap f a, m ~ MapMessage f a) => AlgebraicMap f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

Associated Types

type MapInput f (CommitOpen m c a) Source #

type MapMessage f (CommitOpen m c a) Source #

Methods

algebraicMap :: CommitOpen m c a -> MapInput f (CommitOpen m c a) -> [MapMessage f (CommitOpen m c a)] -> [f] -> f -> [f] Source #

(SpecialSoundProtocol f a, BoolType (VerifierOutput f a), Eq (VerifierOutput f a) [c], m ~ ProverMessage f a) => SpecialSoundProtocol f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

Associated Types

type Witness f (CommitOpen m c a) Source #

type Input f (CommitOpen m c a) Source #

type ProverMessage f (CommitOpen m c a) Source #

type VerifierMessage f (CommitOpen m c a) Source #

type VerifierOutput f (CommitOpen m c a) Source #

type Degree (CommitOpen m c a) :: Natural Source #

Methods

outputLength :: CommitOpen m c a -> Natural Source #

rounds :: CommitOpen m c a -> Natural Source #

prover :: CommitOpen m c a -> Witness f (CommitOpen m c a) -> Input f (CommitOpen m c a) -> SpecialSoundTranscript f (CommitOpen m c a) -> ProverMessage f (CommitOpen m c a) Source #

verifier :: CommitOpen m c a -> Input f (CommitOpen m c a) -> [ProverMessage f (CommitOpen m c a)] -> [f] -> VerifierOutput f (CommitOpen m c a) Source #

RandomOracle a b => RandomOracle (CommitOpen m c a) b Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

Methods

oracle :: CommitOpen m c a -> b Source #

type Input f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type Input f (CommitOpen m c a) = Input f a
type MapInput f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type MapInput f (CommitOpen m c a) = MapInput f a
type MapMessage f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type ProverMessage f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type VerifierMessage f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type VerifierOutput f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type Witness f (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type Witness f (CommitOpen m c a) = (Witness f a, [m])
type Input (FiatShamir f (CommitOpen m c a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type Input (FiatShamir f (CommitOpen m c a)) = (Input f a, [c])
type Proof (FiatShamir f (CommitOpen m c a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type Proof (FiatShamir f (CommitOpen m c a)) = [ProverMessage f a]
type SetupProve (FiatShamir f (CommitOpen m c a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type SetupVerify (FiatShamir f (CommitOpen m c a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type Transcript (FiatShamir f (CommitOpen m c a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type Witness (FiatShamir f (CommitOpen m c a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type Witness (FiatShamir f (CommitOpen m c a)) = Witness f a
type Degree (CommitOpen m c a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type Degree (CommitOpen m c a) = Degree a

data CommitOpenProverMessage m c Source #

Constructors

Commit c 
Open [m] 

Instances

Instances details
Generic (CommitOpenProverMessage m c) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

Associated Types

type Rep (CommitOpenProverMessage m c) :: Type -> Type #

(Binary c, Binary m) => Binary (CommitOpenProverMessage m c) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type Rep (CommitOpenProverMessage m c) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

type Rep (CommitOpenProverMessage m c) = D1 ('MetaData "CommitOpenProverMessage" "ZkFold.Base.Protocol.Protostar.CommitOpen" "symbolic-base-0.1.0.0-inplace" 'False) (C1 ('MetaCons "Commit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)) :+: C1 ('MetaCons "Open" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [m])))

commits :: forall f a c m. SpecialSoundTranscript f (CommitOpen m c a) -> [c] Source #

opening :: forall f a c m. SpecialSoundProtocol f a => BoolType (VerifierOutput f a) => Eq (VerifierOutput f a) [c] => m ~ ProverMessage f a => CommitOpen m c a -> Witness f a -> Input f a -> (SpecialSoundTranscript f (CommitOpen m c a) -> ProverMessage f (CommitOpen m c a) -> VerifierMessage f a) -> ([m], SpecialSoundTranscript f (CommitOpen m c a)) Source #