Pairings are mathematical tools that allow efficient verification of certain cryptographic properties without revealing any additional information to the other party. Verifiers rely on cryptographic pairings because pairings enable efficient and secure verification of complex algebraic relationships, particularly those arising from polynomial commitments without knowing the underlying polynomial's coefficients thus satisfying the zero knowledge property.
Pairings are used in commitment schemes, where the Prover commits to certain values (e.g., polynomials) without revealing them.
The Verifier uses pairings to ensure the commitments are consistent with the proof and the public inputs.
For example, pairings verify that a committed polynomial satisfies certain algebraic constraints.
Bilinear pairings enable Verifiers to detect forgery or invalid proofs by enforcing algebraic consistency.
Let’s take an example,
If I want to calculate what C is, there are two possible ways to do so.
Method 1 :
First calculate then and finally do .
Method 2 :
First calculate then do
If you perform scalar multiplication first and then addition (Method 1), or addition first and then scalar multiplication (Method 2), both methods produce the same result. This property is why elliptic curve groups are said to be homomorphic under addition.
The Prover calculates A and B, then sends A, B, and G to the Verifier. The Verifier computes A + B and returns C to the Prover. The advantage here is that the Verifier can do proper computation without knowing the underlying secret values.
The Prover calculates A and B, then adds them together to obtain a new value C. The Prover then asks the Verifier to confirm whether A + B indeed equals C.
Both Example 1 and 2 are homomorphic under addition but are they homomorphic under multiplication ?
Calculating such that by multiplying won’t work because we cannot multiply two elliptic curve points. We say this is not homomorphic under multiplication.
The only way we can calculate D is if we first multiply then multiply the result with G.
Fully Homomorphic = homomorphic under addition and homomorphic under multiplication
Providing the Verifier with A and B alone does not allow them to compute D under multiplication. Therefore, similarly to example 2, where 200 and 275 remain secret, the Prover computes A, B, and D and sends them to the Verifier. Using elliptic curve pairings, the Verifier can then verify that .
Cryptographic pairings are special mathematical functions that map two group elements into a target group. Formally, a pairing is a function:
where , , and are groups, and the function 𝑒 satisfies the following properties:
Bilinearity:
For all , :
Non-degeneracy:
If and , then . This ensures the pairing provides useful information.
Computability/Efficiency:
There exists an efficient algorithm to compute for all .
Note that and are elliptic curve groups and isn’t.
A pairing on defines the function , and where is a generator for and is a generator for . If we have the points of and on and and on , we get the bilinear mapping of:
If is a point on , is a point on and are scalars, we get:
If and are the same group, we get a symmetric grouping , and the following commutative property will apply: