Structs

Represent Fp2 point as FieldVector with degree = 2 Fp2 = Fp[u] / (u^2 + 1) 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 Fp2 point as a_0 + a_1 * u where a_0, a_1 in Fp