Pairing-based cryptography

Pairing-based cryptography is the use of a pairing between elements of two cryptographic groups to a third group with a mapping $$e :G_1 \times G_2 \to G_T$$ to construct or analyze cryptographic systems.

Definition
The following definition is commonly used in most academic papers.

Let $$\mathbb{F}_q$$ be a finite field over prime $$q$$, $$G_1, G_2$$ two additive cyclic groups of prime order $$q$$ and $$G_T$$ another cyclic group of order $$q$$ written multiplicatively. A pairing is a map: $$ e: G_1 \times G_2 \rightarrow G_T $$, which satisfies the following properties:
 * Bilinearity: $$ \forall a,b \in \mathbb{F}_q^*, P\in G_1, Q\in G_2:\ e\left(aP, bQ\right) = e\left(P, Q\right)^{ab}$$
 * Non-degeneracy: $$e \neq 1$$
 * Computability: There exists an efficient algorithm to compute $$e$$.

Classification
If the same group is used for the first two groups (i.e. $$ G_1 = G_2$$), the pairing is called symmetric and is a mapping from two elements of one group to an element from a second group.

Some researchers classify pairing instantiations into three (or more) basic types:
 * 1) $$ G_1 = G_2$$;
 * 2) $$ G_1 \ne G_2$$ but there is an efficiently computable homomorphism $$\phi : G_2 \to G_1$$;
 * 3) $$ G_1 \ne G_2$$ and there are no efficiently computable homomorphisms between $$G_1$$ and $$G_2$$.

Usage in cryptography
If symmetric, pairings can be used to reduce a hard problem in one group to a different, usually easier problem in another group.

For example, in groups equipped with a bilinear mapping such as the Weil pairing or Tate pairing, generalizations of the computational Diffie–Hellman problem are believed to be infeasible while the simpler decisional Diffie–Hellman problem can be easily solved using the pairing function. The first group is sometimes referred to as a Gap Group because of the assumed difference in difficulty between these two problems in the group.

Let $$e$$ be a non-degenerate, efficiently computable, bilinear pairing. Let $$g$$ be a generator of $$G$$. Consider an instance of the CDH problem, $$g$$,$$g^x$$, $$g^y$$. Intuitively, the pairing function $$e$$ does not help us compute $$g^{xy}$$, the solution to the CDH problem. It is conjectured that this instance of the CDH problem is intractable. Given $$g^z$$, we may check to see if $$g^z=g^{xy}$$ without knowledge of $$x$$, $$y$$, and $$z$$, by testing whether $$e(g^x,g^y)=e(g,g^z)$$ holds.

By using the bilinear property $$x+y+z$$ times, we see that if $$e(g^x,g^y)=e(g,g)^{xy}=e(g,g)^{z}=e(g,g^z)$$, then, since $$G_T$$ is a prime order group, $$xy=z$$.

While first used for cryptanalysis, pairings have also been used to construct many cryptographic systems for which no other efficient implementation is known, such as identity-based encryption or attribute-based encryption schemes. Thus, the security level of some pairing friendly elliptic curves have been later reduced.

Pairing-based cryptography is used in the KZG cryptographic commitment scheme.

A contemporary example of using bilinear pairings is exemplified in the BLS digital signature scheme.

Pairing-based cryptography relies on hardness assumptions separate from e.g. the elliptic-curve cryptography, which is older and has been studied for a longer time.

Cryptanalysis
In June 2012 the National Institute of Information and Communications Technology (NICT), Kyushu University, and Fujitsu Laboratories Limited improved the previous bound for successfully computing a discrete logarithm on a supersingular elliptic curve from 676 bits to 923 bits.

In 2016, the Extended Tower Number Field Sieve algorithm allowed to reduce the complexity of finding discrete logarithm in some resulting groups of pairings. There are several variants of the multiple and extended tower number field sieve algorithm expanding the applicability and improving the complexity of the algorithm. A unified description of all such algorithms with further improvements was published in 2019. In view of these advances, several works provided revised concrete estimates on the key sizes of secure pairing-based cryptosystems.