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

ZkFold.Base.Protocol.Protostar.SpecialSound

Documentation

class SpecialSoundProtocol f i p m c d k a where Source #

Associated Types

type VerifierOutput f i p m c d k a Source #

Methods

input Source #

Arguments

:: a 
-> i f

previous public input

-> p f

witness

-> i f

public input

prover Source #

Arguments

:: a 
-> i f

previous public input

-> p f

witness

-> f

current random challenge

-> Natural

round number (starting from 1)

-> m

prover message

verifier Source #

Arguments

:: a 
-> i f

public input

-> Vector k m

prover messages

-> Vector (k - 1) f

random challenges

-> VerifierOutput f i p m c d k a

verifier output

Instances

Instances details
(Arithmetic a, Representable i, Representable p, KnownNat (d + 1)) => SpecialSoundProtocol a i p [a] (c :: k) (d :: Natural) 1 (ArithmetizableFunction a i p) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.SpecialSound

Associated Types

type VerifierOutput a i p [a] c d 1 (ArithmetizableFunction a i p) Source #

Methods

input :: ArithmetizableFunction a i p -> i a -> p a -> i a Source #

prover :: ArithmetizableFunction a i p -> i a -> p a -> a -> Natural -> [a] Source #

verifier :: ArithmetizableFunction a i p -> i a -> Vector 1 [a] -> Vector (1 - 1) a -> VerifierOutput a i p [a] c d 1 (ArithmetizableFunction a i p) Source #

(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 #

(SpecialSoundProtocol f i p m c d k a, HomomorphicCommit m c) => SpecialSoundProtocol f i p (m, c) (c :: Type) (d :: k1) k (CommitOpen a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.CommitOpen

Associated Types

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

Methods

input :: CommitOpen a -> i f -> p f -> i f Source #

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

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