{{Short description|Bilinear map in mathematics}} {{About|the mathematics concept|other uses|Pair (disambiguation)}} {{distinguish|one-to-one correspondence}}
In mathematics, a '''pairing''' is an ''R''-bilinear map from the Cartesian product of two ''R''-modules, where the underlying ring ''R'' is commutative.
==Definition== Let ''R'' be a commutative ring with unit, and let ''M'', ''N'' and ''L'' be ''R''-modules.
A '''pairing''' is any ''R''-bilinear map <math>e:M \times N \to L</math>. That is, it satisfies
:<math>e(r\cdot m,n)=e(m,r \cdot n)=r\cdot e(m,n)</math>,
:<math>e(m_1+m_2,n)=e(m_1,n)+e(m_2,n)</math> and <math>e(m,n_1+n_2)=e(m,n_1)+e(m,n_2)</math>
for any <math>r \in R</math> and any <math>m,m_1,m_2 \in M</math> and any <math>n,n_1,n_2 \in N </math>. Equivalently, a pairing is an ''R''-linear map
:<math>M \otimes_R N \to L</math>
where <math>M \otimes_R N</math> denotes the tensor product of ''M'' and ''N''.
A pairing can also be considered as an ''R''-linear map <math>\Phi : M \to \operatorname{Hom}_{R} (N, L) </math>, which matches the first definition by setting <math>\Phi (m) (n) := e(m,n) </math>.
A pairing is called '''perfect''' if the above map <math> \Phi </math> is an isomorphism of ''R''-modules and the other evaluation map <math> \Phi'\colon N\to \operatorname{Hom}_{R}(M,L) </math> is an isomorphism also. In nice cases, it suffices that just one of these be an isomorphism, e.g. when '' R'' is a field, ''M,N'' are finite dimensional vector spaces and ''L=R''.
A pairing is called '''non-degenerate on the right''' if for the above map we have that <math> e(m,n) = 0 </math> for all <math>m</math> implies <math> n=0 </math>; similarly, <math>e</math> is called '''non-degenerate on the left''' if <math> e(m,n) = 0 </math> for all <math>n</math> implies <math> m=0 </math>.
When <math> N=M </math>, a pairing is called '''symmetric''' if <math>e(m,n)=e(n,m)</math> for all ''m'', ''n'', and '''alternating''' if <math> e(m,m) = 0 </math> for all ''m''. In particular, this implies <math>e(m+n,m+n)=0</math>, while bilinearity shows <math>e(m+n,m+n)=e(m,m)+e(m,n)+e(n,m)+e(n,n)=e(m,n)+e(n,m)</math>. Thus, for an alternating pairing, <math>e(m,n)=-e(n,m)</math>.
==Examples== For a vector space <math>V</math> over a field <math>k</math>, a pairing <math>V\times V\to k</math> is also called a bilinear form. Examples include any scalar product on a '''real''' vector space ''V'', or the determinant map (2 × 2 matrices over ''k'') → ''k'' when viewed as a pairing <math>k^2 \times k^2 \to k</math>.
For the dual module <math>M^*</math> of <math>M</math>, the evaluation map <math>M^*\times M\to R</math>, <math>(\lambda,m)\mapsto\lambda(m)</math> is known as the natural pairing.
Other examples of pairings occur in various duality theories, such as Serre duality or Poincaré duality. See also Dual system.
Another example is the Yoneda product between Ext groups.
The Hopf map <math>S^3 \to S^2</math> written as <math>h:S^2 \times S^2 \to S^2 </math> is an example of a pairing.{{clarification needed|date=January 2026}} For instance, Hardie et al.<ref>Hardie K.A.1; Vermeulen J.J.C.; Witbooi P.J., A nontrivial pairing of finite T0 spaces, Topology and its Applications, Volume 125, Number 3, 20 November 2002, pp. 533–542. </ref> present an explicit construction of the map using poset models.
==Pairings in cryptography== {{Main|Pairing-based cryptography}} In cryptography, often the following specialized definition is used:<ref>Dan Boneh, Matthew K. Franklin, [https://crypto.stanford.edu/~dabo/papers/bfibe.pdf Identity-Based Encryption from the Weil Pairing], SIAM J. of Computing, Vol. 32, No. 3, pp. 586–615, 2003.</ref>
Let <math>\textstyle G_1, G_2</math> be additive groups and <math>\textstyle G_T</math> a multiplicative group, all of prime order <math>\textstyle p</math>. Let <math>\textstyle P \in G_1, Q \in G_2</math> be generators of <math>\textstyle G_1</math> and <math>\textstyle G_2</math> respectively.
A pairing is a map: <math> e: G_1 \times G_2 \rightarrow G_T </math>
for which the following holds: # Bilinearity: <math>\textstyle \forall a,b \in \mathbb{Z}:\ e\left(aP, bQ\right) = e\left(P, Q\right)^{ab}</math> # Non-degeneracy: <math>\textstyle e\left(P, Q\right) \neq 1</math> # For practical purposes, <math>\textstyle e</math> has to be computable in an efficient manner
Note that it is also common in cryptographic literature for all groups to be written in multiplicative notation.
In cases when <math>\textstyle G_1 = G_2 = G</math>, the pairing is called symmetric. As <math>\textstyle G</math> is cyclic, the map <math> e </math> will be commutative; that is, for any <math> P,Q \in G </math>, we have <math> e(P,Q) = e(Q,P) </math>. This is because for a generator <math> g \in G </math>, there exist integers <math> p </math>, <math> q </math> such that <math> P = g^p </math> and <math> Q=g^q </math>. Therefore <math> e(P,Q) = e(g^p,g^q) = e(g,g)^{pq} = e(g^q, g^p) = e(Q,P) </math>.
The Weil pairing is an important concept in elliptic curve cryptography; e.g., it may be used to attack certain elliptic curves (see [https://crypto.stackexchange.com/q/1871 MOV attack]). It and other pairings have been used to develop identity-based encryption schemes.
==Slightly different usages of the notion of pairing== Scalar products on complex vector spaces are sometimes called pairings, although they are not bilinear. For example, in representation theory, one has a scalar product on the characters of complex representations of a finite group which is frequently called '''character pairing'''.
==References== <references/>
==External links== * [https://crypto.stanford.edu/pbc/links.html The Pairing-Based Crypto Library] {{Use dmy dates|date=September 2016}}
Category:Linear algebra Category:Module theory Category:Pairing-based cryptography Category:Abstract algebra