pqc/crypto_kem/ntruhps2048509/clean/cmov.c
2021-03-24 21:02:46 +00:00

12 lines
283 B
C

#include "cmov.h"
/* b = 1 means mov, b = 0 means don't mov*/
void PQCLEAN_NTRUHPS2048509_CLEAN_cmov(unsigned char *r, const unsigned char *x, size_t len, unsigned char b) {
size_t i;
b = (~b + 1);
for (i = 0; i < len; i++) {
r[i] ^= b & (x[i] ^ r[i]);
}
}