Topic: Enable Dilithium5/Kyber5 on a STM32?

Hello there,

I am struggling to set up the correct defines to activate this algorithms for TLS:


#define WOLFSSL_HAVE_KYBER
//#define HAVE_DILITHIUM
//#define WOLFSSL_DILITHIUM_SMALL
#define HAVE_DILITHIUM_LEVEL5
//#define WOLFSSL_PQC_ONLY
#define NO_ECC
//#define WOLFSSL_MLKEM
//#define WOLFSSL_MLKEM_KYBER
#define WOLFSSL_WC_DILITHIUM
#define WOLFSSL_SHAKE256
#define WOLFSSL_SHAKE128
#define WOLFSSL_SHA3
#define WOLFSSL_WC_MLKEM
//#define HAVE_LIBOQS
//#define WOLFSSL_EXPERIMENTAL_SETTINGS

.


I get quite many errors, because something is missing.

Share

Re: Enable Dilithium5/Kyber5 on a STM32?

./Middlewares/wolfssl/src/internal.c:29243:16: error: 'WOLFSSL' has no member named 'pkCurveOID'
29243 |             ssl->pkCurveOID == CTC_ML_DSA_LEVEL5


for example I get this error, when WOLFSSL_WC_DILITHIUM enabled.

Share

Re: Enable Dilithium5/Kyber5 on a STM32?

Hello Mika,

Which version of wolfSSL are you building? Here is an example config used to run the PQC benchmarks on an STM32F439ZI
https://github.com/wolfSSL/wolfssl/blob … tm32f439zi

Could you tell us a bit about your project using wolfSSL?

Kind regards,
Eric - wolfSSL Support

Re: Enable Dilithium5/Kyber5 on a STM32?

Hello embhorn,

I am using version 5.8.4. I want to make a TLS Handshake, while using ThreadX and NetXDuo.
Using X25519/ED25519 works fine so far, but I will take a look at this example for the PQC. Thx.

Cheers,
Michael

Share