pqc/crypto_kem/sntrup761/clean/crypto_encode_761x3.c

22 lines
479 B
C
Raw Normal View History

#include "crypto_encode_761x3.h"
#define uint8 uint8_t
#define p 761
void PQCLEAN_SNTRUP761_CLEAN_crypto_encode_761x3(unsigned char *s, const void *v) {
2020-09-01 22:00:55 +01:00
const uint8 *f = (const uint8 *)v;
uint8 x;
int i;
for (i = 0; i < p / 4; ++i) {
2020-09-01 22:00:55 +01:00
x = (uint8) (*f++ + 1);
x = (uint8) (x + ((*f++ + 1) << 2));
x = (uint8) (x + ((*f++ + 1) << 4));
x = (uint8) (x + ((*f++ + 1) << 6));
*s++ = x;
}
x = *f++ + 1;
*s++ = x;
}