saber: fix initialization and casting issues
This commit is contained in:
parent
baa309ea7a
commit
2f97b11031
@ -13,7 +13,7 @@
|
|||||||
void PQCLEAN_FIRESABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES], uint8_t sk[SABER_INDCPA_SECRETKEYBYTES]) {
|
void PQCLEAN_FIRESABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES], uint8_t sk[SABER_INDCPA_SECRETKEYBYTES]) {
|
||||||
uint16_t A[SABER_L][SABER_L][SABER_N];
|
uint16_t A[SABER_L][SABER_L][SABER_N];
|
||||||
uint16_t s[SABER_L][SABER_N];
|
uint16_t s[SABER_L][SABER_N];
|
||||||
uint16_t b[SABER_L][SABER_N] = {0};
|
uint16_t b[SABER_L][SABER_N] = {{0}};
|
||||||
|
|
||||||
uint8_t seed_A[SABER_SEEDBYTES];
|
uint8_t seed_A[SABER_SEEDBYTES];
|
||||||
uint8_t seed_s[SABER_NOISE_SEEDBYTES];
|
uint8_t seed_s[SABER_NOISE_SEEDBYTES];
|
||||||
@ -41,7 +41,7 @@ void PQCLEAN_FIRESABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICKE
|
|||||||
void PQCLEAN_FIRESABER_CLEAN_indcpa_kem_enc(uint8_t ciphertext[SABER_BYTES_CCA_DEC], const uint8_t m[SABER_KEYBYTES], const uint8_t seed_sp[SABER_NOISE_SEEDBYTES], const uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES]) {
|
void PQCLEAN_FIRESABER_CLEAN_indcpa_kem_enc(uint8_t ciphertext[SABER_BYTES_CCA_DEC], const uint8_t m[SABER_KEYBYTES], const uint8_t seed_sp[SABER_NOISE_SEEDBYTES], const uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES]) {
|
||||||
uint16_t A[SABER_L][SABER_L][SABER_N];
|
uint16_t A[SABER_L][SABER_L][SABER_N];
|
||||||
uint16_t sp[SABER_L][SABER_N];
|
uint16_t sp[SABER_L][SABER_N];
|
||||||
uint16_t bp[SABER_L][SABER_N] = {0};
|
uint16_t bp[SABER_L][SABER_N] = {{0}};
|
||||||
uint16_t vp[SABER_N] = {0};
|
uint16_t vp[SABER_N] = {0};
|
||||||
uint16_t mp[SABER_N];
|
uint16_t mp[SABER_N];
|
||||||
uint16_t b[SABER_L][SABER_N];
|
uint16_t b[SABER_L][SABER_N];
|
||||||
|
@ -25,7 +25,7 @@ void PQCLEAN_FIRESABER_CLEAN_cbd(uint16_t s[SABER_N], const uint8_t buf[SABER_PO
|
|||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
for (i = 0; i < SABER_N / 4; i++) {
|
for (i = 0; i < SABER_N / 4; i++) {
|
||||||
t = load_littleendian(buf + 3 * i, 3);
|
t = (uint32_t) load_littleendian(buf + 3 * i, 3);
|
||||||
d = 0;
|
d = 0;
|
||||||
for (j = 0; j < 3; j++) {
|
for (j = 0; j < 3; j++) {
|
||||||
d += (t >> j) & 0x249249;
|
d += (t >> j) & 0x249249;
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
void PQCLEAN_LIGHTSABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES], uint8_t sk[SABER_INDCPA_SECRETKEYBYTES]) {
|
void PQCLEAN_LIGHTSABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES], uint8_t sk[SABER_INDCPA_SECRETKEYBYTES]) {
|
||||||
uint16_t A[SABER_L][SABER_L][SABER_N];
|
uint16_t A[SABER_L][SABER_L][SABER_N];
|
||||||
uint16_t s[SABER_L][SABER_N];
|
uint16_t s[SABER_L][SABER_N];
|
||||||
uint16_t b[SABER_L][SABER_N] = {0};
|
uint16_t b[SABER_L][SABER_N] = {{0}};
|
||||||
|
|
||||||
uint8_t seed_A[SABER_SEEDBYTES];
|
uint8_t seed_A[SABER_SEEDBYTES];
|
||||||
uint8_t seed_s[SABER_NOISE_SEEDBYTES];
|
uint8_t seed_s[SABER_NOISE_SEEDBYTES];
|
||||||
@ -41,7 +41,7 @@ void PQCLEAN_LIGHTSABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICK
|
|||||||
void PQCLEAN_LIGHTSABER_CLEAN_indcpa_kem_enc(uint8_t ciphertext[SABER_BYTES_CCA_DEC], const uint8_t m[SABER_KEYBYTES], const uint8_t seed_sp[SABER_NOISE_SEEDBYTES], const uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES]) {
|
void PQCLEAN_LIGHTSABER_CLEAN_indcpa_kem_enc(uint8_t ciphertext[SABER_BYTES_CCA_DEC], const uint8_t m[SABER_KEYBYTES], const uint8_t seed_sp[SABER_NOISE_SEEDBYTES], const uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES]) {
|
||||||
uint16_t A[SABER_L][SABER_L][SABER_N];
|
uint16_t A[SABER_L][SABER_L][SABER_N];
|
||||||
uint16_t sp[SABER_L][SABER_N];
|
uint16_t sp[SABER_L][SABER_N];
|
||||||
uint16_t bp[SABER_L][SABER_N] = {0};
|
uint16_t bp[SABER_L][SABER_N] = {{0}};
|
||||||
uint16_t vp[SABER_N] = {0};
|
uint16_t vp[SABER_N] = {0};
|
||||||
uint16_t mp[SABER_N];
|
uint16_t mp[SABER_N];
|
||||||
uint16_t b[SABER_L][SABER_N];
|
uint16_t b[SABER_L][SABER_N];
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
void PQCLEAN_SABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES], uint8_t sk[SABER_INDCPA_SECRETKEYBYTES]) {
|
void PQCLEAN_SABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES], uint8_t sk[SABER_INDCPA_SECRETKEYBYTES]) {
|
||||||
uint16_t A[SABER_L][SABER_L][SABER_N];
|
uint16_t A[SABER_L][SABER_L][SABER_N];
|
||||||
uint16_t s[SABER_L][SABER_N];
|
uint16_t s[SABER_L][SABER_N];
|
||||||
uint16_t b[SABER_L][SABER_N] = {0};
|
uint16_t b[SABER_L][SABER_N] = {{0}};
|
||||||
|
|
||||||
uint8_t seed_A[SABER_SEEDBYTES];
|
uint8_t seed_A[SABER_SEEDBYTES];
|
||||||
uint8_t seed_s[SABER_NOISE_SEEDBYTES];
|
uint8_t seed_s[SABER_NOISE_SEEDBYTES];
|
||||||
@ -41,7 +41,7 @@ void PQCLEAN_SABER_CLEAN_indcpa_kem_keypair(uint8_t pk[SABER_INDCPA_PUBLICKEYBYT
|
|||||||
void PQCLEAN_SABER_CLEAN_indcpa_kem_enc(uint8_t ciphertext[SABER_BYTES_CCA_DEC], const uint8_t m[SABER_KEYBYTES], const uint8_t seed_sp[SABER_NOISE_SEEDBYTES], const uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES]) {
|
void PQCLEAN_SABER_CLEAN_indcpa_kem_enc(uint8_t ciphertext[SABER_BYTES_CCA_DEC], const uint8_t m[SABER_KEYBYTES], const uint8_t seed_sp[SABER_NOISE_SEEDBYTES], const uint8_t pk[SABER_INDCPA_PUBLICKEYBYTES]) {
|
||||||
uint16_t A[SABER_L][SABER_L][SABER_N];
|
uint16_t A[SABER_L][SABER_L][SABER_N];
|
||||||
uint16_t sp[SABER_L][SABER_N];
|
uint16_t sp[SABER_L][SABER_N];
|
||||||
uint16_t bp[SABER_L][SABER_N] = {0};
|
uint16_t bp[SABER_L][SABER_N] = {{0}};
|
||||||
uint16_t vp[SABER_N] = {0};
|
uint16_t vp[SABER_N] = {0};
|
||||||
uint16_t mp[SABER_N];
|
uint16_t mp[SABER_N];
|
||||||
uint16_t b[SABER_L][SABER_N];
|
uint16_t b[SABER_L][SABER_N];
|
||||||
|
@ -25,7 +25,7 @@ void PQCLEAN_SABER_CLEAN_cbd(uint16_t s[SABER_N], const uint8_t buf[SABER_POLYCO
|
|||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
for (i = 0; i < SABER_N / 4; i++) {
|
for (i = 0; i < SABER_N / 4; i++) {
|
||||||
t = load_littleendian(buf + 4 * i, 4);
|
t = (uint32_t) load_littleendian(buf + 4 * i, 4);
|
||||||
d = 0;
|
d = 0;
|
||||||
for (j = 0; j < 4; j++) {
|
for (j = 0; j < 4; j++) {
|
||||||
d += (t >> j) & 0x11111111;
|
d += (t >> j) & 0x11111111;
|
||||||
|
Loading…
Reference in New Issue
Block a user