py_ecc.optimized_bls12_381 package

Submodules

py_ecc.optimized_bls12_381.constants module

py_ecc.optimized_bls12_381.optimized_clear_cofactor module

py_ecc.optimized_bls12_381.optimized_clear_cofactor.multiply_clear_cofactor_G1(p: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) Tuple[Optimized_Field, Optimized_Field, Optimized_Field]
py_ecc.optimized_bls12_381.optimized_clear_cofactor.multiply_clear_cofactor_G2(p: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) Tuple[Optimized_Field, Optimized_Field, Optimized_Field]

py_ecc.optimized_bls12_381.optimized_curve module

py_ecc.optimized_bls12_381.optimized_curve.add(p1: Tuple[Optimized_Field, Optimized_Field, Optimized_Field], p2: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) Tuple[Optimized_Field, Optimized_Field, Optimized_Field]
py_ecc.optimized_bls12_381.optimized_curve.double(pt: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) Tuple[Optimized_Field, Optimized_Field, Optimized_Field]
py_ecc.optimized_bls12_381.optimized_curve.eq(p1: Tuple[Optimized_Field, Optimized_Field, Optimized_Field], p2: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) bool
py_ecc.optimized_bls12_381.optimized_curve.is_inf(pt: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) bool
py_ecc.optimized_bls12_381.optimized_curve.is_on_curve(pt: Tuple[Optimized_Field, Optimized_Field, Optimized_Field], b: Optimized_Field) bool
py_ecc.optimized_bls12_381.optimized_curve.multiply(pt: Tuple[Optimized_Field, Optimized_Field, Optimized_Field], n: int) Tuple[Optimized_Field, Optimized_Field, Optimized_Field]
py_ecc.optimized_bls12_381.optimized_curve.neg(pt: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) Tuple[Optimized_Field, Optimized_Field, Optimized_Field]
py_ecc.optimized_bls12_381.optimized_curve.normalize(pt: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) Tuple[Optimized_Field, Optimized_Field]
py_ecc.optimized_bls12_381.optimized_curve.twist(pt: Tuple[optimized_bls12_381_FQP, optimized_bls12_381_FQP, optimized_bls12_381_FQP]) Tuple[optimized_bls12_381_FQ12, optimized_bls12_381_FQ12, optimized_bls12_381_FQ12]

py_ecc.optimized_bls12_381.optimized_pairing module

py_ecc.optimized_bls12_381.optimized_pairing.cast_point_to_fq12(pt: Tuple[optimized_bls12_381_FQ, optimized_bls12_381_FQ, optimized_bls12_381_FQ]) Tuple[optimized_bls12_381_FQ12, optimized_bls12_381_FQ12, optimized_bls12_381_FQ12]
py_ecc.optimized_bls12_381.optimized_pairing.exp_by_p(x: optimized_bls12_381_FQ12) optimized_bls12_381_FQ12
py_ecc.optimized_bls12_381.optimized_pairing.final_exponentiate(p: optimized_bls12_381_FQ12) optimized_bls12_381_FQ12
py_ecc.optimized_bls12_381.optimized_pairing.linefunc(P1: Tuple[Optimized_Field, Optimized_Field, Optimized_Field], P2: Tuple[Optimized_Field, Optimized_Field, Optimized_Field], T: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) Tuple[Optimized_Field, Optimized_Field]
py_ecc.optimized_bls12_381.optimized_pairing.miller_loop(Q: Tuple[optimized_bls12_381_FQ2, optimized_bls12_381_FQ2, optimized_bls12_381_FQ2], P: Tuple[optimized_bls12_381_FQ, optimized_bls12_381_FQ, optimized_bls12_381_FQ], final_exponentiate: bool = True) optimized_bls12_381_FQ12
py_ecc.optimized_bls12_381.optimized_pairing.normalize1(p: Tuple[Optimized_Field, Optimized_Field, Optimized_Field]) Tuple[Optimized_Field, Optimized_Field, Optimized_Field]
py_ecc.optimized_bls12_381.optimized_pairing.pairing(Q: Tuple[optimized_bls12_381_FQ2, optimized_bls12_381_FQ2, optimized_bls12_381_FQ2], P: Tuple[optimized_bls12_381_FQ, optimized_bls12_381_FQ, optimized_bls12_381_FQ], final_exponentiate: bool = True) optimized_bls12_381_FQ12

py_ecc.optimized_bls12_381.optimized_swu module

py_ecc.optimized_bls12_381.optimized_swu.iso_map_G1(x: optimized_bls12_381_FQ, y: optimized_bls12_381_FQ, z: optimized_bls12_381_FQ) Tuple[optimized_bls12_381_FQ, optimized_bls12_381_FQ, optimized_bls12_381_FQ]
py_ecc.optimized_bls12_381.optimized_swu.iso_map_G2(x: optimized_bls12_381_FQ2, y: optimized_bls12_381_FQ2, z: optimized_bls12_381_FQ2) Tuple[optimized_bls12_381_FQ2, optimized_bls12_381_FQ2, optimized_bls12_381_FQ2]
py_ecc.optimized_bls12_381.optimized_swu.optimized_swu_G1(t: optimized_bls12_381_FQ) Tuple[optimized_bls12_381_FQ, optimized_bls12_381_FQ, optimized_bls12_381_FQ]
py_ecc.optimized_bls12_381.optimized_swu.optimized_swu_G2(t: optimized_bls12_381_FQ2) Tuple[optimized_bls12_381_FQ2, optimized_bls12_381_FQ2, optimized_bls12_381_FQ2]
py_ecc.optimized_bls12_381.optimized_swu.sqrt_division_FQ(u: optimized_bls12_381_FQ, v: optimized_bls12_381_FQ) Tuple[bool, optimized_bls12_381_FQ]
py_ecc.optimized_bls12_381.optimized_swu.sqrt_division_FQ2(u: optimized_bls12_381_FQ2, v: optimized_bls12_381_FQ2) Tuple[bool, optimized_bls12_381_FQ2]

Module contents