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