Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- generateProof :: forall f m. (MonadRandom m, AsInteger f, Field f, Show f, Eq f) => ArithCircuit f -> ArithWitness f -> m (ArithCircuitProof f)
- verifyProof :: (AsInteger f, Field f, Eq f, Show f) => [Point] -> ArithCircuitProof f -> ArithCircuit f -> 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 f m. (MonadRandom m, AsInteger f, Field f, Show f, Eq f) => ArithCircuit f -> ArithWitness f -> m (ArithCircuitProof f) Source #
Generate a zero-knowledge proof of computation for an arithmetic circuit with a valid witness
verifyProof :: (AsInteger f, Field f, Eq f, Show f) => [Point] -> ArithCircuitProof f -> ArithCircuit f -> 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 #