예제 #1
0
 public static void Subtract(uint[] x, uint[] y, uint[] z)
 {
     if (Nat256.Sub(x, y, z) != 0)
     {
         AddPTo(z);
     }
 }
예제 #2
0
 public static void Subtract(uint[] x, uint[] y, uint[] z)
 {
     if (Nat256.Sub(x, y, z) != 0)
     {
         SubPInvFrom(z);
     }
 }
	public static void Subtract(uint[] x, uint[] y, uint[] z)
	{
		if (Nat256.Sub(x, y, z) != 0)
		{
			Nat.Sub33From(8, 977u, z);
		}
	}
예제 #4
0
        public static void Subtract(uint[] x, uint[] y, uint[] z)
        {
            int c = Nat256.Sub(x, y, z);

            if (c != 0)
            {
                Nat.Sub33From(8, PInv33, z);
            }
        }
예제 #5
0
        public static void Subtract(uint[] x, uint[] y, uint[] z)
        {
            int num = Nat256.Sub(x, y, z);

            if (num != 0)
            {
                Curve25519Field.AddPTo(z);
            }
        }
예제 #6
0
 public static void Negate(uint[] x, uint[] z)
 {
     if (Nat256.IsZero(x))
     {
         Nat256.Zero(z);
         return;
     }
     Nat256.Sub(Curve25519Field.P, x, z);
 }
예제 #7
0
 public static void Negate(uint[] x, uint[] z)
 {
     if (Nat256.IsZero(x))
     {
         Nat256.Zero(z);
     }
     else
     {
         Nat256.Sub(P, x, z);
     }
 }