Files
kang1024 145d0c702b Add ML-KEM and ML-DSA support from OpenSSL 3.5.6
Port ML-KEM (FIPS 203) and ML-DSA (FIPS 204) post-quantum cryptography
from OpenSSL 3.5.6 to OpenSSL 3.0.9 with API compatibility adaptations.

Key compatibility shims:
- Add include/openssl/byteorder.h (OPENSSL_load/store_u{16,32,64}_le)
- Add include/internal/fips.h (ossl_fips_self_testing() inline stub)
- Map EVP_DigestSqueeze() to EVP_DigestFinalXOF() + large buffer
- Map EVP_MD_xof() to EVP_MD flags check
- Map OSSL_FUNC_SIGNATURE_SIGN/VERIFY_MESSAGE_INIT dispatch IDs to
  existing SIGN_INIT/VERIFY_INIT (2/4)
- Map EVP_PKEY_sign/verify_message_init() to sign/verify_init_ex()
- Add OSSL_SIGNATURE_PARAM_MU constant
- Add OSSL_FUNC typedef + OSSL_DISPATCH_END macro
- Use correct NID names (NID_id_alg_ml_dsa_44 vs NID_ML_DSA_44)

Provider registrations:
- ML-KEM KEM, ML-KEM/ML-DSA keymgmt, ML-DSA signature providers
- ML-KEM/ML-DSA encoders/decoders (der/pem/text for pub/priv/pkcs8)
- ML-KEM TLS group capabilities

Build system fixes:
- Add providers/common/provider_ctx.c with get_param/bool_param stubs
- Fix DER build.info $COMMON variable override order
- Fix decode_der2key.c PROV_CTX vs OSSL_LIB_CTX type mismatch (6 calls)
- Link ML tests against libcrypto.a (not .so) for internal symbols
- Remove references to missing der_ml_kem_{gen,key}.c

Adapt BUILD.gn for OpenHarmony:
- Add 18 new source files across three build sections (libcommon, libdefault,
  crypto_source) to support ML-KEM/ML-DSA in the OpenHarmony/OHOS build system.

Test infrastructure:
- Add 3 test recipes (evp_extra_ml_kem, internal_ml_kem, ml_dsa)
- Add #include "internal/nelem.h" for OSSL_NELEM in test files
- Add LABELED_BUF_PRINT_WIDTH definition for codec text output

All 253 tests pass (3374 test cases), 0 compilation warnings.

Signed-off-by: kang1024 <yangjiankang3@huawei.com>
2026-04-23 11:54:05 +08:00
..
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00
2023-11-16 16:27:34 +08:00