wolfSSL / wolfssl

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!
https://www.wolfssl.com
GNU General Public License v2.0
2.25k stars 805 forks source link

Dilithium: add implementation of signing that allocated less #7713

Closed SparkiDev closed 3 weeks ago

SparkiDev commented 3 weeks ago

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