[−][src]Trait snarkos_models::gadgets::curves::pairing::PairingGadget
Associated Types
type G1Gadget: GroupGadget<Pairing::G1Projective, F>
type G2Gadget: GroupGadget<Pairing::G2Projective, F>
type G1PreparedGadget: ToBytesGadget<F> + Clone + Debug
type G2PreparedGadget: ToBytesGadget<F> + Clone + Debug
type GTGadget: FieldGadget<Pairing::Fqk, F> + Clone
Required methods
fn miller_loop<CS: ConstraintSystem<F>>(
cs: CS,
p: &[Self::G1PreparedGadget],
q: &[Self::G2PreparedGadget]
) -> Result<Self::GTGadget, SynthesisError>
cs: CS,
p: &[Self::G1PreparedGadget],
q: &[Self::G2PreparedGadget]
) -> Result<Self::GTGadget, SynthesisError>
fn final_exponentiation<CS: ConstraintSystem<F>>(
cs: CS,
p: &Self::GTGadget
) -> Result<Self::GTGadget, SynthesisError>
cs: CS,
p: &Self::GTGadget
) -> Result<Self::GTGadget, SynthesisError>
fn prepare_g1<CS: ConstraintSystem<F>>(
cs: CS,
q: &Self::G1Gadget
) -> Result<Self::G1PreparedGadget, SynthesisError>
cs: CS,
q: &Self::G1Gadget
) -> Result<Self::G1PreparedGadget, SynthesisError>
fn prepare_g2<CS: ConstraintSystem<F>>(
cs: CS,
q: &Self::G2Gadget
) -> Result<Self::G2PreparedGadget, SynthesisError>
cs: CS,
q: &Self::G2Gadget
) -> Result<Self::G2PreparedGadget, SynthesisError>
Provided methods
fn pairing<CS: ConstraintSystem<F>>(
cs: CS,
p: Self::G1PreparedGadget,
q: Self::G2PreparedGadget
) -> Result<Self::GTGadget, SynthesisError>
cs: CS,
p: Self::G1PreparedGadget,
q: Self::G2PreparedGadget
) -> Result<Self::GTGadget, SynthesisError>
#[must_use]fn product_of_pairings<CS: ConstraintSystem<F>>(
cs: CS,
p: &[Self::G1PreparedGadget],
q: &[Self::G2PreparedGadget]
) -> Result<Self::GTGadget, SynthesisError>
cs: CS,
p: &[Self::G1PreparedGadget],
q: &[Self::G2PreparedGadget]
) -> Result<Self::GTGadget, SynthesisError>
Computes a product of pairings.