Type Definition halo2_ecc::bn254::Fp12Chip

source · []
pub type Fp12Chip<'chip, F> = Fp12Chip<'chip, F, FpChip<'chip, F>, Fq12, 9>;

Implementations

Assumptions
  • a is nonzero field point

in = g0 + g2 w + g4 w^2 + g1 w^3 + g3 w^4 + g5 w^5 where g_i = g_i0 + g_i1 * u are elements of Fp2 out = Compress(in) = [ g2, g3, g4, g5 ]

Input:

  • compression = [g2, g3, g4, g5] where g_i are proper elements of Fp2 Output:
  • Decompress(compression) = g0 + g2 w + g4 w^2 + g1 w^3 + g3 w^4 + g5 w^5 where
  • All elements of output are proper elements of Fp2 and: c = XI0 + u if g2 != 0: g1 = (g5^2 * c + 3 g4^2 - 2 g3)/(4g2) g0 = (2 g1^2 + g2 * g5 - 3 g3*g4) * c + 1 if g2 = 0: g1 = (2 g4 * g5)/g3 g0 = (2 g1^2 - 3 g3 * g4) * c + 1
Assumptions
  • a is a nonzero element in the cyclotomic subgroup
Assumptions
  • a is nonzero field point