Beispiel #1
0
        public Fp2 Squared()
        {
            Fp ab = a.Mul(b);

            Fp ra = a.Add(b).Mul(b.Mul(Fp.NON_RESIDUE).Add(a))
                    .Sub(ab)
                    .Sub(ab.Mul(Fp.NON_RESIDUE)); // ra = (a + b)(a + NON_RESIDUE * b) - ab - NON_RESIDUE * b
            Fp rb = ab.Dbl();

            return(new Fp2(ra, rb));
        }
Beispiel #2
0
 public Fp2 Add(Fp2 o)
 {
     return(new Fp2(a.Add(o.a), b.Add(o.b)));
 }