| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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> | 3 个月前 | |
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> | 3 个月前 | |
Disable ML-KEM and ML-DSA by default with positive opt-in macros Change ML-KEM and ML-DSA from enabled-by-default to disabled-by-default. Replace negative guards (OPENSSL_NO_ML_KEM/ML_DSA) with positive opt-in guards (OPENSSL_ML_KEM/ML_DSA) across all provider and encoder/decoder code. Users must explicitly enable via Configure options: ./Configure ... enable-ml-kem enable-ml-dsa Configure changes: - Add ml-kem/ml-dsa to %disabled hash with 'default' reason - Skip OPENSSL_NO_ macro generation for these features - Define OPENSSL_ML_KEM/ML_DSA when user enables them Signed-off-by: kang1024 <yangjiankang3@huawei.com> | 3 个月前 |