]> git.ipfire.org Git - thirdparty/openssl.git/commit
Add ML-DSA-44 and ML-DSA-87, fix endian issues & add fixups
authorViktor Dukhovni <openssl-users@dukhovni.org>
Sun, 5 Jan 2025 12:32:23 +0000 (23:32 +1100)
committerTomas Mraz <tomas@openssl.org>
Fri, 14 Feb 2025 09:46:03 +0000 (10:46 +0100)
commita2391f3aa5c701c3b3d0d337d24181c8d55e87e7
tree50f7cab09f9bc78361bfd9796a7d7523a273fc72
parent3ab7409f3d9a05608e94b5351789fd85994b6511
Add ML-DSA-44 and ML-DSA-87, fix endian issues & add fixups

- Make data encoding work on big-endian systems.

- Fix some ML-DSA-44 specific bugs related to w1-vector bits
  per-coefficient, overall size and high-bits rounding.

- Use "do { ... } while (pointer < end)" style consistently.

- Drop redundant reference counting of provided keys.

- Add parameter blocks for ML-DSA-44 and ML-DSA-87 and turn on
  associated provider glue.  These now pass both keygen and
  siggen tests (to be added separately).

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26127)
crypto/ml_dsa/ml_dsa_encoders.c
crypto/ml_dsa/ml_dsa_key.c
crypto/ml_dsa/ml_dsa_key_compress.c
crypto/ml_dsa/ml_dsa_params.c
crypto/ml_dsa/ml_dsa_sign.c
providers/defltprov.c
providers/implementations/include/prov/implementations.h
providers/implementations/include/prov/names.h
providers/implementations/keymgmt/ml_dsa_kmgmt.c
providers/implementations/signature/ml_dsa_sig.c
test/ml_dsa_test.c