Structs
Represent Fp12 point as FqPoint with degree = 12
Fp12 = Fp2[w] / (w^6 - u - xi)
This implementation assumes p = 3 (mod 4) in order for the polynomial u^2 + 1 to
be irreducible over Fp; i.e., in order for -1 to not be a square (quadratic residue) in Fp
This means we store an Fp12 point as \sum_{i = 0}^6 (a_{i0} + a_{i1} * u) * w^i
This is encoded in an FqPoint of degree 12 as (a_{00}, ..., a_{50}, a_{01}, ..., a_{51})
Functions
multiply Fp2 elts: (a0 + a1 * u) * (XI0 + u) without carry