Skip to content

Commit

Permalink
Add m4f-keccak and m4fstack-m7keccak for mldsa
Browse files Browse the repository at this point in the history
  • Loading branch information
potsrevennil committed Jan 13, 2025
1 parent 310833c commit fc7c3c0
Show file tree
Hide file tree
Showing 223 changed files with 428 additions and 0 deletions.
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/api.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/config.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/config.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
elf/crypto_sign_ml-dsa-44_m4f-m7keccak_%.elf: CPPFLAGS += -DPQM7_USE_M7_KECCAK
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/ntt.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/ntt_dilithium_opt_m7.s
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/packing.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/packing.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/params.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/pointwise_mont.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/poly.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/poly.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/polyvec.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/polyvec.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/reduce.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/rej_uniform.s
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/rounding.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/rounding.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/sign.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/sign.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/slothy_layer.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/smallntt.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/smallpoly.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/smallpoly.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/symmetric-shake.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/symmetric.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4f-m7keccak/vector.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/api.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/config.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/config.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
elf/crypto_sign_ml-dsa-44_m4fstack-m7keccak_%.elf: CPPFLAGS += -DPQM7_USE_M7_KECCAK
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/macros.i
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/macros_smallntt.i
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/ntt.S
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/ntt.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/packing.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/packing.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/params.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/pointwise_mont.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/poly.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/poly.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/polyvec.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/polyvec.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/reduce.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/rej_uniform.s
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/rounding.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/rounding.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/sign.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/sign.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/slothy_layer.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/smallntt.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/smallntt_769.S
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/smallpoly.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/smallpoly.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/stack.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/stack.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/symmetric-shake.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/symmetric.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-44/m4fstack-m7keccak/vector.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/api.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/config.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/config.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
elf/crypto_sign_ml-dsa-65_m4f-m7keccak_%.elf: CPPFLAGS += -DPQM7_USE_M7_KECCAK
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/ntt.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/ntt_dilithium_opt_m7.s
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/packing.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/packing.h
84 changes: 84 additions & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/params.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#ifndef PARAMS_H
#define PARAMS_H

#include "config.h"
#include "slothy_layer.h"

#define DILITHIUM_NAMESPACE(s) pqcrystals_dilithium_##s


#define SEEDBYTES 32
#define CRHBYTES 64
#define TRBYTES 64
#define RNDBYTES 32
#define N 256
#define Q 8380417
#define D 13
#define ROOT_OF_UNITY 1753

#if DILITHIUM_MODE == 2
#define K 4
#define L 4
#define ETA 2
#define TAU 39
#define BETA 78
#define GAMMA1 (1 << 17)
#define GAMMA2 ((Q-1)/88)
#define OMEGA 80
#define CTILDEBYTES 32

#elif DILITHIUM_MODE == 3
#define K 6
#define L 5
#define ETA 4
#define TAU 49
#define BETA 196
#define GAMMA1 (1 << 19)
#define GAMMA2 ((Q-1)/32)
#define OMEGA 55
#define CTILDEBYTES 48

#elif DILITHIUM_MODE == 5
#define K 8
#define L 7
#define ETA 2
#define TAU 60
#define BETA 120
#define GAMMA1 (1 << 19)
#define GAMMA2 ((Q-1)/32)
#define OMEGA 75
#define CTILDEBYTES 64

#endif

#define POLYT1_PACKEDBYTES 320
#define POLYT0_PACKEDBYTES 416
#define POLYVECH_PACKEDBYTES (OMEGA + K)

#if GAMMA1 == (1 << 17)
#define POLYZ_PACKEDBYTES 576
#elif GAMMA1 == (1 << 19)
#define POLYZ_PACKEDBYTES 640
#endif

#if GAMMA2 == (Q-1)/88
#define POLYW1_PACKEDBYTES 192
#elif GAMMA2 == (Q-1)/32
#define POLYW1_PACKEDBYTES 128
#endif

#if ETA == 2
#define POLYETA_PACKEDBYTES 96
#elif ETA == 4
#define POLYETA_PACKEDBYTES 128
#endif

#define CRYPTO_PUBLICKEYBYTES (SEEDBYTES + K*POLYT1_PACKEDBYTES)
#define CRYPTO_SECRETKEYBYTES (2*SEEDBYTES \
+ TRBYTES \
+ L*POLYETA_PACKEDBYTES \
+ K*POLYETA_PACKEDBYTES \
+ K*POLYT0_PACKEDBYTES)
#define CRYPTO_BYTES (CTILDEBYTES + L*POLYZ_PACKEDBYTES + POLYVECH_PACKEDBYTES)

#endif
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/pointwise_mont.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/poly.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/poly.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/polyvec.c
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/polyvec.h
1 change: 1 addition & 0 deletions crypto_sign/ml-dsa-65/m4f-m7keccak/reduce.h
Loading

0 comments on commit fc7c3c0

Please sign in to comment.