The wolfSSL library is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3 and DTLS 1.3!
Added implementation of signing that allocates less memory by doing the matrix/vector loops in the sign code - WOLFSSL_DILITHIUM_SIGN_SMALL_MEM. Split out vector operations into vector and polynomial operations so that small mem signing can call them.
Fix benchmark to be able to compile with only Dilithium and no asymmetric algorithms.
Description
Added implementation of signing that allocates less memory by doing the matrix/vector loops in the sign code - WOLFSSL_DILITHIUM_SIGN_SMALL_MEM. Split out vector operations into vector and polynomial operations so that small mem signing can call them. Fix benchmark to be able to compile with only Dilithium and no asymmetric algorithms.
Testing
./configure '--disable-shared' '--enable-experimental' '--enable-dilithium' '--enable-intelasm' 'CFLAGS=-DWOLFSSL_DILITHIUM_SIGN_SMALL_MEM'
Checklist