Skip to content

Commit 6a19675

Browse files
guao-xiaomixiaoxiang781216
authored andcommitted
testing/crypto: add chacha20 and chacha20-poly1305 tests
Add test cases for ChaCha20 stream cipher and ChaCha20-Poly1305 AEAD algorithm using the NuttX cryptodev interface. Tests cover RFC 7539 test vectors including encryption/decryption with various key/nonce/counter combinations. Signed-off-by: guao <guao@xiaomi.com>
1 parent 6369873 commit 6a19675

5 files changed

Lines changed: 808 additions & 0 deletions

File tree

testing/drivers/crypto/CMakeLists.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,4 +189,32 @@ if(CONFIG_TESTING_CRYPTO)
189189
pbkdf2.c)
190190
endif()
191191

192+
if(CONFIG_TESTING_CRYPTO_CHACHA20)
193+
nuttx_add_application(
194+
NAME
195+
chacha20
196+
PRIORITY
197+
${CONFIG_TESTING_CRYPTO_PRIORITY}
198+
STACKSIZE
199+
${CONFIG_TESTING_CRYPTO_STACKSIZE}
200+
MODULE
201+
${CONFIG_TESTING_CRYPTO}
202+
SRCS
203+
chacha20.c)
204+
endif()
205+
206+
if(CONFIG_TESTING_CRYPTO_CHACHA20_POLY1305)
207+
nuttx_add_application(
208+
NAME
209+
chachapoly
210+
PRIORITY
211+
${CONFIG_TESTING_CRYPTO_PRIORITY}
212+
STACKSIZE
213+
${CONFIG_TESTING_CRYPTO_STACKSIZE}
214+
MODULE
215+
${CONFIG_TESTING_CRYPTO}
216+
SRCS
217+
chachapoly.c)
218+
endif()
219+
192220
endif()

testing/drivers/crypto/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ config TESTING_CRYPTO_AES_XTS
2727
bool "aes-xts crypto test"
2828
default y
2929

30+
config TESTING_CRYPTO_CHACHA20
31+
bool "chacha20 crypto test"
32+
default y
33+
34+
config TESTING_CRYPTO_CHACHA20_POLY1305
35+
bool "chacha20-poly1305 crypto test"
36+
default y
37+
3038
config TESTING_CRYPTO_HMAC
3139
bool "hmac crypto test"
3240
default y

testing/drivers/crypto/Makefile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,16 @@ PROGNAME += pbkdf2
8383
MAINSRC += pbkdf2.c
8484
endif
8585

86+
ifeq ($(CONFIG_TESTING_CRYPTO_CHACHA20),y)
87+
PROGNAME += chacha20
88+
MAINSRC += chacha20.c
89+
endif
90+
91+
ifeq ($(CONFIG_TESTING_CRYPTO_CHACHA20_POLY1305),y)
92+
PROGNAME += chachapoly
93+
MAINSRC += chachapoly.c
94+
endif
95+
8696
PRIORITY = $(CONFIG_TESTING_CRYPTO_PRIORITY)
8797
STACKSIZE = $(CONFIG_TESTING_CRYPTO_STACKSIZE)
8898
MODULE = $(CONFIG_TESTING_CRYPTO)

0 commit comments

Comments
 (0)