public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz) { if ((Nat.Sub(12, xx, yy, zz) != 0) && (Nat.SubFrom(PExtInv.Length, PExtInv, zz) != 0)) { Nat.DecAt(12, zz, PExtInv.Length); } }
private static void SubPInvFrom(uint[] z) { long num = z[0] - 1L; z[0] = (uint)num; num = num >> 0x20; num = ((long)((ulong)num)) + (z[1] + 1L); z[1] = (uint)num; num = num >> 0x20; if (num != 0L) { num += z[2]; z[2] = (uint)num; num = num >> 0x20; } num = ((long)((ulong)num)) + (z[3] - 1L); z[3] = (uint)num; num = num >> 0x20; num = ((long)((ulong)num)) + (z[4] - 1L); z[4] = (uint)num; num = num >> 0x20; if (num != 0L) { Nat.DecAt(12, z, 5); } }
private static void SubPInvFrom(uint[] z) { long c = (long)z[0] - 1; z[0] = (uint)c; c >>= 32; c += (long)z[1] + 1; z[1] = (uint)c; c >>= 32; if (c != 0) { c += (long)z[2]; z[2] = (uint)c; c >>= 32; } c += (long)z[3] - 1; z[3] = (uint)c; c >>= 32; c += (long)z[4] - 1; z[4] = (uint)c; c >>= 32; if (c != 0) { Nat.DecAt(12, z, 5); } }
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz) { if (Nat.Sub(24, xx, yy, zz) != 0 && Nat.SubFrom(PExtInv.Length, PExtInv, zz) != 0) { Nat.DecAt(24, zz, PExtInv.Length); } }
private static void SubPInvFrom(uint[] z) { long num = (long)z[0] - 1L; z[0] = (uint)num; num >>= 32; num += (long)z[1] + 1L; z[1] = (uint)num; num >>= 32; if (num != 0L) { num += z[2]; z[2] = (uint)num; num >>= 32; } num += (long)z[3] - 1L; z[3] = (uint)num; num >>= 32; num += (long)z[4] - 1L; z[4] = (uint)num; num >>= 32; if (num != 0L) { Nat.DecAt(12, z, 5); } }
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz) { int num = Nat.Sub(10, xx, yy, zz); if (num != 0 && Nat.SubFrom(SecP160R2Field.PExtInv.Length, SecP160R2Field.PExtInv, zz) != 0) { Nat.DecAt(10, zz, SecP160R2Field.PExtInv.Length); } }
private static void SubPInvFrom(uint[] z) { long c = (long)z[0] - PInv; z[0] = (uint)c; c >>= 32; if (c != 0) { Nat.DecAt(7, z, 1); } z[7] &= P7; }
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz) { int c = Nat.Sub(10, xx, yy, zz); if (c != 0) { if (Nat.SubFrom(PExtInv.Length, PExtInv, zz) != 0) { Nat.DecAt(10, zz, PExtInv.Length); } } }
private static uint AddPTo(uint[] z) { long c = (long)z[0] - PInv; z[0] = (uint)c; c >>= 32; if (c != 0) { c = Nat.DecAt(7, z, 1); } c += (long)z[7] + (P7 + 1); z[7] = (uint)c; c >>= 32; return((uint)c); }
private static uint AddPTo(uint[] z) { long num = (long)((ulong)z[0] - 19uL); z[0] = (uint)num; num >>= 32; if (num != 0L) { num = (long)Nat.DecAt(7, z, 1); } num += (long)((ulong)z[7] + (ulong)-2147483648); z[7] = (uint)num; num >>= 32; return((uint)num); }
private static uint AddPTo(uint[] z) { long num = z[0] - 0x13L; z[0] = (uint)num; num = num >> 0x20; if (num != 0L) { num = Nat.DecAt(7, z, 1); } num = (long)(((ulong)num) + (z[7] + 0x80000000L)); z[7] = (uint)num; num = num >> 0x20; return((uint)num); }
private static uint AddPTo(uint[] z) { long num = (long)z[0] - 19L; z[0] = (uint)num; num >>= 32; if (num != 0) { num = Nat.DecAt(7, z, 1); } num += (long)z[7] + 2147483648L; z[7] = (uint)num; num >>= 32; return((uint)num); }
private static void SubPInvFrom(uint[] z) { long num = (long)z[0] - 1L; z[0] = (uint)num; num >>= 32; if (num != 0) { num += z[1]; z[1] = (uint)num; num >>= 32; } num += (long)z[2] - 1L; z[2] = (uint)num; num >>= 32; if (num != 0) { Nat.DecAt(6, z, 3); } }
private static void SubPInvFrom(uint[] z) { long c = (long)z[0] - 1; z[0] = (uint)c; c >>= 32; if (c != 0) { c += (long)z[1]; z[1] = (uint)c; c >>= 32; } c += (long)z[2] - 1; z[2] = (uint)c; c >>= 32; if (c != 0) { Nat.DecAt(6, z, 3); } }
private static int SubPExtFrom(uint[] zz) { long num = zz[0] - PExt[0]; zz[0] = (uint)num; num = num >> 0x20; if (num != 0L) { num = Nat.DecAt(8, zz, 1); } num = ((long)((ulong)num)) + (zz[8] + 0x13L); zz[8] = (uint)num; num = num >> 0x20; if (num != 0L) { num = Nat.IncAt(15, zz, 9); } num = (long)(((ulong)num) + (zz[15] - (PExt[15] + 1))); zz[15] = (uint)num; num = num >> 0x20; return((int)num); }
private static int SubPExtFrom(uint[] zz) { long c = (long)zz[0] - PExt[0]; zz[0] = (uint)c; c >>= 32; if (c != 0) { c = Nat.DecAt(8, zz, 1); } c += (long)zz[8] + PInv; zz[8] = (uint)c; c >>= 32; if (c != 0) { c = Nat.IncAt(15, zz, 9); } c += (long)zz[15] - (PExt[15] + 1); zz[15] = (uint)c; c >>= 32; return((int)c); }
private static uint AddPExtTo(uint[] zz) { long c = (long)zz[0] + PExt[0]; zz[0] = (uint)c; c >>= 32; if (c != 0) { c = Nat.IncAt(8, zz, 1); } c += (long)zz[8] - PInv; zz[8] = (uint)c; c >>= 32; if (c != 0) { c = Nat.DecAt(15, zz, 9); } c += (long)zz[15] + (PExt[15] + 1); zz[15] = (uint)c; c >>= 32; return((uint)c); }
private static uint AddPExtTo(uint[] zz) { long num = (long)((ulong)zz[0] + (ulong)Curve25519Field.PExt[0]); zz[0] = (uint)num; num >>= 32; if (num != 0L) { num = (long)((ulong)Nat.IncAt(8, zz, 1)); } num += (long)((ulong)zz[8] - 19uL); zz[8] = (uint)num; num >>= 32; if (num != 0L) { num = (long)Nat.DecAt(15, zz, 9); } num += (long)((ulong)zz[15] + (ulong)(Curve25519Field.PExt[15] + 1u)); zz[15] = (uint)num; num >>= 32; return((uint)num); }
private static int SubPExtFrom(uint[] zz) { long num = (long)zz[0] - (long)PExt[0]; zz[0] = (uint)num; num >>= 32; if (num != 0) { num = Nat.DecAt(8, zz, 1); } num += (long)zz[8] + 19L; zz[8] = (uint)num; num >>= 32; if (num != 0) { num = Nat.IncAt(15, zz, 9); } num += (long)zz[15] - (long)(PExt[15] + 1); zz[15] = (uint)num; num >>= 32; return((int)num); }
private static uint AddPExtTo(uint[] zz) { long num = (long)zz[0] + (long)PExt[0]; zz[0] = (uint)num; num >>= 32; if (num != 0) { num = Nat.IncAt(8, zz, 1); } num += (long)zz[8] - 19L; zz[8] = (uint)num; num >>= 32; if (num != 0) { num = Nat.DecAt(15, zz, 9); } num += (long)zz[15] + (long)(PExt[15] + 1); zz[15] = (uint)num; num >>= 32; return((uint)num); }
private static uint AddPExtTo(uint[] zz) { long num = zz[0] + PExt[0]; zz[0] = (uint)num; num = num >> 0x20; if (num != 0L) { num = Nat.IncAt(8, zz, 1); } num = ((long)((ulong)num)) + (zz[8] - 0x13L); zz[8] = (uint)num; num = num >> 0x20; if (num != 0L) { num = Nat.DecAt(15, zz, 9); } num = (long)(((ulong)num) + (zz[15] + (PExt[15] + 1))); zz[15] = (uint)num; num = num >> 0x20; return((uint)num); }
private static int SubPExtFrom(uint[] zz) { long num = (long)((ulong)zz[0] - (ulong)Curve25519Field.PExt[0]); zz[0] = (uint)num; num >>= 32; if (num != 0L) { num = (long)Nat.DecAt(8, zz, 1); } num += (long)((ulong)zz[8] + 19uL); zz[8] = (uint)num; num >>= 32; if (num != 0L) { num = (long)((ulong)Nat.IncAt(15, zz, 9)); } num += (long)((ulong)zz[15] - (ulong)(Curve25519Field.PExt[15] + 1u)); zz[15] = (uint)num; num >>= 32; return((int)num); }
private static void SubPInvFrom(uint[] z) { long num = (long)((ulong)z[0] + 1uL); z[0] = (uint)num; num >>= 32; if (num != 0L) { num += (long)((ulong)z[1]); z[1] = (uint)num; num >>= 32; num += (long)((ulong)z[2]); z[2] = (uint)num; num >>= 32; } num += (long)((ulong)z[3] - 1uL); z[3] = (uint)num; num >>= 32; if (num != 0L) { Nat.DecAt(7, z, 4); } }