protected static void implSquare(long[] x, long[] zz) { for (int i = 0; i < 9; ++i) { Interleave.expand64To128(x[i], zz, i << 1); } } }
protected static void implSquare(long[] x, long[] zz) { Interleave.expand64To128(x[0], zz, 0); Interleave.expand64To128(x[1], zz, 2); Interleave.expand64To128(x[2], zz, 4); zz[6] = (x[3] & M01); } }
protected static void implSquare(long[] x, long[] zz) { Interleave.expand64To128(x[0], zz, 0); Interleave.expand64To128(x[1], zz, 2); } }
public static void square(long[] x, long[] z) { long[] t = new long[4]; Interleave.expand64To128(x[0], t, 0); Interleave.expand64To128(x[1], t, 2); long z0 = t[0], z1 = t[1], z2 = t[2], z3 = t[3]; z1 ^= z3 ^ (z3 << 1) ^ (z3 << 2) ^ (z3 << 7); z2 ^= (z3 >>> 63) ^ (z3 >>> 62) ^ (z3 >>> 57); z0 ^= z2 ^ (z2 << 1) ^ (z2 << 2) ^ (z2 << 7); z1 ^= (z2 >>> 63) ^ (z2 >>> 62) ^ (z2 >>> 57); z[0] = z0; z[1] = z1; }
protected static void implSquare(long[] x, long[] zz) { Interleave.expand64To128(x[0], zz, 0); Interleave.expand64To128(x[1], zz, 2); zz[4] = Interleave.expand8to16((int)x[2]) & 0xFFFFFFFFL; } }
protected static void implSquare(long[] x, long[] zz) { Interleave.expand64To128(x[0], zz, 0); Interleave.expand64To128(x[1], zz, 2); Interleave.expand64To128(x[2], zz, 4); long x3 = x[3]; zz[6] = Interleave.expand32to64((int)x3); zz[7] = Interleave.expand16to32((int)(x3 >>> 32)) & 0xFFFFFFFFL; } }
protected static void implSquare(long[] x, long[] zz) { Interleave.expand64To128(x[0], zz, 0); Interleave.expand64To128(x[1], zz, 2); Interleave.expand64To128(x[2], zz, 4); long x3 = x[3]; zz[6] = Interleave.expand32to64((int)x3); zz[7] = Interleave.expand16to32((int)(x3 >>> 32)) & 0xFFFFFFFFL; } }
protected static void implSquare(long[] x, long[] zz) { for (int i = 0; i < 4; ++i) { Interleave.expand64To128(x[i], zz, i << 1); } zz[8] = Interleave.expand32to64((int)x[4]); } }
protected static void implSquare(long[] x, long[] zz) { Interleave.expand64To128(x[0], zz, 0); Interleave.expand64To128(x[1], zz, 2); long x2 = x[2]; zz[4] = Interleave.expand32to64((int)x2); zz[5] = Interleave.expand8to16((int)(x2 >>> 32)) & 0xFFFFFFFFL; } }
protected static void implSquare(long[] x, long[] zz) { for (int i = 0; i < 6; ++i) { Interleave.expand64To128(x[i], zz, i << 1); } zz[12] = Interleave.expand32to64((int)x[6]); } }
public static void square(long[] x, long[] z) { long[] t = new long[SIZE << 1]; for (int i = 0; i < SIZE; ++i) { Interleave.expand64To128(x[i], t, i << 1); } int j = SIZE << 1; while (--j >= SIZE) { long n = t[j]; t[j - SIZE ] ^= n ^ (n << 2) ^ (n << 5) ^ (n << 8); t[j - SIZE + 1] ^= (n >>> 62) ^ (n >>> 59) ^ (n >>> 56); } copy(t, z); }
public static void square(long[] x, long[] z) { long[] t = new long[SIZE << 1]; for (int i = 0; i < SIZE; ++i) { Interleave.expand64To128(x[i], t, i << 1); } int j = SIZE << 1; while (--j >= SIZE) { long n = t[j]; t[j - SIZE ] ^= n ^ (n << 2) ^ (n << 5) ^ (n << 10); t[j - SIZE + 1] ^= (n >>> 62) ^ (n >>> 59) ^ (n >>> 54); } copy(t, z); }