Пример #1
0
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));
}
Пример #2
0
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;
}