예제 #1
0
 public static void Reduce32(uint x, uint[] z)
 {
     if ((x != 0u && Nat160.MulWordsAdd(2147483649u, x, z, 0) != 0u) || (z[4] == 4294967295u && Nat160.Gte(z, SecP160R1Field.P)))
     {
         Nat.AddWordTo(5, 2147483649u, z);
     }
 }
예제 #2
0
 public static void Reduce32(uint x, uint[] z)
 {
     if ((x != 0 && Nat160.MulWordsAdd(2147483649u, x, z, 0) != 0) || (z[4] == uint.MaxValue && Nat160.Gte(z, P)))
     {
         Nat.AddWordTo(5, 2147483649u, z);
     }
 }
예제 #3
0
 public static void Reduce32(uint x, uint[] z)
 {
     if (((x != 0) && (Nat160.MulWordsAdd(0x80000001, x, z, 0) != 0)) || ((z[4] == uint.MaxValue) && Nat160.Gte(z, P)))
     {
         Nat.AddWordTo(5, 0x80000001, z);
     }
 }
예제 #4
0
 public static void Reduce32(uint x, uint[] z)
 {
     if ((x != 0 && Nat160.MulWordsAdd(PInv, x, z, 0) != 0) ||
         (z[4] == P4 && Nat160.Gte(z, P)))
     {
         Nat.AddWordTo(5, PInv, z);
     }
 }