22 lines
464 B
C
22 lines
464 B
C
#include "crypto_encode_653x3.h"
|
|
|
|
#define uint8 uint8_t
|
|
|
|
#define p 653
|
|
|
|
void PQCLEAN_SNTRUP653_CLEAN_crypto_encode_653x3(unsigned char *s, const void *v) {
|
|
const uint8 *f = v;
|
|
uint8 x;
|
|
int i;
|
|
|
|
for (i = 0; i < p / 4; ++i) {
|
|
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;
|
|
}
|