Central to pairing-based cryptosystems is a bilinear nondegenerate map, originally given as where are both cyclic groups of prime order , and the discrete log problem is hard in .
The Weil Pairing
Let be an elliptic curve whose group of points contains a cyclic group of order . Let be the smallest integer such that contains the th roots of unity. (If then by the BK Theorem .) Recall denotes the rational function with divisor , and denotes a divisor equivalent to . The Weil pairing is defined as for choices of divisors that avoid the zeroes and poles of thus allow to lie in . Miller's algorithm is used to compute . The Weil pairing is nondegenerate and bilinear. Thus if we can find some point and a homomorphism such that and are linearly independent then taking and to be the th roots of unity (which lie in ) gives a bilinear pairing suitable for cryptography, where we define However, in practice it is better to use the Tate pairing.
Examples
Suppose is a prime and , so is a quadratic residue in . Let be the curve It turns out that and , thus the embedding degree is 2. Let be the largest prime dividing , and define by . Then contains a cyclic subgroup of order which we call , and contains a group isomorphic to . Consider the homomorphism given by where is a square root of -1. Clearly maps to points that are linearly independent of the input points, since the output points lie over a different field. (And since is a homomorphism, the output point has the same order as the input point.)
Thus with , and as above, if we set to the subgroup of that has order , we have a concrete example of a bilinear nondegenerate pairing on groups where it is widely believed discrete log is hard.
A similar example is the curve over for any prime . (For implementation purposes it is convenient to take so that is guaranteed to be a quadratic nonresidue.) As above, it turns out and , and if we use the map given by where is a primitive cube root of unity we have another concrete instantiation of a pairing suitable for cryptography.
Note that these two examples fall in the first two classes of supersingular curves. TODO: link
Implementation note: can be chosen so that it is a Solinas prime, allowing Miller's algorithm to be optimized greatly.
Using Different Curves
In general a map may not exist. In fact if any curve except for the two examples given above is used, there is no known way to construct a suitable map . To rectify the situation, we must change what it means to be a pairing suitable for cryptography.