| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bulletproofs.RangeProof
Synopsis
- data RangeProof f = RangeProof {}
- data RangeProofError f
- generateProof :: (KnownNat p, MonadRandom m) => Integer -> (PrimeField p, PrimeField p) -> ExceptT (RangeProofError (PrimeField p)) m (RangeProof (PrimeField p))
- generateProofUnsafe :: (KnownNat p, MonadRandom m) => Integer -> (PrimeField p, PrimeField p) -> m (RangeProof (PrimeField p))
- verifyProof :: KnownNat p => Integer -> Point -> RangeProof (PrimeField p) -> Bool
Documentation
data RangeProof f Source #
Constructors
| RangeProof | |
Fields
| |
Instances
data RangeProofError f Source #
Constructors
| UpperBoundTooLarge Integer | The upper bound of the range is too large |
| ValueNotInRange f | Value is not within the range required |
| ValuesNotInRange [f] | Values are not within the range required |
| NNotPowerOf2 Integer | Dimension n is required to be a power of 2 |
Instances
Arguments
| :: (KnownNat p, MonadRandom m) | |
| => Integer | Upper bound of the range we want to prove |
| -> (PrimeField p, PrimeField p) | Values we want to prove in range and their blinding factors |
| -> ExceptT (RangeProofError (PrimeField p)) m (RangeProof (PrimeField p)) |
Prove that a value lies in a specific range
Arguments
| :: (KnownNat p, MonadRandom m) | |
| => Integer | Upper bound of the range we want to prove |
| -> (PrimeField p, PrimeField p) | Values we want to prove in range and their blinding factors |
| -> m (RangeProof (PrimeField p)) |
Generate range proof from valid inputs
Arguments
| :: KnownNat p | |
| => Integer | Range upper bound |
| -> Point | Commitments of in-range values |
| -> RangeProof (PrimeField p) | Proof that a secret committed value lies in a certain interval |
| -> Bool |
Verify that a commitment was computed from a value in a given range