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

ZkFold.Base.Protocol.Protostar.FiatShamir

Documentation

data FiatShamir f a Source #

Constructors

FiatShamir a (Input f 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 #

Generic (FiatShamir f a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

Associated Types

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

Methods

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

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

type Rep (FiatShamir f a) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.FiatShamir

type Rep (FiatShamir f a) = D1 ('MetaData "FiatShamir" "ZkFold.Base.Protocol.Protostar.FiatShamir" "symbolic-base-0.1.0.0-inplace" 'False) (C1 ('MetaCons "FiatShamir" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Input f a))))
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

fsChallenge :: forall f a c m. Binary (Input f a) => Binary (VerifierMessage f a) => Binary c => Binary (ProverMessage f a) => m ~ ProverMessage f a => FiatShamir f (CommitOpen m c a) -> SpecialSoundTranscript f (CommitOpen m c a) -> ProverMessage f (CommitOpen m c a) -> VerifierMessage f a Source #