void rlwe_kex_compute_key_alice(const uint32_t b[1024], const uint32_t s[1024], const uint64_t c[16], uint64_t k[16], FFT_CTX *ctx) { uint32_t w[1024]; FFT_mul(w, b, s, ctx); #if CONSTANT_TIME rec_ct(k, w, c); #else rec(k, w, c); #endif memset((char *) w, 0, 1024 * sizeof(uint32_t)); }
int rlwe_kex_compute_key_alice(const uint32_t b[1024], const uint32_t s[1024], const uint64_t c[16], uint64_t k[16], FFT_CTX *ctx) { uint32_t w[1024]; FFT_mul(w, b, s, ctx); #if CONSTANT_TIME rlwe_rec_ct(k, w, c); #else rlwe_rec(k, w, c); #endif rlwe_memset_volatile(w, 0, 1024 * sizeof(uint32_t)); return 1; }