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

ZkFold.Base.Protocol.Protostar.FiatShamir

Documentation

newtype FiatShamir a Source #

Constructors

FiatShamir a 

Instances

Instances details
(SpecialSoundProtocol f i p m c d k a, Ring f, HomomorphicCommit m c, RandomOracle (i f) f, RandomOracle c f, KnownNat k) => SpecialSoundProtocol f i p (Vector k (m, c)) (c :: Type) (d :: k1) 1 (FiatShamir (CommitOpen a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

Associated Types

type VerifierOutput f i p (Vector k (m, c)) c d 1 (FiatShamir (CommitOpen a)) Source #

Methods

input :: FiatShamir (CommitOpen a) -> i f -> p f -> i f Source #

prover :: FiatShamir (CommitOpen a) -> i f -> p f -> f -> Natural -> Vector k (m, c) Source #

verifier :: FiatShamir (CommitOpen a) -> i f -> Vector 1 (Vector k (m, c)) -> Vector (1 - 1) f -> VerifierOutput f i p (Vector k (m, c)) c d 1 (FiatShamir (CommitOpen a)) Source #

(AlgebraicMap f i d a, AlgebraicMap (PolyVec f (d + 1)) i d a, Ring f, Zip i, KnownNat (d - 1), KnownNat (d + 1), Scale f c, HomomorphicCommit [f] c, RandomOracle (i f) f, RandomOracle c f, KnownNat k) => AccumulatorScheme f i [f] c d k (FiatShamir (CommitOpen a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.AccumulatorScheme

Methods

prover :: FiatShamir (CommitOpen a) -> Accumulator f i [f] c k -> NARKInstanceProof f i [f] c k -> (Accumulator f i [f] c k, Vector (d - 1) c) Source #

verifier :: i f -> Vector k c -> AccumulatorInstance f i c k -> AccumulatorInstance f i c k -> Vector (d - 1) c -> (f, i f, Vector (k - 1) f, Vector k c, c) Source #

decider :: FiatShamir (CommitOpen a) -> Accumulator f i [f] c k -> (Vector k c, c) Source #

Generic (FiatShamir a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

Associated Types

type Rep (FiatShamir a) :: Type -> Type #

Methods

from :: FiatShamir a -> Rep (FiatShamir a) x #

to :: Rep (FiatShamir a) x -> FiatShamir a #

type VerifierOutput f i p (Vector k (m, c)) (c :: Type) (d :: k1) 1 (FiatShamir (CommitOpen a)) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type VerifierOutput f i p (Vector k (m, c)) (c :: Type) (d :: k1) 1 (FiatShamir (CommitOpen a)) = VerifierOutput f i p (m, c) c d k (CommitOpen a)
type Rep (FiatShamir a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type Rep (FiatShamir a) = D1 ('MetaData "FiatShamir" "ZkFold.Base.Protocol.Protostar.FiatShamir" "symbolic-base-0.1.0.0-inplace" 'True) (C1 ('MetaCons "FiatShamir" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

transcriptFiatShamir :: forall f c k. (Ring f, RandomOracle f f, RandomOracle c f) => f -> Vector k c -> Vector (k - 1) f Source #