mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-23 07:59:01 +00:00
move modulus function to source, namespace it
This commit is contained in:
parent
bc2fdb6921
commit
6a7506f520
@ -1,6 +1,11 @@
|
||||
/** Ring arithmetic implementation */
|
||||
#include "ring.h"
|
||||
|
||||
/** Return the i'th limb of the modulus */
|
||||
limb_t PQCLEAN_BABYBEAR_CLEAN_modulus(size_t i) {
|
||||
return (i == DIGITS / 2) ? LMASK - 1 : LMASK;
|
||||
}
|
||||
|
||||
/** Multiply and accumulate c += a*b */
|
||||
void PQCLEAN_BABYBEAR_CLEAN_mac(gf_t c, const gf_t a, const gf_t b) {
|
||||
/* Reference non-Karatsuba MAC */
|
||||
@ -57,7 +62,7 @@ void PQCLEAN_BABYBEAR_CLEAN_canon(gf_t c) {
|
||||
/* Strong reduce. First subtract modulus */
|
||||
scarry = hi >> LGX;
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
scarry = scarry + (slimb_t)c[i] - modulus(i);
|
||||
scarry = scarry + (slimb_t)c[i] - PQCLEAN_BABYBEAR_CLEAN_modulus(i);
|
||||
c[i] = scarry & LMASK;
|
||||
scarry >>= LGX;
|
||||
}
|
||||
@ -65,7 +70,7 @@ void PQCLEAN_BABYBEAR_CLEAN_canon(gf_t c) {
|
||||
/* add it back */
|
||||
carry = 0;
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
carry = carry + c[i] + ((dlimb_t)scarry & modulus(i));
|
||||
carry = carry + c[i] + ((dlimb_t)scarry & PQCLEAN_BABYBEAR_CLEAN_modulus(i));
|
||||
c[i] = carry & LMASK;
|
||||
carry >>= LGX;
|
||||
}
|
||||
|
@ -24,8 +24,6 @@ void PQCLEAN_BABYBEAR_CLEAN_mac(gf_t c, const gf_t a, const gf_t b);
|
||||
void PQCLEAN_BABYBEAR_CLEAN_canon(gf_t c);
|
||||
|
||||
/** Return the i'th limb of the modulus */
|
||||
static inline limb_t modulus(size_t i) {
|
||||
return (i == DIGITS / 2) ? LMASK - 1 : LMASK;
|
||||
}
|
||||
limb_t PQCLEAN_BABYBEAR_CLEAN_modulus(size_t i);
|
||||
|
||||
#endif
|
||||
|
@ -61,7 +61,7 @@ static void noise(gf_t x, const shake256incctx *ctx, uint8_t iv) {
|
||||
cshake256_inc_finalize(&ctx2);
|
||||
cshake256_inc_squeeze(c, DIGITS, &ctx2);
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
x[i] = (limb_t)(psi(c[i]) + modulus(i));
|
||||
x[i] = (limb_t)(psi(c[i]) + PQCLEAN_BABYBEAR_CLEAN_modulus(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,11 @@
|
||||
/** Ring arithmetic implementation */
|
||||
#include "ring.h"
|
||||
|
||||
/** Return the i'th limb of the modulus */
|
||||
limb_t PQCLEAN_MAMABEAR_CLEAN_modulus(size_t i) {
|
||||
return (i == DIGITS / 2) ? LMASK - 1 : LMASK;
|
||||
}
|
||||
|
||||
/** Multiply and accumulate c += a*b */
|
||||
void PQCLEAN_MAMABEAR_CLEAN_mac(gf_t c, const gf_t a, const gf_t b) {
|
||||
/* Reference non-Karatsuba MAC */
|
||||
@ -57,7 +62,7 @@ void PQCLEAN_MAMABEAR_CLEAN_canon(gf_t c) {
|
||||
/* Strong reduce. First subtract modulus */
|
||||
scarry = hi >> LGX;
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
scarry = scarry + (slimb_t)c[i] - modulus(i);
|
||||
scarry = scarry + (slimb_t)c[i] - PQCLEAN_MAMABEAR_CLEAN_modulus(i);
|
||||
c[i] = scarry & LMASK;
|
||||
scarry >>= LGX;
|
||||
}
|
||||
@ -65,7 +70,7 @@ void PQCLEAN_MAMABEAR_CLEAN_canon(gf_t c) {
|
||||
/* add it back */
|
||||
carry = 0;
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
carry = carry + c[i] + ((dlimb_t)scarry & modulus(i));
|
||||
carry = carry + c[i] + ((dlimb_t)scarry & PQCLEAN_MAMABEAR_CLEAN_modulus(i));
|
||||
c[i] = carry & LMASK;
|
||||
carry >>= LGX;
|
||||
}
|
||||
|
@ -24,8 +24,6 @@ void PQCLEAN_MAMABEAR_CLEAN_mac(gf_t c, const gf_t a, const gf_t b);
|
||||
void PQCLEAN_MAMABEAR_CLEAN_canon(gf_t c);
|
||||
|
||||
/** Return the i'th limb of the modulus */
|
||||
static inline limb_t modulus(size_t i) {
|
||||
return (i == DIGITS / 2) ? LMASK - 1 : LMASK;
|
||||
}
|
||||
limb_t PQCLEAN_MAMABEAR_CLEAN_modulus(size_t i);
|
||||
|
||||
#endif
|
||||
|
@ -61,7 +61,7 @@ static void noise(gf_t x, const shake256incctx *ctx, uint8_t iv) {
|
||||
cshake256_inc_finalize(&ctx2);
|
||||
cshake256_inc_squeeze(c, DIGITS, &ctx2);
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
x[i] = (limb_t)(psi(c[i]) + modulus(i));
|
||||
x[i] = (limb_t)(psi(c[i]) + PQCLEAN_MAMABEAR_CLEAN_modulus(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,11 @@
|
||||
/** Ring arithmetic implementation */
|
||||
#include "ring.h"
|
||||
|
||||
/** Return the i'th limb of the modulus */
|
||||
limb_t PQCLEAN_PAPABEAR_CLEAN_modulus(size_t i) {
|
||||
return (i == DIGITS / 2) ? LMASK - 1 : LMASK;
|
||||
}
|
||||
|
||||
/** Multiply and accumulate c += a*b */
|
||||
void PQCLEAN_PAPABEAR_CLEAN_mac(gf_t c, const gf_t a, const gf_t b) {
|
||||
/* Reference non-Karatsuba MAC */
|
||||
@ -57,7 +62,7 @@ void PQCLEAN_PAPABEAR_CLEAN_canon(gf_t c) {
|
||||
/* Strong reduce. First subtract modulus */
|
||||
scarry = hi >> LGX;
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
scarry = scarry + (slimb_t)c[i] - modulus(i);
|
||||
scarry = scarry + (slimb_t)c[i] - PQCLEAN_PAPABEAR_CLEAN_modulus(i);
|
||||
c[i] = scarry & LMASK;
|
||||
scarry >>= LGX;
|
||||
}
|
||||
@ -65,7 +70,7 @@ void PQCLEAN_PAPABEAR_CLEAN_canon(gf_t c) {
|
||||
/* add it back */
|
||||
carry = 0;
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
carry = carry + c[i] + ((dlimb_t)scarry & modulus(i));
|
||||
carry = carry + c[i] + ((dlimb_t)scarry & PQCLEAN_PAPABEAR_CLEAN_modulus(i));
|
||||
c[i] = carry & LMASK;
|
||||
carry >>= LGX;
|
||||
}
|
||||
|
@ -24,8 +24,6 @@ void PQCLEAN_PAPABEAR_CLEAN_mac(gf_t c, const gf_t a, const gf_t b);
|
||||
void PQCLEAN_PAPABEAR_CLEAN_canon(gf_t c);
|
||||
|
||||
/** Return the i'th limb of the modulus */
|
||||
static inline limb_t modulus(size_t i) {
|
||||
return (i == DIGITS / 2) ? LMASK - 1 : LMASK;
|
||||
}
|
||||
limb_t PQCLEAN_PAPABEAR_CLEAN_modulus(size_t i);
|
||||
|
||||
#endif
|
||||
|
@ -61,7 +61,7 @@ static void noise(gf_t x, const shake256incctx *ctx, uint8_t iv) {
|
||||
cshake256_inc_finalize(&ctx2);
|
||||
cshake256_inc_squeeze(c, DIGITS, &ctx2);
|
||||
for (size_t i = 0; i < DIGITS; i++) {
|
||||
x[i] = (limb_t)(psi(c[i]) + modulus(i));
|
||||
x[i] = (limb_t)(psi(c[i]) + PQCLEAN_PAPABEAR_CLEAN_modulus(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user