A = 17PB = 17QA prover builds curve points from private scalars. The verifier applies a pairing and checks a target-group equality, without learning the scalars themselves.
| What prover wants to prove | Prover gives | Verifier checks | What it proves |
|---|---|---|---|
| I know secret a | A = aP, then a challenge response | Checks the response against A | Prover controls the scalar behind A, not just a copied point. |
| This signature was made by private key a | signature = aH(m) | f(signature,Q) = f(H(m),aQ) | Signature matches the public key. |
| Two public points use same secret a | A = aP, B = aQ | f(A,Q) = f(P,B) | Same scalar a links both points. |
| Two secrets multiply to ab | A = aP, B = bQ | f(A,B) = f(P,Q)^(ab) indirectly | The product is exposed in GT, not as raw scalars. |
| Aggregated signature is valid | signature = signature1 + signature2 + signature3 | Pairing equality with public keys | Many signatures combined correctly. |
| Polynomial commitment opens correctly | commitment + proof | Pairing equation | Claimed polynomial value is correct. |
| zk-SNARK proof is valid | proof points | Product of pairings equals target value | Hidden computation satisfied constraints. |
Prove A and B were derived with the same hidden scalar a.
Elapsed 0.00s / simulated lag 0.00s
A = 17PB = 17Qf(A,Q) = f(17P,Q)f(P,B) = f(P,17Q)The verifier is not comparing an elliptic-curve point to a target-group value. It applies the pairing to public curve points first, then compares two values in GT.
a = 17b = 17A valid same-secret proof uses the same scalar on both public points. The second slider is named b so you can tamper with it and see the check fail.
A = 17P in G1B = 17Q in G2A and B are curve points. The verifier can see them, but does not learn the scalar by looking at the point.
f(A,Q) = f(17P,Q) = f(P,Q)^17f(P,B) = f(P,17Q) = f(P,Q)^17Bilinearity moves the scalar from the curve input into the exponent of the same base target-group element.
left exponent: 17 * 1 mod 101 = 17right exponent: 1 * 17 mod 101 = 17left GT: 64^17 mod 607 = 420right GT: 64^17 mod 607 = 420GT values matchA = aP alone is not a complete proof that someone knows a; someone could copy the public point. A real knowledge proof adds a challenge response or signature. This same-secret check proves that A and B are linked by the same hidden scalar.
Real pairing systems output a large BLS12-381-style target-group element. This browser demo uses a tiny target group so the verifier result is inspectable.
f(17P,Q)GT value 42064^17 mod 607f(P,17Q)GT value 42064^17 mod 607f(A,Q) = f(P,B)Cross-group public-key consistency checks and proof-system wiring.
A and B are linked by the same hidden scalar a without revealing a.
Both pairings equal the same target-group element.
Builds curve points using hidden scalars, then sends public points or proof points.
Applies pairings, multiplies target-group terms when needed, and checks equality.
The verifier learns the algebraic relationship, not the raw scalar values.