// 4-way variable base scalar multiplication #include "fe25519.h" #include "crypto_uint64_vec4x1.h" #include "mont25519_batch.h" #include "crypto_powbatch_inv25519.h" int crypto_nP_4x1(unsigned char q[4][CRYPTO_BYTES], const unsigned char n[4][CRYPTO_BYTES], const unsigned char p[4][CRYPTO_BYTES]) { crypto_uint64_vec4x1 r[9] = {{0}}; crypto_uint64_vec4x1 t[18] = {{0}}; crypto_uint64_vec4x1 s[4] = {{0}}; fe25519_9l a[8]; fe25519 b[8],c; unsigned char i,j,m[4][CRYPTO_BYTES]; for (i=0;i<4;++i) { for (j=0;j