pub struct Bls12_381;Trait Implementations§
Source§impl Pairing for Bls12_381
impl Pairing for Bls12_381
Source§type BaseField = Fp<MontBackend<FqConfig, 6>, 6>
type BaseField = Fp<MontBackend<FqConfig, 6>, 6>
This is the base field of the G1 group and base prime field of G2.
Source§type ScalarField = Fp<MontBackend<FrConfig, 4>, 4>
type ScalarField = Fp<MontBackend<FrConfig, 4>, 4>
This is the scalar field of the G1/G2 groups.
type G1Affine = Affine<<Config as Bls12Config>::G1Config>
Source§type G1Prepared = G1Prepared<Config>
type G1Prepared = G1Prepared<Config>
A G1 element that has been preprocessed for use in a pairing.
Source§type G2Affine = Affine<<Config as Bls12Config>::G2Config>
type G2Affine = Affine<<Config as Bls12Config>::G2Config>
The affine representation of an element in G2.
Source§type G2Prepared = G2PreparedNoAlloc
type G2Prepared = G2PreparedNoAlloc
A G2 element that has been preprocessed for use in a pairing.
Source§type TargetField = QuadExtField<Fp12ConfigWrapper<Fq12Config>>
type TargetField = QuadExtField<Fp12ConfigWrapper<Fq12Config>>
The extension field that hosts the target group of the pairing.
Source§fn multi_miller_loop(
a: impl IntoIterator<Item = impl Into<Self::G1Prepared>>,
b: impl IntoIterator<Item = impl Into<Self::G2Prepared>>,
) -> MillerLoopOutput<Self>
fn multi_miller_loop( a: impl IntoIterator<Item = impl Into<Self::G1Prepared>>, b: impl IntoIterator<Item = impl Into<Self::G2Prepared>>, ) -> MillerLoopOutput<Self>
Computes the product of Miller loops for some number of (G1, G2) pairs.
Source§fn final_exponentiation(
f: MillerLoopOutput<Self>,
) -> Option<PairingOutput<Self>>
fn final_exponentiation( f: MillerLoopOutput<Self>, ) -> Option<PairingOutput<Self>>
Performs final exponentiation of the result of a
Self::multi_miller_loop.§fn miller_loop(
a: impl Into<Self::G1Prepared>,
b: impl Into<Self::G2Prepared>,
) -> MillerLoopOutput<Self>
fn miller_loop( a: impl Into<Self::G1Prepared>, b: impl Into<Self::G2Prepared>, ) -> MillerLoopOutput<Self>
Computes the Miller loop over
a and b.§fn multi_pairing(
a: impl IntoIterator<Item = impl Into<Self::G1Prepared>>,
b: impl IntoIterator<Item = impl Into<Self::G2Prepared>>,
) -> PairingOutput<Self>
fn multi_pairing( a: impl IntoIterator<Item = impl Into<Self::G1Prepared>>, b: impl IntoIterator<Item = impl Into<Self::G2Prepared>>, ) -> PairingOutput<Self>
Computes a “product” of pairings.
impl Copy for Bls12_381
impl Eq for Bls12_381
impl StructuralPartialEq for Bls12_381
Auto Trait Implementations§
impl Freeze for Bls12_381
impl RefUnwindSafe for Bls12_381
impl Send for Bls12_381
impl Sync for Bls12_381
impl Unpin for Bls12_381
impl UnwindSafe for Bls12_381
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more