Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- generateProof :: forall p m. (MonadRandom m, KnownNat p) => ArithCircuit (PrimeField p) -> ArithWitness (PrimeField p) -> m (ArithCircuitProof (PrimeField p))
- verifyProof :: KnownNat p => [Point] -> ArithCircuitProof (PrimeField p) -> ArithCircuit (PrimeField p) -> Bool
- data ArithCircuitProof f = ArithCircuitProof {}
- data ArithCircuit f = ArithCircuit {
- weights :: GateWeights f
- commitmentWeights :: [[f]]
- cs :: [f]
- data ArithWitness f = ArithWitness {
- assignment :: Assignment f
- commitments :: [Point]
- commitBlinders :: [f]
- data GateWeights f = GateWeights {}
- data Assignment f = Assignment {}
Documentation
generateProof :: forall p m. (MonadRandom m, KnownNat p) => ArithCircuit (PrimeField p) -> ArithWitness (PrimeField p) -> m (ArithCircuitProof (PrimeField p)) Source #
Generate a zero-knowledge proof of computation for an arithmetic circuit with a valid witness
verifyProof :: KnownNat p => [Point] -> ArithCircuitProof (PrimeField p) -> ArithCircuit (PrimeField p) -> Bool Source #
Verify that a zero-knowledge proof holds for an arithmetic circuit given committed input values
data ArithCircuitProof f Source #
ArithCircuitProof | |
|
Instances
data ArithCircuit f Source #
ArithCircuit | |
|
Instances
data ArithWitness f Source #
ArithWitness | |
|
Instances
data GateWeights f Source #
Instances
data Assignment f Source #