[−][src]Trait pairing::Engine
An "engine" is a collection of types (fields, elliptic curve groups, etc.)
with well-defined relationships. In particular, the G1/G2 curve groups are
of prime order r
, and are equipped with a bilinear pairing function.
Associated Types
type Fr: PrimeField
[src]
This is the scalar field of the engine's groups.
type G1: PrimeCurve<Scalar = Self::Fr, Affine = Self::G1Affine> + From<Self::G1Affine> + GroupOps<Self::G1Affine> + GroupOpsOwned<Self::G1Affine> + ScalarMul<Self::Fr> + ScalarMulOwned<Self::Fr>
[src]
The projective representation of an element in G1.
type G1Affine: PairingCurveAffine<Scalar = Self::Fr, Curve = Self::G1, Pair = Self::G2Affine, PairingResult = Self::Gt> + From<Self::G1> + Mul<Self::Fr, Output = Self::G1> + for<'a> Mul<&'a Self::Fr, Output = Self::G1>
[src]
The affine representation of an element in G1.
type G2: PrimeCurve<Scalar = Self::Fr, Affine = Self::G2Affine> + From<Self::G2Affine> + GroupOps<Self::G2Affine> + GroupOpsOwned<Self::G2Affine> + ScalarMul<Self::Fr> + ScalarMulOwned<Self::Fr>
[src]
The projective representation of an element in G2.
type G2Affine: PairingCurveAffine<Scalar = Self::Fr, Curve = Self::G2, Pair = Self::G1Affine, PairingResult = Self::Gt> + From<Self::G2> + Mul<Self::Fr, Output = Self::G2> + for<'a> Mul<&'a Self::Fr, Output = Self::G2>
[src]
The affine representation of an element in G2.
type Gt: Group<Scalar = Self::Fr> + ScalarMul<Self::Fr> + ScalarMulOwned<Self::Fr>
[src]
The extension field that hosts the target group of the pairing.
Required methods
fn pairing(p: &Self::G1Affine, q: &Self::G2Affine) -> Self::Gt
[src]
Invoke the pairing function G1 x G2 -> Gt
without the use of precomputation and
other optimizations.