示例#1
0
 public static void Reduce32(uint x, uint[] z)
 {
     if ((x != 0 && Nat224.Mul33WordAdd(6803u, x, z, 0) != 0) || (z[6] == uint.MaxValue && Nat224.Gte(z, P)))
     {
         Nat.Add33To(7, 6803u, z);
     }
 }
示例#2
0
 public static void Reduce32(uint x, uint[] z)
 {
     if (((x != 0) && (Nat224.Mul33WordAdd(0x1a93, x, z, 0) != 0)) || ((z[6] == uint.MaxValue) && Nat224.Gte(z, P)))
     {
         Nat.Add33To(7, 0x1a93, z);
     }
 }
示例#3
0
 public static void Reduce32(uint x, uint[] z)
 {
     if ((x != 0u && Nat224.Mul33WordAdd(6803u, x, z, 0) != 0u) || (z[6] == 4294967295u && Nat224.Gte(z, SecP224K1Field.P)))
     {
         Nat.Add33To(7, 6803u, z);
     }
 }
 public static void Reduce32(uint x, uint[] z)
 {
     if ((x != 0 && Nat224.Mul33WordAdd(PInv33, x, z, 0) != 0) ||
         (z[6] == P6 && Nat224.Gte(z, P)))
     {
         Nat.Add33To(7, PInv33, z);
     }
 }
示例#5
0
        public static void Reduce32(uint x, uint[] z)
        {
            uint c = Nat224.Mul33WordAdd(PInv33, x, z, 0);

            Debug.Assert(c == 0 || c == 1);

            if (c != 0 || (z[6] == P6 && Nat224.Gte(z, P)))
            {
                Nat224.AddDWord(PInv, z, 0);
            }
        }