public override ECFieldElement AddOne()
 {
     ulong[] z = Nat128.Create64();
     SecT113Field.AddOne(x, z);
     return(new SecT113FieldElement(z));
 }
Beispiel #2
0
 public static void SquareAddToExt(ulong[] x, ulong[] zz)
 {
     ulong[] array = Nat128.CreateExt64();
     SecT113Field.ImplSquare(x, array);
     SecT113Field.AddExt(zz, array, zz);
 }
 public override ECFieldElement Add(ECFieldElement b)
 {
     ulong[] z = Nat128.Create64();
     SecT113Field.Add(x, ((SecT113FieldElement)b).x, z);
     return(new SecT113FieldElement(z));
 }
Beispiel #4
0
 public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
 {
     ulong[] array = Nat128.CreateExt64();
     SecT113Field.ImplMultiply(x, y, array);
     SecT113Field.AddExt(zz, array, zz);
 }
Beispiel #5
0
 public static void Square(ulong[] x, ulong[] z)
 {
     ulong[] array = Nat128.CreateExt64();
     SecT113Field.ImplSquare(x, array);
     SecT113Field.Reduce(array, z);
 }
Beispiel #6
0
 public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
 {
     ulong[] array = Nat128.CreateExt64();
     SecT113Field.ImplMultiply(x, y, array);
     SecT113Field.Reduce(array, z);
 }
Beispiel #7
0
 public static ulong[] FromBigInteger(BigInteger x)
 {
     ulong[] array = Nat128.FromBigInteger64(x);
     SecT113Field.Reduce15(array, 0);
     return(array);
 }
 public override ECFieldElement Square()
 {
     ulong[] z = Nat128.Create64();
     SecT113Field.Square(this.x, z);
     return(new SecT113FieldElement(z));
 }
 public override ECFieldElement Multiply(ECFieldElement b)
 {
     ulong[] z = Nat128.Create64();
     SecT113Field.Multiply(this.x, ((SecT113FieldElement)b).x, z);
     return(new SecT113FieldElement(z));
 }
 public override int Trace()
 {
     return((int)SecT113Field.Trace(x));
 }