Pairings
Goal
By the end of this chapter, you should understand what a bilinear pairing is, what the groups , , and represent, and why pairings make BLS signature verification possible.
This chapter is conceptual and algebraic. It does not derive pairings from divisors, Miller loops, or final exponentiation.
Prerequisites
You should know:
- groups and cyclic groups
- finite fields and extension fields
- elliptic curve groups
- scalar multiplication
- basic modular exponentiation
Motivation
Many cryptographic protocols need to check relationships between hidden scalars without revealing those scalars.
Suppose:
is a group generator, and someone gives you:
and:
How can you verify a multiplicative relationship involving and if you do not know either scalar?
Pairings provide a special map that turns scalar multiplication in elliptic curve groups into exponentiation-like behavior in another group. That is what makes compact verification equations possible.
What a Bilinear Pairing Is
A bilinear pairing is a map:
where:
- is one source group
- is another source group
- is a target group
The map takes one element from and one element from and returns an element of .
The main property is bilinearity:
for scalars and , , and .
This one equation is the heart of why pairings are useful.
The Groups , , and
In pairing-based cryptography, and are usually elliptic-curve groups. Their operations are written additively:
and scalar multiplication is written:
The target group is usually written multiplicatively:
and repeated multiplication is written:
This notation difference matters. The pairing maps additive source-group structure into multiplicative target-group structure.
Bilinearity
Bilinearity means the pairing respects scalar multiplication in both inputs.
For the first input:
For the second input:
For both inputs:
This is not ordinary multiplication of coordinates. It is a special algebraic property of the pairing.
Non-Degeneracy
A useful pairing must not collapse everything to the identity in .
This property is called non-degeneracy. Informally, it means there are points and such that:
If every pairing output were , the map would satisfy some equations but would be useless for cryptography.
Efficient Computability
A pairing must also be efficiently computable. Honest users need to compute pairing outputs in a reasonable amount of time.
This creates a careful balance:
- scalar multiplication should be efficient
- pairing evaluation should be efficient enough for verification
- some reverse problems should still be hard
The algorithms that compute pairings are technical. Later implementation chapters may discuss them at a high level, but this chapter only needs the interface and properties.
Pairing Verification Equations
Pairings let us compare scalar relationships using group elements.
Suppose and . If someone gives:
and:
then pairings can check whether the same scalar was used:
Why?
The left side is:
The right side is:
So both sides match.
This example is simplified, but it shows the shape of pairing-based verification.
Intuition Behind Pairings
A pairing is like a structured translator between two kinds of group calculation.
In the source groups, secrets appear as scalar multipliers:
In the target group, the pairing turns those scalar multipliers into exponents:
This does not reveal by itself. It gives a way to check equations involving using public group elements.
The pairing is powerful precisely because it preserves enough structure to verify relationships, but not so much that the underlying hard problems become easy in all directions.
Why Pairings Enable BLS Signatures
At a high level, a BLS public key has the form:
where is a secret scalar and is a generator.
A signature on a message is formed by hashing the message to a curve point and scaling that point by the secret key:
Pairings let a verifier check that the same secret scalar connects to and to :
The exact groups and argument order depend on the variant and convention. The important idea is that bilinearity moves the secret scalar into the pairing output on both sides:
Both sides become the same target-group element.
Chia Connection
Chia uses BLS signatures, and BLS verification relies on pairings. Pairings are also what make signature aggregation possible: multiple signature checks can be combined into fewer pairing equations under the right rules.
Later chapters will discuss BLS12-381, BLS signatures, aggregation, proof of possession, and Chia spend bundles. This chapter only introduces the algebraic interface that those constructions use.
Source starting points: CFRG BLS signature draft and Chia Spend Bundles.
Common Pitfalls
Thinking a pairing is a dot product. A pairing is not ordinary vector algebra. It is a special map between algebraic groups.
Forgetting there are three groups. Pairing equations involve , , and , and they are not interchangeable.
Mixing additive and multiplicative notation. and are usually written additively, while is written multiplicatively.
Assuming bilinearity means linearity over ordinary numbers. The scalars act through group operations, not through real-number vector spaces.
Ignoring group membership. Pairing inputs must be valid points in the correct source groups.
Treating the BLS equation as implementation-ready. Real implementations must handle hash-to-curve, subgroup checks, serialization, variants, and domain separation.
Exercises
- Write the bilinearity equation for .
- Write the bilinearity equation for .
- If and , explain why .
- Which groups are usually written additively: , , or ?
- Why would a pairing that always outputs be useless?
- In the simplified BLS equation , identify where the secret scalar appears on each side before applying bilinearity.
- Explain why validating pairing inputs matters.
- In your own words, describe what a pairing lets a verifier check.
Further Reading
- Later chapter: BLS12-381
- Later chapter: BLS Signatures
- Pairing-based cryptography references covering bilinear maps and Miller's algorithm