Table of contents
Open Table of contents
What it is
An Elliptic Curve Pairing is a mechanism that takes as input two points from two Elliptic Curves and maps those points to a single number.
Conceptually, one can think of this mapping as the equivalence of Elliptic Curve point multiplication.
How it works
Mathematically, an Elliptic Curve pairing is defined as the mapping of two Elliptic Curve points to an element in another group like a finite field:
where is the pairing, and are the Elliptic Curves and is a finite field.
Note that the Elliptic Curves and don’t have to be different. Also note that once a pairing occurred, the resulting value which is an element in another group can’t be reused for a subsequent pairing.
Elliptic Curve Pairings come with certain properties called bilinear mappings:
where , and are points on the Elliptic Curve and , .
Using these bilinear mappings we can “move around” the coefficients and on those two curves while keeping the mapping the same:
Elliptic Curve Pairings and Security
Leveraging the findings studied so far there’s one special case worth exploring.
It’s the case where both Elliptic Curves are the same and only one point on the curve is considered:
and
In this case we have:
which means that given and we can distinguish from randomness because we know that but .
The result is that once we have a pairing we can solve the Decisional Diffie Hellman (DDH) problem which states that given , and it’s infeasible to distinguish from a random point on the Elliptic Curve .
References
The following resources have been invaluable for me to learn the concepts discussed in this article.
You should definitely give them a read if you want to dive deeper into the topic.