public static void Add(uint[] x, uint[] y, uint[] z)
 {
     if (Nat160.Add(x, y, z) != 0 || (z[4] == uint.MaxValue && Nat160.Gte(z, P)))
     {
         Nat.Add33To(5, 21389u, z);
     }
 }
Exemple #2
0
 public static void Add(uint[] x, uint[] y, uint[] z)
 {
     if (Nat160.Add(x, y, z) != 0u || (z[4] == 4294967295u && Nat160.Gte(z, SecP160R2Field.P)))
     {
         Nat.Add33To(5, 21389u, z);
     }
 }
Exemple #3
0
 public static void Add(uint[] x, uint[] y, uint[] z)
 {
     if ((Nat160.Add(x, y, z) != 0) || ((z[4] == uint.MaxValue) && Nat160.Gte(z, P)))
     {
         Nat.AddWordTo(5, 0x80000001, z);
     }
 }
Exemple #4
0
 public static void Add(uint[] x, uint[] y, uint[] z)
 {
     if (Nat160.Add(x, y, z) != 0 || (z[4] == 4294967295u && Nat160.Gte(z, P)))
     {
         Nat.AddWordTo(5, 2147483649u, z);
     }
 }
Exemple #5
0
        public static void Add(uint[] x, uint[] y, uint[] z)
        {
            uint c = Nat160.Add(x, y, z);

            if (c != 0 || (z[4] == P4 && Nat160.Gte(z, P)))
            {
                Nat.AddWordTo(5, PInv, z);
            }
        }
Exemple #6
0
        public static void Half(uint[] x, uint[] z)
        {
            if ((x[0] & 1u) == 0u)
            {
                Nat.ShiftDownBit(5, x, 0u, z);
                return;
            }
            uint c = Nat160.Add(x, SecP160R2Field.P, z);

            Nat.ShiftDownBit(5, z, c);
        }
Exemple #7
0
    public static void Half(uint[] x, uint[] z)
    {
        if ((x[0] & 1) == 0)
        {
            Nat.ShiftDownBit(5, x, 0u, z);
            return;
        }
        uint c = Nat160.Add(x, P, z);

        Nat.ShiftDownBit(5, z, c);
    }