Trait ark_ec::models::bls12::Bls12Config
source · pub trait Bls12Config: 'static + Sized {
type Fp: PrimeField + Into<<Self::Fp as PrimeField>::BigInt>;
type Fp2Config: Fp2Config<Fp = Self::Fp>;
type Fp6Config: Fp6Config<Fp2Config = Self::Fp2Config>;
type Fp12Config: Fp12Config<Fp6Config = Self::Fp6Config>;
type G1Config: SWCurveConfig<BaseField = Self::Fp>;
type G2Config: SWCurveConfig<BaseField = Fp2<Self::Fp2Config>, ScalarField = <Self::G1Config as CurveConfig>::ScalarField>;
const X: &'static [u64];
const X_IS_NEGATIVE: bool;
const TWIST_TYPE: TwistType;
// Provided methods
fn multi_miller_loop(
a: impl IntoIterator<Item = impl Into<G1Prepared<Self>>>,
b: impl IntoIterator<Item = impl Into<G2Prepared<Self>>>
) -> MillerLoopOutput<Bls12<Self>> { ... }
fn final_exponentiation(
f: MillerLoopOutput<Bls12<Self>>
) -> Option<PairingOutput<Bls12<Self>>> { ... }
}
Required Associated Types§
type Fp: PrimeField + Into<<Self::Fp as PrimeField>::BigInt>
type Fp2Config: Fp2Config<Fp = Self::Fp>
type Fp6Config: Fp6Config<Fp2Config = Self::Fp2Config>
type Fp12Config: Fp12Config<Fp6Config = Self::Fp6Config>
type G1Config: SWCurveConfig<BaseField = Self::Fp>
type G2Config: SWCurveConfig<BaseField = Fp2<Self::Fp2Config>, ScalarField = <Self::G1Config as CurveConfig>::ScalarField>
Required Associated Constants§
sourceconst X_IS_NEGATIVE: bool
const X_IS_NEGATIVE: bool
Is Self::X
negative?
sourceconst TWIST_TYPE: TwistType
const TWIST_TYPE: TwistType
What kind of twist is this?