Skip to content

Commit

Permalink
removed all DILITHIUM_NAMESPACE-ing
Browse files Browse the repository at this point in the history
  • Loading branch information
jakemas committed Oct 8, 2024
1 parent f4da396 commit 64cc605
Show file tree
Hide file tree
Showing 9 changed files with 32 additions and 84 deletions.
2 changes: 0 additions & 2 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/ntt.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
#include <stdint.h>
#include "params.h"

#define ntt DILITHIUM_NAMESPACE(ntt)
void ntt(int32_t a[N]);

#define invntt_tomont DILITHIUM_NAMESPACE(invntt_tomont)
void invntt_tomont(int32_t a[N]);

#endif
12 changes: 4 additions & 8 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/packing.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@
#include "params.h"
#include "polyvec.h"

#define pack_pk DILITHIUM_NAMESPACE(pack_pk)
void pack_pk(ml_dsa_params *params,
uint8_t *pk,
const uint8_t rho[SEEDBYTES],
const polyveck *t1);

#define pack_sk DILITHIUM_NAMESPACE(pack_sk)
void pack_sk(ml_dsa_params *params,
uint8_t *sk,
const uint8_t rho[SEEDBYTES],
Expand All @@ -21,17 +19,17 @@ void pack_sk(ml_dsa_params *params,
const polyvecl *s1,
const polyveck *s2);

#define pack_sig DILITHIUM_NAMESPACE(pack_sig)
void pack_sig(ml_dsa_params *params,
uint8_t *sig,
const uint8_t *c,
const polyvecl *z,
const polyveck *h);

#define unpack_pk DILITHIUM_NAMESPACE(unpack_pk)
void unpack_pk(ml_dsa_params *params, uint8_t rho[SEEDBYTES], polyveck *t1, const uint8_t *pk);
void unpack_pk(ml_dsa_params *params,
uint8_t rho[SEEDBYTES],
polyveck *t1,
const uint8_t *pk);

#define unpack_sk DILITHIUM_NAMESPACE(unpack_sk)
void unpack_sk(ml_dsa_params *params,
uint8_t rho[SEEDBYTES],
uint8_t tr[TRBYTES],
Expand All @@ -41,12 +39,10 @@ void unpack_sk(ml_dsa_params *params,
polyveck *s2,
const uint8_t *sk);

#define unpack_sig DILITHIUM_NAMESPACE(unpack_sig)
int unpack_sig(ml_dsa_params *params,
uint8_t *c,
polyvecl *z,
polyveck *h,
const uint8_t *sig);


#endif
2 changes: 0 additions & 2 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/params.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@ typedef struct {
#define DILITHIUM_POLY_UNIFORM_ETA_NBLOCKS_MAX ((227 + STREAM256_BLOCKBYTES - 1)/STREAM256_BLOCKBYTES)
#define DILITHIUM_POLYZ_PACKEDBYTES_MAX (576)

#define DILITHIUM_NAMESPACE(s) pqcrystals_dilithium_##s##_ref

void ml_dsa_44_params_init(ml_dsa_params *params);
void ml_dsa_65_params_init(ml_dsa_params *params);
void ml_dsa_87_params_init(ml_dsa_params *params);
Expand Down
42 changes: 16 additions & 26 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/poly.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,77 +8,67 @@ typedef struct {
int32_t coeffs[N];
} poly;

#define poly_reduce DILITHIUM_NAMESPACE(poly_reduce)
void poly_reduce(poly *a);
#define poly_caddq DILITHIUM_NAMESPACE(poly_caddq)

void poly_caddq(poly *a);

#define poly_add DILITHIUM_NAMESPACE(poly_add)
void poly_add(poly *c, const poly *a, const poly *b);
#define poly_sub DILITHIUM_NAMESPACE(poly_sub)

void poly_sub(poly *c, const poly *a, const poly *b);
#define poly_shiftl DILITHIUM_NAMESPACE(poly_shiftl)

void poly_shiftl(poly *a);

#define poly_ntt DILITHIUM_NAMESPACE(poly_ntt)
void poly_ntt(poly *a);
#define poly_invntt_tomont DILITHIUM_NAMESPACE(poly_invntt_tomont)

void poly_invntt_tomont(poly *a);
#define poly_pointwise_montgomery DILITHIUM_NAMESPACE(poly_pointwise_montgomery)

void poly_pointwise_montgomery(poly *c, const poly *a, const poly *b);

#define poly_power2round DILITHIUM_NAMESPACE(poly_power2round)
void poly_power2round(poly *a1, poly *a0, const poly *a);
#define poly_decompose DILITHIUM_NAMESPACE(poly_decompose)

void poly_decompose(ml_dsa_params *params, poly *a1, poly *a0, const poly *a);
#define poly_make_hint DILITHIUM_NAMESPACE(poly_make_hint)

unsigned int poly_make_hint(ml_dsa_params *params,
poly *h,
const poly *a0,
const poly *a1);
#define poly_use_hint DILITHIUM_NAMESPACE(poly_use_hint)

void poly_use_hint(ml_dsa_params *params, poly *b, const poly *a, const poly *h);

#define poly_chknorm DILITHIUM_NAMESPACE(poly_chknorm)
int poly_chknorm(const poly *a, int32_t B);
#define poly_uniform DILITHIUM_NAMESPACE(poly_uniform)

void poly_uniform(poly *a,
const uint8_t seed[SEEDBYTES],
uint16_t nonce);
#define poly_uniform_eta DILITHIUM_NAMESPACE(poly_uniform_eta)

void poly_uniform_eta(ml_dsa_params *params,
poly *a,
const uint8_t seed[CRHBYTES],
uint16_t nonce);
#define poly_uniform_gamma1 DILITHIUM_NAMESPACE(poly_uniform_gamma1)

void poly_uniform_gamma1(ml_dsa_params *params,
poly *a,
const uint8_t seed[CRHBYTES],
uint16_t nonce);
#define poly_challenge DILITHIUM_NAMESPACE(poly_challenge)

void poly_challenge(ml_dsa_params *params, poly *c, const uint8_t *seed);

#define polyeta_pack DILITHIUM_NAMESPACE(polyeta_pack)
void polyeta_pack(ml_dsa_params *params, uint8_t *r, const poly *a);
#define polyeta_unpack DILITHIUM_NAMESPACE(polyeta_unpack)

void polyeta_unpack(ml_dsa_params *params, poly *r, const uint8_t *a);

#define polyt1_pack DILITHIUM_NAMESPACE(polyt1_pack)
void polyt1_pack(uint8_t *r, const poly *a);
#define polyt1_unpack DILITHIUM_NAMESPACE(polyt1_unpack)

void polyt1_unpack(poly *r, const uint8_t *a);

#define polyt0_pack DILITHIUM_NAMESPACE(polyt0_pack)
void polyt0_pack(uint8_t *r, const poly *a);
#define polyt0_unpack DILITHIUM_NAMESPACE(polyt0_unpack)

void polyt0_unpack(poly *r, const uint8_t *a);

#define polyz_pack DILITHIUM_NAMESPACE(polyz_pack)
void polyz_pack(ml_dsa_params *params, uint8_t *r, const poly *a);
#define polyz_unpack DILITHIUM_NAMESPACE(polyz_unpack)

void polyz_unpack(ml_dsa_params *params, poly *r, const uint8_t *a);

#define polyw1_pack DILITHIUM_NAMESPACE(polyw1_pack)
void polyw1_pack(ml_dsa_params *params, uint8_t *r, const poly *a);

#endif
42 changes: 11 additions & 31 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/polyvec.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,123 +10,103 @@ typedef struct {
poly vec[DILITHIUM_L_MAX];
} polyvecl;

#define polyvecl_uniform_eta DILITHIUM_NAMESPACE(polyvecl_uniform_eta)
void polyvecl_uniform_eta(ml_dsa_params *params,
polyvecl *v,
const uint8_t seed[CRHBYTES],
uint16_t nonce);

#define polyvecl_uniform_gamma1 DILITHIUM_NAMESPACE(polyvecl_uniform_gamma1)
void polyvecl_uniform_gamma1(ml_dsa_params *params,
polyvecl *v,
const uint8_t seed[CRHBYTES],
uint16_t nonce);

#define polyvecl_reduce DILITHIUM_NAMESPACE(polyvecl_reduce)
void polyvecl_reduce(ml_dsa_params *params, polyvecl *v);

#define polyvecl_add DILITHIUM_NAMESPACE(polyvecl_add)
void polyvecl_add(ml_dsa_params *params,
polyvecl *w,
const polyvecl *u,
const polyvecl *v);

#define polyvecl_ntt DILITHIUM_NAMESPACE(polyvecl_ntt)
void polyvecl_ntt(ml_dsa_params *params, polyvecl *v);
#define polyvecl_invntt_tomont DILITHIUM_NAMESPACE(polyvecl_invntt_tomont)

void polyvecl_invntt_tomont(ml_dsa_params *params, polyvecl *v);
#define polyvecl_pointwise_poly_montgomery DILITHIUM_NAMESPACE(polyvecl_pointwise_poly_montgomery)

void polyvecl_pointwise_poly_montgomery(ml_dsa_params *params,
polyvecl *r,
const poly *a,
const polyvecl *v);
#define polyvecl_pointwise_acc_montgomery \
DILITHIUM_NAMESPACE(polyvecl_pointwise_acc_montgomery)

void polyvecl_pointwise_acc_montgomery(ml_dsa_params *params,
poly *w,
const polyvecl *u,
const polyvecl *v);


#define polyvecl_chknorm DILITHIUM_NAMESPACE(polyvecl_chknorm)
int polyvecl_chknorm(ml_dsa_params *params, const polyvecl *v, int32_t B);



/* Vectors of polynomials of length K */
typedef struct {
poly vec[DILITHIUM_K_MAX];
} polyveck;

#define polyveck_uniform_eta DILITHIUM_NAMESPACE(polyveck_uniform_eta)
void polyveck_uniform_eta(ml_dsa_params *params,
polyveck *v,
const uint8_t seed[CRHBYTES],
uint16_t nonce);

#define polyveck_reduce DILITHIUM_NAMESPACE(polyveck_reduce)
void polyveck_reduce(ml_dsa_params *params, polyveck *v);
#define polyveck_caddq DILITHIUM_NAMESPACE(polyveck_caddq)

void polyveck_caddq(ml_dsa_params *params, polyveck *v);

#define polyveck_add DILITHIUM_NAMESPACE(polyveck_add)
void polyveck_add(ml_dsa_params *params,
polyveck *w,
const polyveck *u,
const polyveck *v);
#define polyveck_sub DILITHIUM_NAMESPACE(polyveck_sub)

void polyveck_sub(ml_dsa_params *params,
polyveck *w,
const polyveck *u,
const polyveck *v);
#define polyveck_shiftl DILITHIUM_NAMESPACE(polyveck_shiftl)

void polyveck_shiftl(ml_dsa_params *params, polyveck *v);

#define polyveck_ntt DILITHIUM_NAMESPACE(polyveck_ntt)
void polyveck_ntt(ml_dsa_params *params, polyveck *v);
#define polyveck_invntt_tomont DILITHIUM_NAMESPACE(polyveck_invntt_tomont)

void polyveck_invntt_tomont(ml_dsa_params *params, polyveck *v);
#define polyveck_pointwise_poly_montgomery DILITHIUM_NAMESPACE(polyveck_pointwise_poly_montgomery)

void polyveck_pointwise_poly_montgomery(ml_dsa_params *params,
polyveck *r,
const poly *a,
const polyveck *v);

#define polyveck_chknorm DILITHIUM_NAMESPACE(polyveck_chknorm)
int polyveck_chknorm(ml_dsa_params *params, const polyveck *v, int32_t B);

#define polyveck_power2round DILITHIUM_NAMESPACE(polyveck_power2round)
void polyveck_power2round(ml_dsa_params *params,
polyveck *v1,
polyveck *v0,
const polyveck *v);
#define polyveck_decompose DILITHIUM_NAMESPACE(polyveck_decompose)

void polyveck_decompose(ml_dsa_params *params,
polyveck *v1,
polyveck *v0,
const polyveck *v);
#define polyveck_make_hint DILITHIUM_NAMESPACE(polyveck_make_hint)

unsigned int polyveck_make_hint(ml_dsa_params *params,
polyveck *h,
const polyveck *v0,
const polyveck *v1);
#define polyveck_use_hint DILITHIUM_NAMESPACE(polyveck_use_hint)

void polyveck_use_hint(ml_dsa_params *params,
polyveck *w,
const polyveck *v,
const polyveck *h);

#define polyveck_pack_w1 DILITHIUM_NAMESPACE(polyveck_pack_w1)
void polyveck_pack_w1(ml_dsa_params *params,
uint8_t *r,
const polyveck *w1);

#define polyvec_matrix_expand DILITHIUM_NAMESPACE(polyvec_matrix_expand)
void polyvec_matrix_expand(ml_dsa_params *params,
polyvecl *mat,
const uint8_t rho[SEEDBYTES]);

#define polyvec_matrix_pointwise_montgomery DILITHIUM_NAMESPACE(polyvec_matrix_pointwise_montgomery)
void polyvec_matrix_pointwise_montgomery(ml_dsa_params *params,
polyveck *t,
const polyvecl *mat,
Expand Down
4 changes: 0 additions & 4 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/reduce.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,12 @@
#define MONT -4186625 // 2^32 % Q
#define QINV 58728449 // q^(-1) mod 2^32

#define fqmul DILITHIUM_NAMESPACE(fqmul)
int64_t fqmul(int32_t a, int32_t b);

#define reduce32 DILITHIUM_NAMESPACE(reduce32)
int32_t reduce32(int32_t a);

#define caddq DILITHIUM_NAMESPACE(caddq)
int32_t caddq(int32_t a);

#define freeze DILITHIUM_NAMESPACE(freeze)
int32_t freeze(int32_t a);

#endif
4 changes: 0 additions & 4 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/rounding.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,12 @@
#include <stdint.h>
#include "params.h"

#define power2round DILITHIUM_NAMESPACE(power2round)
int32_t power2round(int32_t *a0, int32_t a);

#define decompose DILITHIUM_NAMESPACE(decompose)
int32_t decompose(ml_dsa_params *params, int32_t *a0, int32_t a);

#define make_hint DILITHIUM_NAMESPACE(make_hint)
unsigned int make_hint(ml_dsa_params *params, int32_t a0, int32_t a1);

#define use_hint DILITHIUM_NAMESPACE(use_hint)
int32_t use_hint(ml_dsa_params *params, int32_t a, unsigned int hint);

#endif
5 changes: 0 additions & 5 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/sign.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,26 @@
#include "polyvec.h"
#include "poly.h"

#define crypto_sign_keypair DILITHIUM_NAMESPACE(keypair)
int crypto_sign_keypair(ml_dsa_params *params, uint8_t *pk, uint8_t *sk);

#define crypto_sign_signature DILITHIUM_NAMESPACE(signature)
int crypto_sign_signature(ml_dsa_params *params,
uint8_t *sig, size_t *siglen,
const uint8_t *m, size_t mlen,
const uint8_t *ctx, size_t ctxlen,
const uint8_t *sk);

#define crypto_sign DILITHIUM_NAMESPACE()
int crypto_sign(ml_dsa_params *params,
uint8_t *sm, size_t *smlen,
const uint8_t *m, size_t mlen,
const uint8_t *ctx, size_t ctxlen,
const uint8_t *sk);

#define crypto_sign_verify DILITHIUM_NAMESPACE(verify)
int crypto_sign_verify(ml_dsa_params *params,
const uint8_t *sig, size_t siglen,
const uint8_t *m, size_t mlen,
const uint8_t *ctx, size_t ctxlen,
const uint8_t *pk);

#define crypto_sign_open DILITHIUM_NAMESPACE(open)
int crypto_sign_open(ml_dsa_params *params,
uint8_t *m, size_t *mlen,
const uint8_t *sm, size_t smlen,
Expand Down
3 changes: 1 addition & 2 deletions crypto/dilithium/pqcrystals_dilithium_ref_common/symmetric.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@
typedef keccak_state stream128_state;
typedef keccak_state stream256_state;

#define dilithium_shake128_stream_init DILITHIUM_NAMESPACE(dilithium_shake128_stream_init)
void dilithium_shake128_stream_init(keccak_state *state,
const uint8_t seed[SEEDBYTES],
uint16_t nonce);

#define dilithium_shake256_stream_init DILITHIUM_NAMESPACE(dilithium_shake256_stream_init)

void dilithium_shake256_stream_init(keccak_state *state,
const uint8_t seed[CRHBYTES],
uint16_t nonce);
Expand Down

0 comments on commit 64cc605

Please sign in to comment.