Class ECSchnorrZKP
java.lang.Object
org.bouncycastle.crypto.agreement.owl.ECSchnorrZKP
Schnorr non-interactive zero-knowledge proof over an elliptic curve, as used in the Owl key
exchange. The {(V, r)} pair follows the RFC 8235 ยง3.2 EC-Schnorr-Signature encoding: prover
picks ephemeral v in [1, n-1], publishes commitment V = [v]G alongside response r = v - d*c
mod n, where d is the prover's private key and c is the challenge hash. The verifier
recomputes c and checks V == [r]G + [c]X.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
ECSchnorrZKP
Constructor for ECSchnorrZKP- Parameters:
V- Prover's commitment V = G x [v]r- Prover's response r to a challenge c, r = v - d * c mod n
-
-
Method Details
-
getV
Get the prover's commitment V = G x [v] where G is a base point on the elliptic curve and v is an ephemeral secret- Returns:
- The prover's commitment
-
getr
Get the prover's response r to the challenge c, r = v - d * c mod n where d is the prover's private key- Returns:
- The prover's response
-