Pairing

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 formula_1. That is, it satisfies
for any formula_5 and any formula_6 and any formula_7. Equivalently, a pairing is an "R"-linear map
where formula_9 denotes the tensor product of "M" and "N".
A pairing can also be considered as an "R"-linear map
formula_10, which matches the first definition by setting
formula_11.
A pairing is called perfect if the above map formula_12 is an isomorphism of "R"-modules.
A pairing is called non-degenerate on the right if for the above map we have that formula_13 for all formula_14 implies formula_15; similarly, formula_16 is called non-degenerate on the left if formula_13 for all formula_18 implies formula_19.
A pairing is called alternating if formula_20 and formula_21 for all "m". In particular, this implies formula_22, while bilinearity shows formula_23. Thus, for an alternating pairing, formula_24.
Examples.
Any scalar product on a real vector space "V" is a pairing (set , in the above definitions).
The determinant map (2 × 2 matrices over "k") → "k" can be seen as a pairing formula_25.
The Hopf map formula_26 written as formula_27 is an example of a pairing. For instance, Hardie et al. present an explicit construction of the map using poset models.
Pairings in cryptography.
In cryptography, often the following specialized definition is used:
Let formula_28 be additive groups and formula_29 a multiplicative group, all of prime order formula_30. Let formula_31 be generators of formula_32 and formula_33 respectively.
A pairing is a map: formula_34
for which the following holds:
Note that it is also common in cryptographic literature for all groups to be written in multiplicative notation. 
In cases when formula_38, the pairing is called symmetric. As formula_39 is cyclic, the map formula_40 will be commutative; that is, for any formula_41, we have formula_42. This is because for a generator formula_43, there exist integers formula_44, formula_45 such that formula_46 and formula_47. Therefore formula_48.
The Weil pairing is an important concept in elliptic curve cryptography; e.g., it may be used to attack certain elliptic curves (see 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.