public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { if ((Nat.Add(10, xx, yy, zz) != 0u || (zz[9] == 4294967295u && Nat.Gte(10, zz, SecP160R2Field.PExt))) && Nat.AddTo(SecP160R2Field.PExtInv.Length, SecP160R2Field.PExtInv, zz) != 0u) { Nat.IncAt(10, zz, SecP160R2Field.PExtInv.Length); } }
public static void Add(uint[] x, uint[] y, uint[] z) { if (Nat.Add(12, x, y, z) != 0 || (z[11] == uint.MaxValue && Nat.Gte(12, z, P))) { AddPInvTo(z); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { if ((Nat.Add(12, xx, yy, zz) != 0 || (zz[11] == 4294967295u && Nat.Gte(12, zz, PExt))) && Nat.AddTo(PExtInv.Length, PExtInv, zz) != 0) { Nat.IncAt(12, zz, PExtInv.Length); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { if ((Nat.Add(10, xx, yy, zz) != 0 || (zz[9] == uint.MaxValue && Nat.Gte(10, zz, PExt))) && Nat.AddTo(PExtInv.Length, PExtInv, zz) != 0) { Nat.IncAt(10, zz, PExtInv.Length); } }
public static void Add(uint[] x, uint[] y, uint[] z) { if (Nat.Add(12, x, y, z) != 0 || (z[11] == 4294967295u && Nat.Gte(12, z, P))) { AddPInvTo(z); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { if (((Nat.Add(12, xx, yy, zz) != 0) || ((zz[11] == uint.MaxValue) && Nat.Gte(12, zz, PExt))) && (Nat.AddTo(PExtInv.Length, PExtInv, zz) != 0)) { Nat.IncAt(12, zz, PExtInv.Length); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { if ((Nat.Add(24, xx, yy, zz) != 0u || (zz[23] == 4294967295u && Nat.Gte(24, zz, SecP384R1Field.PExt))) && Nat.AddTo(SecP384R1Field.PExtInv.Length, SecP384R1Field.PExtInv, zz) != 0u) { Nat.IncAt(24, zz, SecP384R1Field.PExtInv.Length); } }
public static void Add(uint[] x, uint[] y, uint[] z) { if (Nat.Add(12, x, y, z) != 0u || (z[11] == 4294967295u && Nat.Gte(12, z, SecP384R1Field.P))) { SecP384R1Field.AddPInvTo(z); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { if (Nat.Add(16, xx, yy, zz) != 0 || (zz[15] >= 4294967294u && Nat.Gte(16, zz, PExt))) { Nat.SubFrom(16, PExt, zz); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { if ((Nat.Add(0x10, xx, yy, zz) != 0) || ((zz[15] >= 0xfffffffe) && Nat.Gte(0x10, zz, PExt))) { Nat.SubFrom(0x10, PExt, zz); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { Nat.Add(16, xx, yy, zz); if (Nat.Gte(16, zz, Curve25519Field.PExt)) { Curve25519Field.SubPExtFrom(zz); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { Nat.Add(16, xx, yy, zz); if (Nat.Gte(16, zz, PExt)) { SubPExtFrom(zz); } }
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz) { int c = Nat.Sub(24, xx, yy, zz); if (c != 0) { Nat.Add(24, zz, PExt, zz); } }
public static void Subtract(uint[] x, uint[] y, uint[] z) { int c = Nat.Sub(12, x, y, z); if (c != 0) { Nat.Add(12, z, P, z); } }
public static void Add(uint[] p, uint[] x, uint[] y, uint[] z) { int len = p.Length; if (Nat.Add(len, x, y, z) != 0) { Nat.SubFrom(len, p, z); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { uint c = Nat.Add(24, xx, yy, zz); if (c != 0 || (zz[23] == PExt23 && Nat.Gte(24, zz, PExt))) { Nat.Sub(24, zz, PExt, zz); } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { uint c = Nat.Add(16, xx, yy, zz); if (c != 0 || (zz[15] >= PExt15 && Nat.Gte(16, zz, PExt))) { Nat.SubFrom(16, PExt, zz); } }
public static void Add(uint[] x, uint[] y, uint[] z) { uint c = Nat.Add(12, x, y, z); if (c != 0 || (z[11] == P11 && Nat.Gte(12, z, P))) { AddPInvTo(z); } }
public static void Add(uint[] x, uint[] y, uint[] z) { uint num = (Nat.Add(0x10, x, y, z) + x[0x10]) + y[0x10]; if ((num > 0x1ff) || ((num == 0x1ff) && Nat.Eq(0x10, z, P))) { num += Nat.Inc(0x10, z); num &= 0x1ff; } z[0x10] = num; }
public static void Add(uint[] x, uint[] y, uint[] z) { uint num = Nat.Add(16, x, y, z) + x[16] + y[16]; if (num > 511 || (num == 511 && Nat.Eq(16, z, P))) { num += Nat.Inc(16, z); num &= 0x1FF; } z[16] = num; }
public static void Half(uint[] x, uint[] z) { if ((x[0] & 1) == 0) { Nat.ShiftDownBit(12, x, 0u, z); return; } uint c = Nat.Add(12, x, P, z); Nat.ShiftDownBit(12, z, c); }
public static void Add(uint[] x, uint[] y, uint[] z) { uint c = Nat.Add(16, x, y, z) + x[16] + y[16]; if (c > P16 || (c == P16 && Nat.Eq(16, z, P))) { c += Nat.Inc(16, z); c &= P16; } z[16] = c; }
private static void InversionResult(uint[] p, int ac, uint[] a, uint[] z) { if (ac < 0) { Nat.Add(p.Length, a, p, z); } else { Array.Copy(a, 0, z, 0, p.Length); } }
public static void Add(uint[] x, uint[] y, uint[] z) { uint num = Nat.Add(16, x, y, z) + x[16] + y[16]; if (num > 511u || (num == 511u && Nat.Eq(16, z, SecP521R1Field.P))) { num += Nat.Inc(16, z); num &= 511u; } z[16] = num; }
public static void Half(uint[] x, uint[] z) { if ((x[0] & 1u) == 0u) { Nat.ShiftDownBit(12, x, 0u, z); return; } uint c = Nat.Add(12, x, SecP384R1Field.P, z); Nat.ShiftDownBit(12, z, c); }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { uint c = Nat.Add(14, xx, yy, zz); if (c != 0 || (zz[13] == PExt13 && Nat.Gte(14, zz, PExt))) { if (Nat.AddTo(PExtInv.Length, PExtInv, zz) != 0) { Nat.IncAt(14, zz, PExtInv.Length); } } }
public static void AddExt(uint[] xx, uint[] yy, uint[] zz) { var c = Nat.Add(16, xx, yy, zz); if (c != 0 || zz[15] == PExt15 && Nat.Gte(16, zz, PExt)) { if (Nat.AddTo(PExtInv.Length, PExtInv, zz) != 0) { Nat.IncAt(16, zz, PExtInv.Length); } } }
public static void Reduce(uint[] xx, uint[] z) { Debug.Assert(xx[32] >> 18 == 0); uint xx32 = xx[32]; uint c = Nat.ShiftDownBits(16, xx, 16, 9, xx32, z) >> 23; c += xx32 >> 9; c += Nat.Add(16, z, xx, z); if (c > P16 || (c == P16 && Nat.Eq(16, z, P))) { c += Nat.Inc(16, z, 0); c &= P16; } z[16] = c; }