This series adds support for ML-DSA signing and verification for EVM and
IMA using ML-DSA in pure mode and IMA's sigv3 signature format. Evmctl
will prevent users from trying to use sigv2 signatures with ML-DSA and
therefore ML-DSA requires the usage of --v3. Test cases for IMA and EVM
sigv3 are added using ML-DSA-44 (2420 bytes) and ML-DSA-65 (3309 bytes)
type of keys since those are more likely to fit into xattrs on most
filesystems than the even larger ML-DSA-87 signatures (4627 bytes).
Stefan
Stefan Berger (5):
checkpatch: Remove warning when function name is found in output
string
Set size of xattr_value to MAX_SIGNATURE_SIZE
Support signing with ML-DSA keys when OpenSSL >=3.5 is available
examples: Implement script to create ML-DSA-65 CA and signing keys
test: Add tests for signing and verifying with ML-DSA keys
README | 3 +-
examples/ima-gen-local-ca-mldsa65.sh | 29 +++
examples/ima-genkey-mldsa65.sh | 34 ++++
examples/ima-genkey-mldsa87.sh | 34 ++++
scripts/checkpatch.pl | 14 +-
src/evmctl.c | 6 +-
src/imaevm.h | 5 +-
src/libimaevm.c | 258 +++++++++++++++++++++++++--
tests/gen-keys.sh | 22 +++
tests/sign_verify.test | 40 ++++-
10 files changed, 417 insertions(+), 28 deletions(-)
create mode 100755 examples/ima-gen-local-ca-mldsa65.sh
create mode 100755 examples/ima-genkey-mldsa65.sh
create mode 100755 examples/ima-genkey-mldsa87.sh
--
2.53.0