Skip to content

Commit d4f008a

Browse files
committed
SLH-DSA: add self-tests executed during first invocation
Signed-off-by: Stephan Mueller <smueller@chronox.de>
1 parent e949d3f commit d4f008a

File tree

17 files changed

+231
-2
lines changed

17 files changed

+231
-2
lines changed

TODO

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111

1212
- BIKE: add self tests
1313

14-
- SLH-DSA: add self test
15-
1614
- BIKE: add timecop
15+
16+
- ARMv8: enable ARMv8 intrinsics in the kernel (SHAKE2x and by extension SLH-DSA)

linux_kernel/Kbuild.slh-dsa

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_256s) \
2020
+= ../slh-dsa/src/sphincs_fors.o \
2121
../slh-dsa/src/sphincs_hash_shake.o \
2222
../slh-dsa/src/sphincs_merkle.o \
23+
../slh-dsa/src/sphincs_selftest.o \
2324
../slh-dsa/src/sphincs_sign.o \
2425
../slh-dsa/src/sphincs_signature_helper.o \
2526
../slh-dsa/src/sphincs_thash_shake_simple.o \
@@ -33,6 +34,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_256f) \
3334
+= sphincs_shake_256f/sphincs_fors.o \
3435
sphincs_shake_256f/sphincs_hash_shake.o \
3536
sphincs_shake_256f/sphincs_merkle.o \
37+
sphincs_shake_256f/sphincs_selftest.o \
3638
sphincs_shake_256f/sphincs_sign.o \
3739
sphincs_shake_256f/sphincs_signature_helper.o\
3840
sphincs_shake_256f/sphincs_thash_shake_simple.o\
@@ -44,6 +46,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_256f) \
4446
CFLAGS_sphincs_shake_256f/sphincs_fors.o := -DLC_SPHINCS_TYPE_256F
4547
CFLAGS_sphincs_shake_256f/sphincs_hash_shake.o := -DLC_SPHINCS_TYPE_256F
4648
CFLAGS_sphincs_shake_256f/sphincs_merkle.o := -DLC_SPHINCS_TYPE_256F
49+
CFLAGS_sphincs_shake_256f/sphincs_selftest.o := -DLC_SPHINCS_TYPE_256F
4750
CFLAGS_sphincs_shake_256f/sphincs_sign.o := -DLC_SPHINCS_TYPE_256F
4851
CFLAGS_sphincs_shake_256f/sphincs_signature_helper.o := -DLC_SPHINCS_TYPE_256F
4952
CFLAGS_sphincs_shake_256f/sphincs_thash_shake_simple.o := -DLC_SPHINCS_TYPE_256F
@@ -57,6 +60,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_192s) \
5760
+= sphincs_shake_192s/sphincs_fors.o \
5861
sphincs_shake_192s/sphincs_hash_shake.o \
5962
sphincs_shake_192s/sphincs_merkle.o \
63+
sphincs_shake_192s/sphincs_selftest.o \
6064
sphincs_shake_192s/sphincs_sign.o \
6165
sphincs_shake_192s/sphincs_signature_helper.o\
6266
sphincs_shake_192s/sphincs_thash_shake_simple.o\
@@ -68,6 +72,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_192s) \
6872
CFLAGS_sphincs_shake_192s/sphincs_fors.o := -DLC_SPHINCS_TYPE_192S
6973
CFLAGS_sphincs_shake_192s/sphincs_hash_shake.o := -DLC_SPHINCS_TYPE_192S
7074
CFLAGS_sphincs_shake_192s/sphincs_merkle.o := -DLC_SPHINCS_TYPE_192S
75+
CFLAGS_sphincs_shake_192s/sphincs_selftest.o := -DLC_SPHINCS_TYPE_192S
7176
CFLAGS_sphincs_shake_192s/sphincs_sign.o := -DLC_SPHINCS_TYPE_192S
7277
CFLAGS_sphincs_shake_192s/sphincs_signature_helper.o := -DLC_SPHINCS_TYPE_192S
7378
CFLAGS_sphincs_shake_192s/sphincs_thash_shake_simple.o := -DLC_SPHINCS_TYPE_192S
@@ -82,6 +87,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_192f) \
8287
sphincs_shake_192f/sphincs_hash_shake.o \
8388
sphincs_shake_192f/sphincs_merkle.o \
8489
sphincs_shake_192f/sphincs_sign.o \
90+
sphincs_shake_192f/sphincs_selftest.o \
8591
sphincs_shake_192f/sphincs_signature_helper.o\
8692
sphincs_shake_192f/sphincs_thash_shake_simple.o\
8793
sphincs_shake_192f/sphincs_utils.o \
@@ -92,6 +98,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_192f) \
9298
CFLAGS_sphincs_shake_192f/sphincs_fors.o := -DLC_SPHINCS_TYPE_192F
9399
CFLAGS_sphincs_shake_192f/sphincs_hash_shake.o := -DLC_SPHINCS_TYPE_192F
94100
CFLAGS_sphincs_shake_192f/sphincs_merkle.o := -DLC_SPHINCS_TYPE_192F
101+
CFLAGS_sphincs_shake_192f/sphincs_selftest.o := -DLC_SPHINCS_TYPE_192F
95102
CFLAGS_sphincs_shake_192f/sphincs_sign.o := -DLC_SPHINCS_TYPE_192F
96103
CFLAGS_sphincs_shake_192f/sphincs_signature_helper.o := -DLC_SPHINCS_TYPE_192F
97104
CFLAGS_sphincs_shake_192f/sphincs_thash_shake_simple.o := -DLC_SPHINCS_TYPE_192F
@@ -105,6 +112,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_128s) \
105112
+= sphincs_shake_128s/sphincs_fors.o \
106113
sphincs_shake_128s/sphincs_hash_shake.o \
107114
sphincs_shake_128s/sphincs_merkle.o \
115+
sphincs_shake_128s/sphincs_selftest.o \
108116
sphincs_shake_128s/sphincs_sign.o \
109117
sphincs_shake_128s/sphincs_signature_helper.o\
110118
sphincs_shake_128s/sphincs_thash_shake_simple.o\
@@ -116,6 +124,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_128s) \
116124
CFLAGS_sphincs_shake_128s/sphincs_fors.o := -DLC_SPHINCS_TYPE_128S
117125
CFLAGS_sphincs_shake_128s/sphincs_hash_shake.o := -DLC_SPHINCS_TYPE_128S
118126
CFLAGS_sphincs_shake_128s/sphincs_merkle.o := -DLC_SPHINCS_TYPE_128S
127+
CFLAGS_sphincs_shake_128s/sphincs_selftest.o := -DLC_SPHINCS_TYPE_128S
119128
CFLAGS_sphincs_shake_128s/sphincs_sign.o := -DLC_SPHINCS_TYPE_128S
120129
CFLAGS_sphincs_shake_128s/sphincs_signature_helper.o := -DLC_SPHINCS_TYPE_128S
121130
CFLAGS_sphincs_shake_128s/sphincs_thash_shake_simple.o := -DLC_SPHINCS_TYPE_128S
@@ -129,6 +138,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_128f) \
129138
+= sphincs_shake_128f/sphincs_fors.o \
130139
sphincs_shake_128f/sphincs_hash_shake.o \
131140
sphincs_shake_128f/sphincs_merkle.o \
141+
sphincs_shake_128f/sphincs_selftest.o \
132142
sphincs_shake_128f/sphincs_sign.o \
133143
sphincs_shake_128f/sphincs_signature_helper.o\
134144
sphincs_shake_128f/sphincs_thash_shake_simple.o\
@@ -140,6 +150,7 @@ leancrypto-$(CONFIG_LEANCRYPTO_SPHINCS_128f) \
140150
CFLAGS_sphincs_shake_128f/sphincs_fors.o := -DLC_SPHINCS_TYPE_128F
141151
CFLAGS_sphincs_shake_128f/sphincs_hash_shake.o := -DLC_SPHINCS_TYPE_128F
142152
CFLAGS_sphincs_shake_128f/sphincs_merkle.o := -DLC_SPHINCS_TYPE_128F
153+
CFLAGS_sphincs_shake_128f/sphincs_selftest.o := -DLC_SPHINCS_TYPE_128F
143154
CFLAGS_sphincs_shake_128f/sphincs_sign.o := -DLC_SPHINCS_TYPE_128F
144155
CFLAGS_sphincs_shake_128f/sphincs_signature_helper.o := -DLC_SPHINCS_TYPE_128F
145156
CFLAGS_sphincs_shake_128f/sphincs_thash_shake_simple.o := -DLC_SPHINCS_TYPE_128F
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../slh-dsa/src/sphincs_selftest.c
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../slh-dsa/src/sphincs_selftest.h
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../slh-dsa/src/sphincs_selftest.c
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../slh-dsa/src/sphincs_selftest.h
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../slh-dsa/src/sphincs_selftest.c
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../slh-dsa/src/sphincs_selftest.h
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../slh-dsa/src/sphincs_selftest.c
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../slh-dsa/src/sphincs_selftest.h

0 commit comments

Comments
 (0)