diff --git a/oqsprov/oqs_decode_der2key.c b/oqsprov/oqs_decode_der2key.c index 07308b25..9d62115b 100644 --- a/oqsprov/oqs_decode_der2key.c +++ b/oqsprov/oqs_decode_der2key.c @@ -1,5 +1,6 @@ /* * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) [2024,] 2024, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -678,149 +679,221 @@ MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, SubjectPublicKeyInfo); #endif /* OQS_KEM_ENCODERS */ +MAKE_DECODER(, "dilithium2", dilithium2, oqsx, type_specific_keypair); MAKE_DECODER(, "dilithium2", dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium2", dilithium2, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, type_specific_keypair); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, type_specific_keypair); MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3", dilithium3, oqsx, type_specific_keypair); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, type_specific_keypair); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5", dilithium5, oqsx, type_specific_keypair); MAKE_DECODER(, "dilithium5", dilithium5, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium5", dilithium5, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p521_dilithium5", p521_dilithium5, oqsx, type_specific_keypair); MAKE_DECODER(, "p521_dilithium5", p521_dilithium5, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_dilithium5", p521_dilithium5, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa44", mldsa44, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa44", mldsa44, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa44", mldsa44, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_mldsa44", p256_mldsa44, oqsx, type_specific_keypair); MAKE_DECODER(, "p256_mldsa44", p256_mldsa44, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_mldsa44", p256_mldsa44, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_mldsa44", rsa3072_mldsa44, oqsx, type_specific_keypair); MAKE_DECODER(, "rsa3072_mldsa44", rsa3072_mldsa44, oqsx, PrivateKeyInfo); MAKE_DECODER(, "rsa3072_mldsa44", rsa3072_mldsa44, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa44_pss2048", mldsa44_pss2048, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa44_pss2048", mldsa44_pss2048, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa44_pss2048", mldsa44_pss2048, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa44_rsa2048", mldsa44_rsa2048, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa44_rsa2048", mldsa44_rsa2048, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa44_rsa2048", mldsa44_rsa2048, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa44_ed25519", mldsa44_ed25519, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa44_ed25519", mldsa44_ed25519, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa44_ed25519", mldsa44_ed25519, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa44_p256", mldsa44_p256, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa44_p256", mldsa44_p256, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa44_p256", mldsa44_p256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa44_bp256", mldsa44_bp256, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa44_bp256", mldsa44_bp256, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa44_bp256", mldsa44_bp256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa65", mldsa65, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa65", mldsa65, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa65", mldsa65, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_mldsa65", p384_mldsa65, oqsx, type_specific_keypair); MAKE_DECODER(, "p384_mldsa65", p384_mldsa65, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p384_mldsa65", p384_mldsa65, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa65_pss3072", mldsa65_pss3072, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa65_pss3072", mldsa65_pss3072, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa65_pss3072", mldsa65_pss3072, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa65_rsa3072", mldsa65_rsa3072, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa65_rsa3072", mldsa65_rsa3072, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa65_rsa3072", mldsa65_rsa3072, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa65_p256", mldsa65_p256, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa65_p256", mldsa65_p256, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa65_p256", mldsa65_p256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa65_bp256", mldsa65_bp256, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa65_bp256", mldsa65_bp256, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa65_bp256", mldsa65_bp256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa65_ed25519", mldsa65_ed25519, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa65_ed25519", mldsa65_ed25519, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa65_ed25519", mldsa65_ed25519, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa87", mldsa87, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa87", mldsa87, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa87", mldsa87, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p521_mldsa87", p521_mldsa87, oqsx, type_specific_keypair); MAKE_DECODER(, "p521_mldsa87", p521_mldsa87, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_mldsa87", p521_mldsa87, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa87_p384", mldsa87_p384, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa87_p384", mldsa87_p384, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa87_p384", mldsa87_p384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa87_bp384", mldsa87_bp384, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa87_bp384", mldsa87_bp384, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa87_bp384", mldsa87_bp384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mldsa87_ed448", mldsa87_ed448, oqsx, type_specific_keypair); MAKE_DECODER(, "mldsa87_ed448", mldsa87_ed448, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mldsa87_ed448", mldsa87_ed448, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512", falcon512, oqsx, type_specific_keypair); MAKE_DECODER(, "falcon512", falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon512", falcon512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, type_specific_keypair); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, type_specific_keypair); MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falconpadded512", falconpadded512, oqsx, type_specific_keypair); MAKE_DECODER(, "falconpadded512", falconpadded512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falconpadded512", falconpadded512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_falconpadded512", p256_falconpadded512, oqsx, + type_specific_keypair); MAKE_DECODER(, "p256_falconpadded512", p256_falconpadded512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_falconpadded512", p256_falconpadded512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_falconpadded512", rsa3072_falconpadded512, oqsx, + type_specific_keypair); MAKE_DECODER(, "rsa3072_falconpadded512", rsa3072_falconpadded512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "rsa3072_falconpadded512", rsa3072_falconpadded512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024", falcon1024, oqsx, type_specific_keypair); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, type_specific_keypair); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falconpadded1024", falconpadded1024, oqsx, type_specific_keypair); MAKE_DECODER(, "falconpadded1024", falconpadded1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falconpadded1024", falconpadded1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p521_falconpadded1024", p521_falconpadded1024, oqsx, + type_specific_keypair); MAKE_DECODER(, "p521_falconpadded1024", p521_falconpadded1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_falconpadded1024", p521_falconpadded1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, + type_specific_keypair); MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, + type_specific_keypair); MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, + oqsx, type_specific_keypair); MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, + type_specific_keypair); MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, + type_specific_keypair); MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, + oqsx, type_specific_keypair); MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, + type_specific_keypair); MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, + type_specific_keypair); MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, + type_specific_keypair); MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, + type_specific_keypair); MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, + oqsx, type_specific_keypair); MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo); MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mayo1", mayo1, oqsx, type_specific_keypair); MAKE_DECODER(, "mayo1", mayo1, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mayo1", mayo1, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_mayo1", p256_mayo1, oqsx, type_specific_keypair); MAKE_DECODER(, "p256_mayo1", p256_mayo1, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_mayo1", p256_mayo1, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mayo2", mayo2, oqsx, type_specific_keypair); MAKE_DECODER(, "mayo2", mayo2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mayo2", mayo2, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_mayo2", p256_mayo2, oqsx, type_specific_keypair); MAKE_DECODER(, "p256_mayo2", p256_mayo2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_mayo2", p256_mayo2, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mayo3", mayo3, oqsx, type_specific_keypair); MAKE_DECODER(, "mayo3", mayo3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mayo3", mayo3, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_mayo3", p384_mayo3, oqsx, type_specific_keypair); MAKE_DECODER(, "p384_mayo3", p384_mayo3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p384_mayo3", p384_mayo3, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "mayo5", mayo5, oqsx, type_specific_keypair); MAKE_DECODER(, "mayo5", mayo5, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mayo5", mayo5, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p521_mayo5", p521_mayo5, oqsx, type_specific_keypair); MAKE_DECODER(, "p521_mayo5", p521_mayo5, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_mayo5", p521_mayo5, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "CROSSrsdp128balanced", CROSSrsdp128balanced, oqsx, + type_specific_keypair); MAKE_DECODER(, "CROSSrsdp128balanced", CROSSrsdp128balanced, oqsx, PrivateKeyInfo); MAKE_DECODER(, "CROSSrsdp128balanced", CROSSrsdp128balanced, oqsx, diff --git a/oqsprov/oqs_encode_key2any.c b/oqsprov/oqs_encode_key2any.c index d27115c8..98e1c6ee 100644 --- a/oqsprov/oqs_encode_key2any.c +++ b/oqsprov/oqs_encode_key2any.c @@ -4,9 +4,10 @@ * OQS OpenSSL 3 provider * * Code strongly inspired by OpenSSL endecoder. + * Copyright (c) [2024,] 2024, Oracle and/or its affiliates. All rights reserved. * * ToDo: Adding hybrid alg support - */ +*/ #include #include @@ -365,7 +366,7 @@ static int key_to_spki_pem_pub_bio(BIO *out, const void *key, int key_nid, * Note that these functions completely ignore p2s, and rather rely entirely * on k2d to do the complete work. */ -/* + static int key_to_type_specific_der_bio(BIO *out, const void *key, int key_nid, ossl_unused const char *pemname, @@ -373,25 +374,29 @@ static int key_to_type_specific_der_bio(BIO *out, const void *key, i2d_of_void *k2d, struct key2any_ctx_st *ctx) { - unsigned char *der = NULL; - int derlen; - int ret; + int ret = 0; + void *str = NULL; + int strtype = V_ASN1_UNDEF; + PKCS8_PRIV_KEY_INFO *p8info; OQS_ENC_PRINTF("OQS ENC provider: key_to_type_specific_der_bio called\n"); - if ((derlen = k2d(key, &der)) <= 0) { - ERR_raise(ERR_LIB_USER, ERR_R_MALLOC_FAILURE); + if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters, &str, &strtype)) return 0; - } - ret = BIO_write(out, der, derlen); - OPENSSL_free(der); + p8info = key_to_p8info(key, key_nid, str, strtype, k2d); + + if (p8info != NULL) + ret = i2d_PKCS8_PRIV_KEY_INFO_bio(out, p8info); + else + free_asn1_data(strtype, str); + + PKCS8_PRIV_KEY_INFO_free(p8info); + return ret > 0; } -#define key_to_type_specific_der_priv_bio key_to_type_specific_der_bio -#define key_to_type_specific_der_pub_bio key_to_type_specific_der_bio -#define key_to_type_specific_der_param_bio key_to_type_specific_der_bio +/* static int key_to_type_specific_pem_bio_cb(BIO *out, const void *key, int key_nid, const char *pemname, key_to_paramstring_fn *p2s, @@ -1476,6 +1481,28 @@ static int key2any_encode(struct key2any_ctx_st *ctx, OSSL_CORE_BIO *cout, return ret; } +#define oqsx_type_specific_priv_to_der oqsx_epki_priv_to_der +#define oqsx_type_specific_pub_to_der oqsx_spki_pub_to_der +static int key_to_type_specific_der_priv_bio(BIO *out, const void *key, + int key_nid, + ossl_unused const char *pemname, + key_to_paramstring_fn *p2s, + i2d_of_void *k2d, + struct key2any_ctx_st *ctx) +{ + return key_to_type_specific_der_bio(out, key, key_nid, pemname, p2s, k2d, ctx); +} + +static int key_to_type_specific_der_pub_bio(BIO *out, const void *key, + int key_nid, + ossl_unused const char *pemname, + key_to_paramstring_fn *p2s, + i2d_of_void *k2d, + struct key2any_ctx_st *ctx) +{ + return key_to_spki_der_pub_bio(out, key, key_nid, pemname, p2s, k2d, ctx); +} + #define DO_PRIVATE_KEY_selection_mask OSSL_KEYMGMT_SELECT_PRIVATE_KEY #define DO_PRIVATE_KEY(impl, type, kind, output) \ if ((selection & DO_PRIVATE_KEY_selection_mask) != 0) \ @@ -2353,6 +2380,7 @@ MAKE_ENCODER(_ecp, p521_hqc256, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(_ecp, p521_hqc256); #endif /* OQS_KEM_ENCODERS */ +MAKE_ENCODER(, dilithium2, oqsx, type_specific_keypair, der); MAKE_ENCODER(, dilithium2, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, dilithium2, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, dilithium2, oqsx, PrivateKeyInfo, der); @@ -2360,6 +2388,7 @@ MAKE_ENCODER(, dilithium2, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, dilithium2, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, dilithium2, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, dilithium2); +MAKE_ENCODER(, p256_dilithium2, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_dilithium2, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_dilithium2, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_dilithium2, oqsx, PrivateKeyInfo, der); @@ -2367,6 +2396,7 @@ MAKE_ENCODER(, p256_dilithium2, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_dilithium2, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_dilithium2, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_dilithium2); +MAKE_ENCODER(, rsa3072_dilithium2, oqsx, type_specific_keypair, der); MAKE_ENCODER(, rsa3072_dilithium2, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_dilithium2, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_dilithium2, oqsx, PrivateKeyInfo, der); @@ -2374,6 +2404,7 @@ MAKE_ENCODER(, rsa3072_dilithium2, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_dilithium2); +MAKE_ENCODER(, dilithium3, oqsx, type_specific_keypair, der); MAKE_ENCODER(, dilithium3, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, dilithium3, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, dilithium3, oqsx, PrivateKeyInfo, der); @@ -2381,6 +2412,7 @@ MAKE_ENCODER(, dilithium3, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, dilithium3, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, dilithium3, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, dilithium3); +MAKE_ENCODER(, p384_dilithium3, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p384_dilithium3, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p384_dilithium3, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p384_dilithium3, oqsx, PrivateKeyInfo, der); @@ -2388,6 +2420,7 @@ MAKE_ENCODER(, p384_dilithium3, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p384_dilithium3, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p384_dilithium3, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p384_dilithium3); +MAKE_ENCODER(, dilithium5, oqsx, type_specific_keypair, der); MAKE_ENCODER(, dilithium5, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, dilithium5, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, dilithium5, oqsx, PrivateKeyInfo, der); @@ -2395,6 +2428,7 @@ MAKE_ENCODER(, dilithium5, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, dilithium5, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, dilithium5, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, dilithium5); +MAKE_ENCODER(, p521_dilithium5, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p521_dilithium5, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p521_dilithium5, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p521_dilithium5, oqsx, PrivateKeyInfo, der); @@ -2402,6 +2436,7 @@ MAKE_ENCODER(, p521_dilithium5, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p521_dilithium5, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p521_dilithium5, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p521_dilithium5); +MAKE_ENCODER(, mldsa44, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa44, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa44, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44, oqsx, PrivateKeyInfo, der); @@ -2409,6 +2444,7 @@ MAKE_ENCODER(, mldsa44, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa44, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa44); +MAKE_ENCODER(, p256_mldsa44, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_mldsa44, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_mldsa44, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_mldsa44, oqsx, PrivateKeyInfo, der); @@ -2416,6 +2452,7 @@ MAKE_ENCODER(, p256_mldsa44, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_mldsa44, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_mldsa44, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_mldsa44); +MAKE_ENCODER(, rsa3072_mldsa44, oqsx, type_specific_keypair, der); MAKE_ENCODER(, rsa3072_mldsa44, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_mldsa44, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_mldsa44, oqsx, PrivateKeyInfo, der); @@ -2423,6 +2460,7 @@ MAKE_ENCODER(, rsa3072_mldsa44, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_mldsa44, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_mldsa44, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_mldsa44); +MAKE_ENCODER(, mldsa44_pss2048, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa44_pss2048, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa44_pss2048, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_pss2048, oqsx, PrivateKeyInfo, der); @@ -2430,6 +2468,7 @@ MAKE_ENCODER(, mldsa44_pss2048, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_pss2048, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa44_pss2048, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa44_pss2048); +MAKE_ENCODER(, mldsa44_rsa2048, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa44_rsa2048, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa44_rsa2048, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_rsa2048, oqsx, PrivateKeyInfo, der); @@ -2437,6 +2476,7 @@ MAKE_ENCODER(, mldsa44_rsa2048, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_rsa2048, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa44_rsa2048, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa44_rsa2048); +MAKE_ENCODER(, mldsa44_ed25519, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa44_ed25519, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa44_ed25519, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_ed25519, oqsx, PrivateKeyInfo, der); @@ -2444,6 +2484,7 @@ MAKE_ENCODER(, mldsa44_ed25519, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_ed25519, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa44_ed25519, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa44_ed25519); +MAKE_ENCODER(, mldsa44_p256, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa44_p256, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa44_p256, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_p256, oqsx, PrivateKeyInfo, der); @@ -2451,6 +2492,7 @@ MAKE_ENCODER(, mldsa44_p256, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_p256, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa44_p256, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa44_p256); +MAKE_ENCODER(, mldsa44_bp256, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa44_bp256, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa44_bp256, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_bp256, oqsx, PrivateKeyInfo, der); @@ -2458,6 +2500,7 @@ MAKE_ENCODER(, mldsa44_bp256, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa44_bp256, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa44_bp256, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa44_bp256); +MAKE_ENCODER(, mldsa65, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa65, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa65, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65, oqsx, PrivateKeyInfo, der); @@ -2465,6 +2508,7 @@ MAKE_ENCODER(, mldsa65, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa65, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa65); +MAKE_ENCODER(, p384_mldsa65, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p384_mldsa65, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p384_mldsa65, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p384_mldsa65, oqsx, PrivateKeyInfo, der); @@ -2472,6 +2516,7 @@ MAKE_ENCODER(, p384_mldsa65, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p384_mldsa65, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p384_mldsa65, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p384_mldsa65); +MAKE_ENCODER(, mldsa65_pss3072, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa65_pss3072, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa65_pss3072, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_pss3072, oqsx, PrivateKeyInfo, der); @@ -2479,6 +2524,7 @@ MAKE_ENCODER(, mldsa65_pss3072, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_pss3072, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa65_pss3072, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa65_pss3072); +MAKE_ENCODER(, mldsa65_rsa3072, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa65_rsa3072, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa65_rsa3072, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_rsa3072, oqsx, PrivateKeyInfo, der); @@ -2486,6 +2532,7 @@ MAKE_ENCODER(, mldsa65_rsa3072, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_rsa3072, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa65_rsa3072, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa65_rsa3072); +MAKE_ENCODER(, mldsa65_p256, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa65_p256, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa65_p256, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_p256, oqsx, PrivateKeyInfo, der); @@ -2493,6 +2540,7 @@ MAKE_ENCODER(, mldsa65_p256, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_p256, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa65_p256, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa65_p256); +MAKE_ENCODER(, mldsa65_bp256, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa65_bp256, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa65_bp256, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_bp256, oqsx, PrivateKeyInfo, der); @@ -2500,6 +2548,7 @@ MAKE_ENCODER(, mldsa65_bp256, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_bp256, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa65_bp256, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa65_bp256); +MAKE_ENCODER(, mldsa65_ed25519, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa65_ed25519, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa65_ed25519, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_ed25519, oqsx, PrivateKeyInfo, der); @@ -2507,6 +2556,7 @@ MAKE_ENCODER(, mldsa65_ed25519, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa65_ed25519, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa65_ed25519, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa65_ed25519); +MAKE_ENCODER(, mldsa87, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa87, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa87, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa87, oqsx, PrivateKeyInfo, der); @@ -2514,6 +2564,7 @@ MAKE_ENCODER(, mldsa87, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa87, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa87, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa87); +MAKE_ENCODER(, p521_mldsa87, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p521_mldsa87, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p521_mldsa87, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p521_mldsa87, oqsx, PrivateKeyInfo, der); @@ -2521,6 +2572,7 @@ MAKE_ENCODER(, p521_mldsa87, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p521_mldsa87, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p521_mldsa87, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p521_mldsa87); +MAKE_ENCODER(, mldsa87_p384, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa87_p384, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa87_p384, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa87_p384, oqsx, PrivateKeyInfo, der); @@ -2528,6 +2580,7 @@ MAKE_ENCODER(, mldsa87_p384, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa87_p384, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa87_p384, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa87_p384); +MAKE_ENCODER(, mldsa87_bp384, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa87_bp384, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa87_bp384, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa87_bp384, oqsx, PrivateKeyInfo, der); @@ -2535,6 +2588,7 @@ MAKE_ENCODER(, mldsa87_bp384, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa87_bp384, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa87_bp384, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa87_bp384); +MAKE_ENCODER(, mldsa87_ed448, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mldsa87_ed448, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mldsa87_ed448, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mldsa87_ed448, oqsx, PrivateKeyInfo, der); @@ -2542,6 +2596,7 @@ MAKE_ENCODER(, mldsa87_ed448, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mldsa87_ed448, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mldsa87_ed448, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mldsa87_ed448); +MAKE_ENCODER(, falcon512, oqsx, type_specific_keypair, der); MAKE_ENCODER(, falcon512, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, falcon512, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, falcon512, oqsx, PrivateKeyInfo, der); @@ -2549,6 +2604,7 @@ MAKE_ENCODER(, falcon512, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, falcon512, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, falcon512, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, falcon512); +MAKE_ENCODER(, p256_falcon512, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_falcon512, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_falcon512, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_falcon512, oqsx, PrivateKeyInfo, der); @@ -2556,6 +2612,7 @@ MAKE_ENCODER(, p256_falcon512, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_falcon512, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_falcon512, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_falcon512); +MAKE_ENCODER(, rsa3072_falcon512, oqsx, type_specific_keypair, der); MAKE_ENCODER(, rsa3072_falcon512, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_falcon512, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_falcon512, oqsx, PrivateKeyInfo, der); @@ -2563,6 +2620,7 @@ MAKE_ENCODER(, rsa3072_falcon512, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_falcon512, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_falcon512, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_falcon512); +MAKE_ENCODER(, falconpadded512, oqsx, type_specific_keypair, der); MAKE_ENCODER(, falconpadded512, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, falconpadded512, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, falconpadded512, oqsx, PrivateKeyInfo, der); @@ -2570,6 +2628,7 @@ MAKE_ENCODER(, falconpadded512, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, falconpadded512, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, falconpadded512, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, falconpadded512); +MAKE_ENCODER(, p256_falconpadded512, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_falconpadded512, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_falconpadded512, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_falconpadded512, oqsx, PrivateKeyInfo, der); @@ -2577,6 +2636,7 @@ MAKE_ENCODER(, p256_falconpadded512, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_falconpadded512, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_falconpadded512, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_falconpadded512); +MAKE_ENCODER(, rsa3072_falconpadded512, oqsx, type_specific_keypair, der); MAKE_ENCODER(, rsa3072_falconpadded512, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_falconpadded512, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_falconpadded512, oqsx, PrivateKeyInfo, der); @@ -2584,6 +2644,7 @@ MAKE_ENCODER(, rsa3072_falconpadded512, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_falconpadded512, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_falconpadded512, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_falconpadded512); +MAKE_ENCODER(, falcon1024, oqsx, type_specific_keypair, der); MAKE_ENCODER(, falcon1024, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, falcon1024, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, falcon1024, oqsx, PrivateKeyInfo, der); @@ -2591,6 +2652,7 @@ MAKE_ENCODER(, falcon1024, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, falcon1024, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, falcon1024, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, falcon1024); +MAKE_ENCODER(, p521_falcon1024, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p521_falcon1024, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p521_falcon1024, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p521_falcon1024, oqsx, PrivateKeyInfo, der); @@ -2598,6 +2660,7 @@ MAKE_ENCODER(, p521_falcon1024, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p521_falcon1024, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p521_falcon1024, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p521_falcon1024); +MAKE_ENCODER(, falconpadded1024, oqsx, type_specific_keypair, der); MAKE_ENCODER(, falconpadded1024, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, falconpadded1024, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, falconpadded1024, oqsx, PrivateKeyInfo, der); @@ -2605,6 +2668,7 @@ MAKE_ENCODER(, falconpadded1024, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, falconpadded1024, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, falconpadded1024, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, falconpadded1024); +MAKE_ENCODER(, p521_falconpadded1024, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p521_falconpadded1024, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p521_falconpadded1024, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p521_falconpadded1024, oqsx, PrivateKeyInfo, der); @@ -2612,6 +2676,7 @@ MAKE_ENCODER(, p521_falconpadded1024, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p521_falconpadded1024, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p521_falconpadded1024, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p521_falconpadded1024); +MAKE_ENCODER(, sphincssha2128fsimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, sphincssha2128fsimple, oqsx, PrivateKeyInfo, der); @@ -2619,6 +2684,7 @@ MAKE_ENCODER(, sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, sphincssha2128fsimple); +MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo, der); @@ -2626,6 +2692,7 @@ MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128fsimple); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, @@ -2635,6 +2702,7 @@ MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_sphincssha2128fsimple); +MAKE_ENCODER(, sphincssha2128ssimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, sphincssha2128ssimple, oqsx, PrivateKeyInfo, der); @@ -2642,6 +2710,7 @@ MAKE_ENCODER(, sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, sphincssha2128ssimple); +MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo, der); @@ -2649,6 +2718,7 @@ MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128ssimple); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, @@ -2658,6 +2728,7 @@ MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_sphincssha2128ssimple); +MAKE_ENCODER(, sphincssha2192fsimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, sphincssha2192fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, sphincssha2192fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, sphincssha2192fsimple, oqsx, PrivateKeyInfo, der); @@ -2665,6 +2736,7 @@ MAKE_ENCODER(, sphincssha2192fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, sphincssha2192fsimple); +MAKE_ENCODER(, p384_sphincssha2192fsimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p384_sphincssha2192fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p384_sphincssha2192fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p384_sphincssha2192fsimple, oqsx, PrivateKeyInfo, der); @@ -2672,6 +2744,7 @@ MAKE_ENCODER(, p384_sphincssha2192fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p384_sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p384_sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p384_sphincssha2192fsimple); +MAKE_ENCODER(, sphincsshake128fsimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, sphincsshake128fsimple, oqsx, PrivateKeyInfo, der); @@ -2679,6 +2752,7 @@ MAKE_ENCODER(, sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, sphincsshake128fsimple); +MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo, der); @@ -2686,6 +2760,7 @@ MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincsshake128fsimple); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, type_specific_keypair, der); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, @@ -2695,6 +2770,7 @@ MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_sphincsshake128fsimple); +MAKE_ENCODER(, mayo1, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mayo1, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mayo1, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mayo1, oqsx, PrivateKeyInfo, der); @@ -2702,6 +2778,7 @@ MAKE_ENCODER(, mayo1, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mayo1, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mayo1, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mayo1); +MAKE_ENCODER(, p256_mayo1, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_mayo1, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_mayo1, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_mayo1, oqsx, PrivateKeyInfo, der); @@ -2709,6 +2786,7 @@ MAKE_ENCODER(, p256_mayo1, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_mayo1, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_mayo1, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_mayo1); +MAKE_ENCODER(, mayo2, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mayo2, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mayo2, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mayo2, oqsx, PrivateKeyInfo, der); @@ -2716,6 +2794,7 @@ MAKE_ENCODER(, mayo2, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mayo2, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mayo2, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mayo2); +MAKE_ENCODER(, p256_mayo2, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p256_mayo2, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p256_mayo2, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p256_mayo2, oqsx, PrivateKeyInfo, der); @@ -2723,6 +2802,7 @@ MAKE_ENCODER(, p256_mayo2, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_mayo2, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_mayo2, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_mayo2); +MAKE_ENCODER(, mayo3, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mayo3, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mayo3, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mayo3, oqsx, PrivateKeyInfo, der); @@ -2730,6 +2810,7 @@ MAKE_ENCODER(, mayo3, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mayo3, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mayo3, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mayo3); +MAKE_ENCODER(, p384_mayo3, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p384_mayo3, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p384_mayo3, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p384_mayo3, oqsx, PrivateKeyInfo, der); @@ -2737,6 +2818,7 @@ MAKE_ENCODER(, p384_mayo3, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p384_mayo3, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p384_mayo3, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p384_mayo3); +MAKE_ENCODER(, mayo5, oqsx, type_specific_keypair, der); MAKE_ENCODER(, mayo5, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, mayo5, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, mayo5, oqsx, PrivateKeyInfo, der); @@ -2744,6 +2826,7 @@ MAKE_ENCODER(, mayo5, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, mayo5, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, mayo5, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, mayo5); +MAKE_ENCODER(, p521_mayo5, oqsx, type_specific_keypair, der); MAKE_ENCODER(, p521_mayo5, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, p521_mayo5, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, p521_mayo5, oqsx, PrivateKeyInfo, der); @@ -2751,6 +2834,7 @@ MAKE_ENCODER(, p521_mayo5, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p521_mayo5, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p521_mayo5, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p521_mayo5); +MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, type_specific_keypair, der); MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, PrivateKeyInfo, der); diff --git a/oqsprov/oqs_prov.h b/oqsprov/oqs_prov.h index 33d74350..d57e3f1c 100644 --- a/oqsprov/oqs_prov.h +++ b/oqsprov/oqs_prov.h @@ -4,6 +4,7 @@ * Main oqsprovider header file * * Code strongly inspired by OpenSSL crypto/ecx key handler. + * Copyright (c) [2024,] 2024, Oracle and/or its affiliates. All rights reserved. * */ @@ -1148,6 +1149,8 @@ extern const OSSL_DISPATCH #endif /* OQS_KEM_ENCODERS */ +extern const OSSL_DISPATCH + oqs_dilithium2_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1161,10 +1164,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_dilithium2_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1178,10 +1185,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_dilithium2_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_dilithium2_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1195,10 +1206,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_rsa3072_dilithium2_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1212,10 +1227,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_dilithium3_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1229,10 +1248,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_dilithium3_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p384_dilithium3_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1246,10 +1269,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_dilithium5_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1263,10 +1290,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_dilithium5_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p521_dilithium5_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1280,10 +1311,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa44_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mldsa44_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1297,10 +1332,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p256_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mldsa44_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_mldsa44_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_mldsa44_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_mldsa44_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1314,10 +1353,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_rsa3072_mldsa44_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_mldsa44_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_pss2048_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1331,10 +1374,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa44_pss2048_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_pss2048_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_pss2048_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_rsa2048_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1348,10 +1395,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa44_rsa2048_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_rsa2048_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_rsa2048_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_ed25519_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1365,10 +1416,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa44_ed25519_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_ed25519_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_ed25519_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_p256_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_p256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1382,10 +1437,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa44_p256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_p256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa44_p256_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_p256_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_p256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_bp256_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1399,10 +1458,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa44_bp256_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_bp256_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_bp256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1416,10 +1479,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa65_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa65_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mldsa65_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_mldsa65_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1433,10 +1500,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p384_mldsa65_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_mldsa65_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p384_mldsa65_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_mldsa65_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_mldsa65_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_pss3072_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1450,10 +1521,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa65_pss3072_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_pss3072_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_pss3072_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_rsa3072_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1467,10 +1542,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa65_rsa3072_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_rsa3072_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_rsa3072_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_p256_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_p256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1484,10 +1563,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa65_p256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_p256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa65_p256_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_p256_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_p256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_bp256_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1501,10 +1584,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa65_bp256_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_bp256_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_bp256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_ed25519_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1518,10 +1605,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa65_ed25519_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_ed25519_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_ed25519_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1535,10 +1626,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa87_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa87_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa87_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa87_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mldsa87_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_mldsa87_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1552,10 +1647,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p521_mldsa87_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_mldsa87_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p521_mldsa87_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_mldsa87_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_mldsa87_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_p384_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_p384_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1569,10 +1668,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa87_p384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_p384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa87_p384_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa87_p384_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa87_p384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_bp384_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1586,10 +1689,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa87_bp384_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa87_bp384_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa87_bp384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_ed448_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1603,10 +1710,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mldsa87_ed448_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa87_ed448_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa87_ed448_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1620,10 +1731,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_falcon512_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1637,10 +1752,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falcon512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_falcon512_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1654,10 +1773,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_rsa3072_falcon512_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded512_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1671,10 +1794,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falconpadded512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_falconpadded512_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falconpadded512_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falconpadded512_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1688,10 +1815,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_falconpadded512_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_falconpadded512_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falconpadded512_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1708,10 +1839,14 @@ extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_rsa3072_falconpadded512_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_falconpadded512_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1725,10 +1860,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_falcon1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1742,10 +1881,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falcon1024_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p521_falcon1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded1024_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_falconpadded1024_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1759,10 +1902,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_falconpadded1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falconpadded1024_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_falconpadded1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falconpadded1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falconpadded1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falconpadded1024_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1779,10 +1926,14 @@ extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p521_falconpadded1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_falconpadded1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_falconpadded1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1799,10 +1950,14 @@ extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_sphincssha2128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1821,11 +1976,15 @@ extern const OSSL_DISPATCH []; extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_sphincssha2128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1844,11 +2003,15 @@ extern const OSSL_DISPATCH []; extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1865,10 +2028,14 @@ extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_sphincssha2128ssimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1887,11 +2054,15 @@ extern const OSSL_DISPATCH []; extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_sphincssha2128ssimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1910,11 +2081,15 @@ extern const OSSL_DISPATCH []; extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1931,10 +2106,14 @@ extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_sphincssha2192fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1953,11 +2132,15 @@ extern const OSSL_DISPATCH []; extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p384_sphincssha2192fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1974,10 +2157,14 @@ extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_sphincsshake128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -1996,11 +2183,15 @@ extern const OSSL_DISPATCH []; extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_sphincsshake128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions []; @@ -2021,12 +2212,16 @@ extern const OSSL_DISPATCH []; extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions []; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions []; +extern const OSSL_DISPATCH + oqs_mayo1_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo1_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo1_to_PrivateKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH @@ -2038,9 +2233,13 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mayo1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo1_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mayo1_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo1_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mayo1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo1_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mayo1_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -2054,10 +2253,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p256_mayo1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mayo1_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_mayo1_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_mayo1_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_mayo1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo2_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo2_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo2_to_PrivateKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH @@ -2069,9 +2272,13 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mayo2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo2_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mayo2_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo2_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mayo2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo2_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mayo2_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -2085,10 +2292,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p256_mayo2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mayo2_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p256_mayo2_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_mayo2_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_mayo2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo3_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo3_to_PrivateKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH @@ -2100,9 +2311,13 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mayo3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo3_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mayo3_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo3_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mayo3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mayo3_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_mayo3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -2116,10 +2331,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p384_mayo3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_mayo3_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p384_mayo3_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_mayo3_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_mayo3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo5_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo5_to_PrivateKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH @@ -2131,9 +2350,13 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_mayo5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo5_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_mayo5_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo5_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mayo5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mayo5_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_mayo5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -2147,10 +2370,14 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_p521_mayo5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_mayo5_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_p521_mayo5_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_mayo5_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_mayo5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_CROSSrsdp128balanced_to_type_specific_keypair_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_CROSSrsdp128balanced_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH @@ -2164,6 +2391,8 @@ extern const OSSL_DISPATCH extern const OSSL_DISPATCH oqs_CROSSrsdp128balanced_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_CROSSrsdp128balanced_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_type_specific_keypair_der_to_CROSSrsdp128balanced_decoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_CROSSrsdp128balanced_decoder_functions[]; extern const OSSL_DISPATCH diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc index cd0403de..2cb0c230 100644 --- a/oqsprov/oqsdecoders.inc +++ b/oqsprov/oqsdecoders.inc @@ -4,6 +4,7 @@ * OQS OpenSSL 3 provider decoders * * Code strongly inspired by OpenSSL default provider. + * Copyright (c) [2024,] 2024, Oracle and/or its affiliates. All rights reserved. * */ @@ -166,116 +167,211 @@ DECODER_w_structure("p521_hqc256", der, SubjectPublicKeyInfo, p521_hqc256), #ifdef OQS_ENABLE_SIG_dilithium_2 +DECODER_w_structure("dilithium2", der, type_specific_keypair, dilithium2), DECODER_w_structure("dilithium2", der, PrivateKeyInfo, dilithium2), -DECODER_w_structure("dilithium2", der, SubjectPublicKeyInfo, dilithium2),DECODER_w_structure("p256_dilithium2", der, PrivateKeyInfo, p256_dilithium2), -DECODER_w_structure("p256_dilithium2", der, SubjectPublicKeyInfo, p256_dilithium2),DECODER_w_structure("rsa3072_dilithium2", der, PrivateKeyInfo, rsa3072_dilithium2), +DECODER_w_structure("dilithium2", der, SubjectPublicKeyInfo, dilithium2), +DECODER_w_structure("p256_dilithium2", der, type_specific_keypair, p256_dilithium2), +DECODER_w_structure("p256_dilithium2", der, PrivateKeyInfo, p256_dilithium2), +DECODER_w_structure("p256_dilithium2", der, SubjectPublicKeyInfo, p256_dilithium2), +DECODER_w_structure("rsa3072_dilithium2", der, PrivateKeyInfo, rsa3072_dilithium2), +DECODER_w_structure("rsa3072_dilithium2", der, type_specific_keypair, rsa3072_dilithium2), DECODER_w_structure("rsa3072_dilithium2", der, SubjectPublicKeyInfo, rsa3072_dilithium2), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 +DECODER_w_structure("dilithium3", der, type_specific_keypair, dilithium3), DECODER_w_structure("dilithium3", der, PrivateKeyInfo, dilithium3), -DECODER_w_structure("dilithium3", der, SubjectPublicKeyInfo, dilithium3),DECODER_w_structure("p384_dilithium3", der, PrivateKeyInfo, p384_dilithium3), +DECODER_w_structure("dilithium3", der, SubjectPublicKeyInfo, dilithium3), +DECODER_w_structure("p384_dilithium3", der, type_specific_keypair, p384_dilithium3), +DECODER_w_structure("p384_dilithium3", der, PrivateKeyInfo, p384_dilithium3), DECODER_w_structure("p384_dilithium3", der, SubjectPublicKeyInfo, p384_dilithium3), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 +DECODER_w_structure("dilithium5", der, type_specific_keypair, dilithium5), DECODER_w_structure("dilithium5", der, PrivateKeyInfo, dilithium5), -DECODER_w_structure("dilithium5", der, SubjectPublicKeyInfo, dilithium5),DECODER_w_structure("p521_dilithium5", der, PrivateKeyInfo, p521_dilithium5), +DECODER_w_structure("dilithium5", der, SubjectPublicKeyInfo, dilithium5), +DECODER_w_structure("p521_dilithium5", der, type_specific_keypair, p521_dilithium5), +DECODER_w_structure("p521_dilithium5", der, PrivateKeyInfo, p521_dilithium5), DECODER_w_structure("p521_dilithium5", der, SubjectPublicKeyInfo, p521_dilithium5), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_44 +DECODER_w_structure("mldsa44", der, type_specific_keypair, mldsa44), DECODER_w_structure("mldsa44", der, PrivateKeyInfo, mldsa44), -DECODER_w_structure("mldsa44", der, SubjectPublicKeyInfo, mldsa44),DECODER_w_structure("p256_mldsa44", der, PrivateKeyInfo, p256_mldsa44), -DECODER_w_structure("p256_mldsa44", der, SubjectPublicKeyInfo, p256_mldsa44),DECODER_w_structure("rsa3072_mldsa44", der, PrivateKeyInfo, rsa3072_mldsa44), -DECODER_w_structure("rsa3072_mldsa44", der, SubjectPublicKeyInfo, rsa3072_mldsa44),DECODER_w_structure("mldsa44_pss2048", der, PrivateKeyInfo, mldsa44_pss2048), -DECODER_w_structure("mldsa44_pss2048", der, SubjectPublicKeyInfo, mldsa44_pss2048),DECODER_w_structure("mldsa44_rsa2048", der, PrivateKeyInfo, mldsa44_rsa2048), -DECODER_w_structure("mldsa44_rsa2048", der, SubjectPublicKeyInfo, mldsa44_rsa2048),DECODER_w_structure("mldsa44_ed25519", der, PrivateKeyInfo, mldsa44_ed25519), -DECODER_w_structure("mldsa44_ed25519", der, SubjectPublicKeyInfo, mldsa44_ed25519),DECODER_w_structure("mldsa44_p256", der, PrivateKeyInfo, mldsa44_p256), -DECODER_w_structure("mldsa44_p256", der, SubjectPublicKeyInfo, mldsa44_p256),DECODER_w_structure("mldsa44_bp256", der, PrivateKeyInfo, mldsa44_bp256), +DECODER_w_structure("mldsa44", der, SubjectPublicKeyInfo, mldsa44), +DECODER_w_structure("p256_mldsa44", der, type_specific_keypair, p256_mldsa44), +DECODER_w_structure("p256_mldsa44", der, PrivateKeyInfo, p256_mldsa44), +DECODER_w_structure("p256_mldsa44", der, SubjectPublicKeyInfo, p256_mldsa44), +DECODER_w_structure("rsa3072_mldsa44", der, type_specific_keypair, rsa3072_mldsa44), +DECODER_w_structure("rsa3072_mldsa44", der, PrivateKeyInfo, rsa3072_mldsa44), +DECODER_w_structure("rsa3072_mldsa44", der, SubjectPublicKeyInfo, rsa3072_mldsa44), +DECODER_w_structure("mldsa44_pss2048", der, type_specific_keypair, mldsa44_pss2048), +DECODER_w_structure("mldsa44_pss2048", der, PrivateKeyInfo, mldsa44_pss2048), +DECODER_w_structure("mldsa44_pss2048", der, SubjectPublicKeyInfo, mldsa44_pss2048), +DECODER_w_structure("mldsa44_rsa2048", der, type_specific_keypair, mldsa44_rsa2048), +DECODER_w_structure("mldsa44_rsa2048", der, PrivateKeyInfo, mldsa44_rsa2048), +DECODER_w_structure("mldsa44_rsa2048", der, SubjectPublicKeyInfo, mldsa44_rsa2048), +DECODER_w_structure("mldsa44_ed25519", der, type_specific_keypair, mldsa44_ed25519), +DECODER_w_structure("mldsa44_ed25519", der, PrivateKeyInfo, mldsa44_ed25519), +DECODER_w_structure("mldsa44_ed25519", der, SubjectPublicKeyInfo, mldsa44_ed25519), +DECODER_w_structure("mldsa44_p256", der, type_specific_keypair, mldsa44_p256), +DECODER_w_structure("mldsa44_p256", der, PrivateKeyInfo, mldsa44_p256), +DECODER_w_structure("mldsa44_p256", der, SubjectPublicKeyInfo, mldsa44_p256), +DECODER_w_structure("mldsa44_bp256", der, type_specific_keypair, mldsa44_bp256), +DECODER_w_structure("mldsa44_bp256", der, PrivateKeyInfo, mldsa44_bp256), DECODER_w_structure("mldsa44_bp256", der, SubjectPublicKeyInfo, mldsa44_bp256), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_65 +DECODER_w_structure("mldsa65", der, type_specific_keypair, mldsa65), DECODER_w_structure("mldsa65", der, PrivateKeyInfo, mldsa65), -DECODER_w_structure("mldsa65", der, SubjectPublicKeyInfo, mldsa65),DECODER_w_structure("p384_mldsa65", der, PrivateKeyInfo, p384_mldsa65), -DECODER_w_structure("p384_mldsa65", der, SubjectPublicKeyInfo, p384_mldsa65),DECODER_w_structure("mldsa65_pss3072", der, PrivateKeyInfo, mldsa65_pss3072), -DECODER_w_structure("mldsa65_pss3072", der, SubjectPublicKeyInfo, mldsa65_pss3072),DECODER_w_structure("mldsa65_rsa3072", der, PrivateKeyInfo, mldsa65_rsa3072), -DECODER_w_structure("mldsa65_rsa3072", der, SubjectPublicKeyInfo, mldsa65_rsa3072),DECODER_w_structure("mldsa65_p256", der, PrivateKeyInfo, mldsa65_p256), -DECODER_w_structure("mldsa65_p256", der, SubjectPublicKeyInfo, mldsa65_p256),DECODER_w_structure("mldsa65_bp256", der, PrivateKeyInfo, mldsa65_bp256), -DECODER_w_structure("mldsa65_bp256", der, SubjectPublicKeyInfo, mldsa65_bp256),DECODER_w_structure("mldsa65_ed25519", der, PrivateKeyInfo, mldsa65_ed25519), +DECODER_w_structure("mldsa65", der, SubjectPublicKeyInfo, mldsa65), +DECODER_w_structure("p384_mldsa65", der, type_specific_keypair, p384_mldsa65), +DECODER_w_structure("p384_mldsa65", der, PrivateKeyInfo, p384_mldsa65), +DECODER_w_structure("p384_mldsa65", der, SubjectPublicKeyInfo, p384_mldsa65), +DECODER_w_structure("mldsa65_pss3072", der, type_specific_keypair, mldsa65_pss3072), +DECODER_w_structure("mldsa65_pss3072", der, PrivateKeyInfo, mldsa65_pss3072), +DECODER_w_structure("mldsa65_pss3072", der, SubjectPublicKeyInfo, mldsa65_pss3072), +DECODER_w_structure("mldsa65_rsa3072", der, type_specific_keypair, mldsa65_rsa3072), +DECODER_w_structure("mldsa65_rsa3072", der, PrivateKeyInfo, mldsa65_rsa3072), +DECODER_w_structure("mldsa65_rsa3072", der, SubjectPublicKeyInfo, mldsa65_rsa3072), +DECODER_w_structure("mldsa65_p256", der, type_specific_keypair, mldsa65_p256), +DECODER_w_structure("mldsa65_p256", der, PrivateKeyInfo, mldsa65_p256), +DECODER_w_structure("mldsa65_p256", der, SubjectPublicKeyInfo, mldsa65_p256), +DECODER_w_structure("mldsa65_bp256", der, type_specific_keypair, mldsa65_bp256), +DECODER_w_structure("mldsa65_bp256", der, PrivateKeyInfo, mldsa65_bp256), +DECODER_w_structure("mldsa65_bp256", der, SubjectPublicKeyInfo, mldsa65_bp256), +DECODER_w_structure("mldsa65_ed25519", der, type_specific_keypair, mldsa65_ed25519), +DECODER_w_structure("mldsa65_ed25519", der, PrivateKeyInfo, mldsa65_ed25519), DECODER_w_structure("mldsa65_ed25519", der, SubjectPublicKeyInfo, mldsa65_ed25519), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_87 +DECODER_w_structure("mldsa87", der, type_specific_keypair, mldsa87), DECODER_w_structure("mldsa87", der, PrivateKeyInfo, mldsa87), -DECODER_w_structure("mldsa87", der, SubjectPublicKeyInfo, mldsa87),DECODER_w_structure("p521_mldsa87", der, PrivateKeyInfo, p521_mldsa87), -DECODER_w_structure("p521_mldsa87", der, SubjectPublicKeyInfo, p521_mldsa87),DECODER_w_structure("mldsa87_p384", der, PrivateKeyInfo, mldsa87_p384), -DECODER_w_structure("mldsa87_p384", der, SubjectPublicKeyInfo, mldsa87_p384),DECODER_w_structure("mldsa87_bp384", der, PrivateKeyInfo, mldsa87_bp384), -DECODER_w_structure("mldsa87_bp384", der, SubjectPublicKeyInfo, mldsa87_bp384),DECODER_w_structure("mldsa87_ed448", der, PrivateKeyInfo, mldsa87_ed448), +DECODER_w_structure("mldsa87", der, SubjectPublicKeyInfo, mldsa87), +DECODER_w_structure("p521_mldsa87", der, type_specific_keypair, p521_mldsa87), +DECODER_w_structure("p521_mldsa87", der, PrivateKeyInfo, p521_mldsa87), +DECODER_w_structure("p521_mldsa87", der, SubjectPublicKeyInfo, p521_mldsa87), +DECODER_w_structure("mldsa87_p384", der, type_specific_keypair, mldsa87_p384), +DECODER_w_structure("mldsa87_p384", der, PrivateKeyInfo, mldsa87_p384), +DECODER_w_structure("mldsa87_p384", der, SubjectPublicKeyInfo, mldsa87_p384), +DECODER_w_structure("mldsa87_bp384", der, type_specific_keypair, mldsa87_bp384), +DECODER_w_structure("mldsa87_bp384", der, PrivateKeyInfo, mldsa87_bp384), +DECODER_w_structure("mldsa87_bp384", der, SubjectPublicKeyInfo, mldsa87_bp384), +DECODER_w_structure("mldsa87_ed448", der, type_specific_keypair, mldsa87_ed448), +DECODER_w_structure("mldsa87_ed448", der, PrivateKeyInfo, mldsa87_ed448), DECODER_w_structure("mldsa87_ed448", der, SubjectPublicKeyInfo, mldsa87_ed448), #endif #ifdef OQS_ENABLE_SIG_falcon_512 +DECODER_w_structure("falcon512", der, type_specific_keypair, falcon512), DECODER_w_structure("falcon512", der, PrivateKeyInfo, falcon512), -DECODER_w_structure("falcon512", der, SubjectPublicKeyInfo, falcon512),DECODER_w_structure("p256_falcon512", der, PrivateKeyInfo, p256_falcon512), -DECODER_w_structure("p256_falcon512", der, SubjectPublicKeyInfo, p256_falcon512),DECODER_w_structure("rsa3072_falcon512", der, PrivateKeyInfo, rsa3072_falcon512), +DECODER_w_structure("falcon512", der, SubjectPublicKeyInfo, falcon512), +DECODER_w_structure("p256_falcon512", der, type_specific_keypair, p256_falcon512), +DECODER_w_structure("p256_falcon512", der, PrivateKeyInfo, p256_falcon512), +DECODER_w_structure("p256_falcon512", der, SubjectPublicKeyInfo, p256_falcon512), +DECODER_w_structure("rsa3072_falcon512", der, type_specific_keypair, rsa3072_falcon512), +DECODER_w_structure("rsa3072_falcon512", der, PrivateKeyInfo, rsa3072_falcon512), DECODER_w_structure("rsa3072_falcon512", der, SubjectPublicKeyInfo, rsa3072_falcon512), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_512 +DECODER_w_structure("falconpadded512", der, type_specific_keypair, falconpadded512), DECODER_w_structure("falconpadded512", der, PrivateKeyInfo, falconpadded512), -DECODER_w_structure("falconpadded512", der, SubjectPublicKeyInfo, falconpadded512),DECODER_w_structure("p256_falconpadded512", der, PrivateKeyInfo, p256_falconpadded512), -DECODER_w_structure("p256_falconpadded512", der, SubjectPublicKeyInfo, p256_falconpadded512),DECODER_w_structure("rsa3072_falconpadded512", der, PrivateKeyInfo, rsa3072_falconpadded512), +DECODER_w_structure("falconpadded512", der, SubjectPublicKeyInfo, falconpadded512), +DECODER_w_structure("p256_falconpadded512", der, type_specific_keypair, p256_falconpadded512), +DECODER_w_structure("p256_falconpadded512", der, PrivateKeyInfo, p256_falconpadded512), +DECODER_w_structure("p256_falconpadded512", der, SubjectPublicKeyInfo, p256_falconpadded512), +DECODER_w_structure("rsa3072_falconpadded512", der, type_specific_keypair, rsa3072_falconpadded512), +DECODER_w_structure("rsa3072_falconpadded512", der, PrivateKeyInfo, rsa3072_falconpadded512), DECODER_w_structure("rsa3072_falconpadded512", der, SubjectPublicKeyInfo, rsa3072_falconpadded512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 +DECODER_w_structure("falcon1024", der, type_specific_keypair, falcon1024), DECODER_w_structure("falcon1024", der, PrivateKeyInfo, falcon1024), -DECODER_w_structure("falcon1024", der, SubjectPublicKeyInfo, falcon1024),DECODER_w_structure("p521_falcon1024", der, PrivateKeyInfo, p521_falcon1024), +DECODER_w_structure("falcon1024", der, SubjectPublicKeyInfo, falcon1024), +DECODER_w_structure("p521_falcon1024", der, type_specific_keypair, p521_falcon1024), +DECODER_w_structure("p521_falcon1024", der, PrivateKeyInfo, p521_falcon1024), DECODER_w_structure("p521_falcon1024", der, SubjectPublicKeyInfo, p521_falcon1024), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_1024 +DECODER_w_structure("falconpadded1024", der, type_specific_keypair, falconpadded1024), DECODER_w_structure("falconpadded1024", der, PrivateKeyInfo, falconpadded1024), -DECODER_w_structure("falconpadded1024", der, SubjectPublicKeyInfo, falconpadded1024),DECODER_w_structure("p521_falconpadded1024", der, PrivateKeyInfo, p521_falconpadded1024), +DECODER_w_structure("falconpadded1024", der, SubjectPublicKeyInfo, falconpadded1024), +DECODER_w_structure("p521_falconpadded1024", der, type_specific_keypair, p521_falconpadded1024), +DECODER_w_structure("p521_falconpadded1024", der, PrivateKeyInfo, p521_falconpadded1024), DECODER_w_structure("p521_falconpadded1024", der, SubjectPublicKeyInfo, p521_falconpadded1024), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple +DECODER_w_structure("sphincssha2128fsimple", der, type_specific_keypair, sphincssha2128fsimple), DECODER_w_structure("sphincssha2128fsimple", der, PrivateKeyInfo, sphincssha2128fsimple), -DECODER_w_structure("sphincssha2128fsimple", der, SubjectPublicKeyInfo, sphincssha2128fsimple),DECODER_w_structure("p256_sphincssha2128fsimple", der, PrivateKeyInfo, p256_sphincssha2128fsimple), -DECODER_w_structure("p256_sphincssha2128fsimple", der, SubjectPublicKeyInfo, p256_sphincssha2128fsimple),DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, PrivateKeyInfo, rsa3072_sphincssha2128fsimple), +DECODER_w_structure("sphincssha2128fsimple", der, SubjectPublicKeyInfo, sphincssha2128fsimple), +DECODER_w_structure("p256_sphincssha2128fsimple", der, type_specific_keypair, p256_sphincssha2128fsimple), +DECODER_w_structure("p256_sphincssha2128fsimple", der, PrivateKeyInfo, p256_sphincssha2128fsimple), +DECODER_w_structure("p256_sphincssha2128fsimple", der, SubjectPublicKeyInfo, p256_sphincssha2128fsimple), +DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, type_specific_keypair, rsa3072_sphincssha2128fsimple), +DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, PrivateKeyInfo, rsa3072_sphincssha2128fsimple), DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, SubjectPublicKeyInfo, rsa3072_sphincssha2128fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple +DECODER_w_structure("sphincssha2128ssimple", der, type_specific_keypair, sphincssha2128ssimple), DECODER_w_structure("sphincssha2128ssimple", der, PrivateKeyInfo, sphincssha2128ssimple), -DECODER_w_structure("sphincssha2128ssimple", der, SubjectPublicKeyInfo, sphincssha2128ssimple),DECODER_w_structure("p256_sphincssha2128ssimple", der, PrivateKeyInfo, p256_sphincssha2128ssimple), -DECODER_w_structure("p256_sphincssha2128ssimple", der, SubjectPublicKeyInfo, p256_sphincssha2128ssimple),DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, PrivateKeyInfo, rsa3072_sphincssha2128ssimple), +DECODER_w_structure("sphincssha2128ssimple", der, SubjectPublicKeyInfo, sphincssha2128ssimple), +DECODER_w_structure("p256_sphincssha2128ssimple", der, type_specific_keypair, p256_sphincssha2128ssimple), +DECODER_w_structure("p256_sphincssha2128ssimple", der, PrivateKeyInfo, p256_sphincssha2128ssimple), +DECODER_w_structure("p256_sphincssha2128ssimple", der, SubjectPublicKeyInfo, p256_sphincssha2128ssimple), +DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, type_specific_keypair, rsa3072_sphincssha2128ssimple), +DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, PrivateKeyInfo, rsa3072_sphincssha2128ssimple), DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, SubjectPublicKeyInfo, rsa3072_sphincssha2128ssimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple +DECODER_w_structure("sphincssha2192fsimple", der, type_specific_keypair, sphincssha2192fsimple), DECODER_w_structure("sphincssha2192fsimple", der, PrivateKeyInfo, sphincssha2192fsimple), -DECODER_w_structure("sphincssha2192fsimple", der, SubjectPublicKeyInfo, sphincssha2192fsimple),DECODER_w_structure("p384_sphincssha2192fsimple", der, PrivateKeyInfo, p384_sphincssha2192fsimple), +DECODER_w_structure("sphincssha2192fsimple", der, SubjectPublicKeyInfo, sphincssha2192fsimple), +DECODER_w_structure("p384_sphincssha2192fsimple", der, type_specific_keypair, p384_sphincssha2192fsimple), +DECODER_w_structure("p384_sphincssha2192fsimple", der, PrivateKeyInfo, p384_sphincssha2192fsimple), DECODER_w_structure("p384_sphincssha2192fsimple", der, SubjectPublicKeyInfo, p384_sphincssha2192fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple +DECODER_w_structure("sphincsshake128fsimple", der, type_specific_keypair, sphincsshake128fsimple), DECODER_w_structure("sphincsshake128fsimple", der, PrivateKeyInfo, sphincsshake128fsimple), -DECODER_w_structure("sphincsshake128fsimple", der, SubjectPublicKeyInfo, sphincsshake128fsimple),DECODER_w_structure("p256_sphincsshake128fsimple", der, PrivateKeyInfo, p256_sphincsshake128fsimple), -DECODER_w_structure("p256_sphincsshake128fsimple", der, SubjectPublicKeyInfo, p256_sphincsshake128fsimple),DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, PrivateKeyInfo, rsa3072_sphincsshake128fsimple), +DECODER_w_structure("sphincsshake128fsimple", der, SubjectPublicKeyInfo, sphincsshake128fsimple), +DECODER_w_structure("p256_sphincsshake128fsimple", der, type_specific_keypair, p256_sphincsshake128fsimple), +DECODER_w_structure("p256_sphincsshake128fsimple", der, PrivateKeyInfo, p256_sphincsshake128fsimple), +DECODER_w_structure("p256_sphincsshake128fsimple", der, SubjectPublicKeyInfo, p256_sphincsshake128fsimple), +DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, type_specific_keypair, rsa3072_sphincsshake128fsimple), +DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, PrivateKeyInfo, rsa3072_sphincsshake128fsimple), DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, SubjectPublicKeyInfo, rsa3072_sphincsshake128fsimple), #endif #ifdef OQS_ENABLE_SIG_mayo_1 +DECODER_w_structure("mayo1", der, type_specific_keypair, mayo1), DECODER_w_structure("mayo1", der, PrivateKeyInfo, mayo1), -DECODER_w_structure("mayo1", der, SubjectPublicKeyInfo, mayo1),DECODER_w_structure("p256_mayo1", der, PrivateKeyInfo, p256_mayo1), +DECODER_w_structure("mayo1", der, SubjectPublicKeyInfo, mayo1), +DECODER_w_structure("p256_mayo1", der, type_specific_keypair, p256_mayo1), +DECODER_w_structure("p256_mayo1", der, PrivateKeyInfo, p256_mayo1), DECODER_w_structure("p256_mayo1", der, SubjectPublicKeyInfo, p256_mayo1), #endif #ifdef OQS_ENABLE_SIG_mayo_2 +DECODER_w_structure("mayo2", der, type_specific_keypair, mayo2), DECODER_w_structure("mayo2", der, PrivateKeyInfo, mayo2), -DECODER_w_structure("mayo2", der, SubjectPublicKeyInfo, mayo2),DECODER_w_structure("p256_mayo2", der, PrivateKeyInfo, p256_mayo2), +DECODER_w_structure("mayo2", der, SubjectPublicKeyInfo, mayo2), +DECODER_w_structure("p256_mayo2", der, type_specific_keypair, p256_mayo2), +DECODER_w_structure("p256_mayo2", der, PrivateKeyInfo, p256_mayo2), DECODER_w_structure("p256_mayo2", der, SubjectPublicKeyInfo, p256_mayo2), #endif #ifdef OQS_ENABLE_SIG_mayo_3 +DECODER_w_structure("mayo3", der, type_specific_keypair, mayo3), DECODER_w_structure("mayo3", der, PrivateKeyInfo, mayo3), -DECODER_w_structure("mayo3", der, SubjectPublicKeyInfo, mayo3),DECODER_w_structure("p384_mayo3", der, PrivateKeyInfo, p384_mayo3), +DECODER_w_structure("mayo3", der, SubjectPublicKeyInfo, mayo3), +DECODER_w_structure("p384_mayo3", der, type_specific_keypair, p384_mayo3), +DECODER_w_structure("p384_mayo3", der, PrivateKeyInfo, p384_mayo3), DECODER_w_structure("p384_mayo3", der, SubjectPublicKeyInfo, p384_mayo3), #endif #ifdef OQS_ENABLE_SIG_mayo_5 +DECODER_w_structure("mayo5", der, type_specific_keypair, mayo5), DECODER_w_structure("mayo5", der, PrivateKeyInfo, mayo5), -DECODER_w_structure("mayo5", der, SubjectPublicKeyInfo, mayo5),DECODER_w_structure("p521_mayo5", der, PrivateKeyInfo, p521_mayo5), +DECODER_w_structure("mayo5", der, SubjectPublicKeyInfo, mayo5), +DECODER_w_structure("p521_mayo5", der, type_specific_keypair, p521_mayo5), +DECODER_w_structure("p521_mayo5", der, PrivateKeyInfo, p521_mayo5), DECODER_w_structure("p521_mayo5", der, SubjectPublicKeyInfo, p521_mayo5), #endif #ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced +DECODER_w_structure("CROSSrsdp128balanced", der, type_specific_keypair, CROSSrsdp128balanced), DECODER_w_structure("CROSSrsdp128balanced", der, PrivateKeyInfo, CROSSrsdp128balanced), DECODER_w_structure("CROSSrsdp128balanced", der, SubjectPublicKeyInfo, CROSSrsdp128balanced), #endif diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc index 386ef8a0..733d9119 100644 --- a/oqsprov/oqsencoders.inc +++ b/oqsprov/oqsencoders.inc @@ -4,6 +4,7 @@ * OQS OpenSSL 3 provider encoders * * Code strongly inspired by OpenSSL default provider. + * Copyright (c) [2024,] 2024, Oracle and/or its affiliates. All rights reserved. * */ @@ -494,6 +495,7 @@ ENCODER_TEXT("p521_hqc256", p521_hqc256), #ifdef OQS_ENABLE_SIG_dilithium_2 +ENCODER_w_structure("dilithium2", dilithium2, der, type_specific_keypair), ENCODER_w_structure("dilithium2", dilithium2, der, PrivateKeyInfo), ENCODER_w_structure("dilithium2", dilithium2, pem, PrivateKeyInfo), ENCODER_w_structure("dilithium2", dilithium2, der, EncryptedPrivateKeyInfo), @@ -501,6 +503,7 @@ ENCODER_w_structure("dilithium2", dilithium2, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("dilithium2", dilithium2, der, SubjectPublicKeyInfo), ENCODER_w_structure("dilithium2", dilithium2, pem, SubjectPublicKeyInfo), ENCODER_TEXT("dilithium2", dilithium2), +ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, type_specific_keypair), ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, PrivateKeyInfo), ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, PrivateKeyInfo), ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, EncryptedPrivateKeyInfo), @@ -508,6 +511,7 @@ ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, EncryptedPrivateKey ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, SubjectPublicKeyInfo), ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_dilithium2", p256_dilithium2), +ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, type_specific_keypair), ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, PrivateKeyInfo), ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, PrivateKeyInfo), ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, EncryptedPrivateKeyInfo), @@ -517,6 +521,7 @@ ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, SubjectPublic ENCODER_TEXT("rsa3072_dilithium2", rsa3072_dilithium2), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 +ENCODER_w_structure("dilithium3", dilithium3, der, type_specific_keypair), ENCODER_w_structure("dilithium3", dilithium3, der, PrivateKeyInfo), ENCODER_w_structure("dilithium3", dilithium3, pem, PrivateKeyInfo), ENCODER_w_structure("dilithium3", dilithium3, der, EncryptedPrivateKeyInfo), @@ -524,6 +529,7 @@ ENCODER_w_structure("dilithium3", dilithium3, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("dilithium3", dilithium3, der, SubjectPublicKeyInfo), ENCODER_w_structure("dilithium3", dilithium3, pem, SubjectPublicKeyInfo), ENCODER_TEXT("dilithium3", dilithium3), +ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, type_specific_keypair), ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, PrivateKeyInfo), ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, PrivateKeyInfo), ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, EncryptedPrivateKeyInfo), @@ -533,6 +539,7 @@ ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, SubjectPublicKeyInf ENCODER_TEXT("p384_dilithium3", p384_dilithium3), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 +ENCODER_w_structure("dilithium5", dilithium5, der, type_specific_keypair), ENCODER_w_structure("dilithium5", dilithium5, der, PrivateKeyInfo), ENCODER_w_structure("dilithium5", dilithium5, pem, PrivateKeyInfo), ENCODER_w_structure("dilithium5", dilithium5, der, EncryptedPrivateKeyInfo), @@ -540,6 +547,7 @@ ENCODER_w_structure("dilithium5", dilithium5, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("dilithium5", dilithium5, der, SubjectPublicKeyInfo), ENCODER_w_structure("dilithium5", dilithium5, pem, SubjectPublicKeyInfo), ENCODER_TEXT("dilithium5", dilithium5), +ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, type_specific_keypair), ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, PrivateKeyInfo), ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, PrivateKeyInfo), ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, EncryptedPrivateKeyInfo), @@ -549,6 +557,7 @@ ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, SubjectPublicKeyInf ENCODER_TEXT("p521_dilithium5", p521_dilithium5), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_44 +ENCODER_w_structure("mldsa44", mldsa44, der, type_specific_keypair), ENCODER_w_structure("mldsa44", mldsa44, der, PrivateKeyInfo), ENCODER_w_structure("mldsa44", mldsa44, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa44", mldsa44, der, EncryptedPrivateKeyInfo), @@ -556,6 +565,7 @@ ENCODER_w_structure("mldsa44", mldsa44, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mldsa44", mldsa44, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa44", mldsa44, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa44", mldsa44), +ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, type_specific_keypair), ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, PrivateKeyInfo), ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, PrivateKeyInfo), ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, EncryptedPrivateKeyInfo), @@ -563,6 +573,7 @@ ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, SubjectPublicKeyInfo), ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_mldsa44", p256_mldsa44), +ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, type_specific_keypair), ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, PrivateKeyInfo), ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, PrivateKeyInfo), ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, EncryptedPrivateKeyInfo), @@ -570,6 +581,7 @@ ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, EncryptedPrivateKey ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, SubjectPublicKeyInfo), ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, SubjectPublicKeyInfo), ENCODER_TEXT("rsa3072_mldsa44", rsa3072_mldsa44), +ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, type_specific_keypair), ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, PrivateKeyInfo), ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, EncryptedPrivateKeyInfo), @@ -577,6 +589,7 @@ ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, EncryptedPrivateKey ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa44_pss2048", mldsa44_pss2048), +ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, type_specific_keypair), ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, PrivateKeyInfo), ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, EncryptedPrivateKeyInfo), @@ -584,6 +597,7 @@ ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, EncryptedPrivateKey ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa44_rsa2048", mldsa44_rsa2048), +ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, type_specific_keypair), ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, PrivateKeyInfo), ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, EncryptedPrivateKeyInfo), @@ -591,6 +605,7 @@ ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, EncryptedPrivateKey ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa44_ed25519", mldsa44_ed25519), +ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, type_specific_keypair), ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, PrivateKeyInfo), ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, EncryptedPrivateKeyInfo), @@ -598,6 +613,7 @@ ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa44_p256", mldsa44_p256), +ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, type_specific_keypair), ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, PrivateKeyInfo), ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, EncryptedPrivateKeyInfo), @@ -607,6 +623,7 @@ ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa44_bp256", mldsa44_bp256), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_65 +ENCODER_w_structure("mldsa65", mldsa65, der, type_specific_keypair), ENCODER_w_structure("mldsa65", mldsa65, der, PrivateKeyInfo), ENCODER_w_structure("mldsa65", mldsa65, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa65", mldsa65, der, EncryptedPrivateKeyInfo), @@ -614,6 +631,7 @@ ENCODER_w_structure("mldsa65", mldsa65, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mldsa65", mldsa65, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa65", mldsa65, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa65", mldsa65), +ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, type_specific_keypair), ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, PrivateKeyInfo), ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, PrivateKeyInfo), ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, EncryptedPrivateKeyInfo), @@ -621,6 +639,7 @@ ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, SubjectPublicKeyInfo), ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p384_mldsa65", p384_mldsa65), +ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, type_specific_keypair), ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, PrivateKeyInfo), ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, EncryptedPrivateKeyInfo), @@ -628,6 +647,7 @@ ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, EncryptedPrivateKey ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa65_pss3072", mldsa65_pss3072), +ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, type_specific_keypair), ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, PrivateKeyInfo), ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, EncryptedPrivateKeyInfo), @@ -635,6 +655,7 @@ ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, EncryptedPrivateKey ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa65_rsa3072", mldsa65_rsa3072), +ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, type_specific_keypair), ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, PrivateKeyInfo), ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, EncryptedPrivateKeyInfo), @@ -642,6 +663,7 @@ ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa65_p256", mldsa65_p256), +ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, type_specific_keypair), ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, PrivateKeyInfo), ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, EncryptedPrivateKeyInfo), @@ -649,6 +671,7 @@ ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, EncryptedPrivateKeyInfo ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa65_bp256", mldsa65_bp256), +ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, type_specific_keypair), ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, PrivateKeyInfo), ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, EncryptedPrivateKeyInfo), @@ -658,6 +681,7 @@ ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, SubjectPublicKeyInf ENCODER_TEXT("mldsa65_ed25519", mldsa65_ed25519), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_87 +ENCODER_w_structure("mldsa87", mldsa87, der, type_specific_keypair), ENCODER_w_structure("mldsa87", mldsa87, der, PrivateKeyInfo), ENCODER_w_structure("mldsa87", mldsa87, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa87", mldsa87, der, EncryptedPrivateKeyInfo), @@ -665,6 +689,7 @@ ENCODER_w_structure("mldsa87", mldsa87, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mldsa87", mldsa87, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa87", mldsa87, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa87", mldsa87), +ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, type_specific_keypair), ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, PrivateKeyInfo), ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, PrivateKeyInfo), ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, EncryptedPrivateKeyInfo), @@ -672,6 +697,7 @@ ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, SubjectPublicKeyInfo), ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p521_mldsa87", p521_mldsa87), +ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, type_specific_keypair), ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, PrivateKeyInfo), ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, EncryptedPrivateKeyInfo), @@ -679,6 +705,7 @@ ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa87_p384", mldsa87_p384), +ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, type_specific_keypair), ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, PrivateKeyInfo), ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, EncryptedPrivateKeyInfo), @@ -686,6 +713,7 @@ ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, EncryptedPrivateKeyInfo ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, SubjectPublicKeyInfo), ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa87_bp384", mldsa87_bp384), +ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, type_specific_keypair), ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, PrivateKeyInfo), ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, PrivateKeyInfo), ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, EncryptedPrivateKeyInfo), @@ -695,6 +723,7 @@ ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mldsa87_ed448", mldsa87_ed448), #endif #ifdef OQS_ENABLE_SIG_falcon_512 +ENCODER_w_structure("falcon512", falcon512, der, type_specific_keypair), ENCODER_w_structure("falcon512", falcon512, der, PrivateKeyInfo), ENCODER_w_structure("falcon512", falcon512, pem, PrivateKeyInfo), ENCODER_w_structure("falcon512", falcon512, der, EncryptedPrivateKeyInfo), @@ -702,6 +731,7 @@ ENCODER_w_structure("falcon512", falcon512, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("falcon512", falcon512, der, SubjectPublicKeyInfo), ENCODER_w_structure("falcon512", falcon512, pem, SubjectPublicKeyInfo), ENCODER_TEXT("falcon512", falcon512), +ENCODER_w_structure("p256_falcon512", p256_falcon512, der, type_specific_keypair), ENCODER_w_structure("p256_falcon512", p256_falcon512, der, PrivateKeyInfo), ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, PrivateKeyInfo), ENCODER_w_structure("p256_falcon512", p256_falcon512, der, EncryptedPrivateKeyInfo), @@ -709,6 +739,7 @@ ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, EncryptedPrivateKeyIn ENCODER_w_structure("p256_falcon512", p256_falcon512, der, SubjectPublicKeyInfo), ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_falcon512", p256_falcon512), +ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, type_specific_keypair), ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, PrivateKeyInfo), ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, PrivateKeyInfo), ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, EncryptedPrivateKeyInfo), @@ -718,6 +749,7 @@ ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, SubjectPublicKe ENCODER_TEXT("rsa3072_falcon512", rsa3072_falcon512), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_512 +ENCODER_w_structure("falconpadded512", falconpadded512, der, type_specific_keypair), ENCODER_w_structure("falconpadded512", falconpadded512, der, PrivateKeyInfo), ENCODER_w_structure("falconpadded512", falconpadded512, pem, PrivateKeyInfo), ENCODER_w_structure("falconpadded512", falconpadded512, der, EncryptedPrivateKeyInfo), @@ -725,6 +757,7 @@ ENCODER_w_structure("falconpadded512", falconpadded512, pem, EncryptedPrivateKey ENCODER_w_structure("falconpadded512", falconpadded512, der, SubjectPublicKeyInfo), ENCODER_w_structure("falconpadded512", falconpadded512, pem, SubjectPublicKeyInfo), ENCODER_TEXT("falconpadded512", falconpadded512), +ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, type_specific_keypair), ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, PrivateKeyInfo), ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, PrivateKeyInfo), ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, EncryptedPrivateKeyInfo), @@ -732,6 +765,7 @@ ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, Encrypted ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, SubjectPublicKeyInfo), ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_falconpadded512", p256_falconpadded512), +ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, type_specific_keypair), ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, PrivateKeyInfo), ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, PrivateKeyInfo), ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, EncryptedPrivateKeyInfo), @@ -741,6 +775,7 @@ ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, Sub ENCODER_TEXT("rsa3072_falconpadded512", rsa3072_falconpadded512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 +ENCODER_w_structure("falcon1024", falcon1024, der, type_specific_keypair), ENCODER_w_structure("falcon1024", falcon1024, der, PrivateKeyInfo), ENCODER_w_structure("falcon1024", falcon1024, pem, PrivateKeyInfo), ENCODER_w_structure("falcon1024", falcon1024, der, EncryptedPrivateKeyInfo), @@ -748,6 +783,7 @@ ENCODER_w_structure("falcon1024", falcon1024, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("falcon1024", falcon1024, der, SubjectPublicKeyInfo), ENCODER_w_structure("falcon1024", falcon1024, pem, SubjectPublicKeyInfo), ENCODER_TEXT("falcon1024", falcon1024), +ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, type_specific_keypair), ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, PrivateKeyInfo), ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, PrivateKeyInfo), ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, EncryptedPrivateKeyInfo), @@ -757,6 +793,7 @@ ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, SubjectPublicKeyInf ENCODER_TEXT("p521_falcon1024", p521_falcon1024), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_1024 +ENCODER_w_structure("falconpadded1024", falconpadded1024, der, type_specific_keypair), ENCODER_w_structure("falconpadded1024", falconpadded1024, der, PrivateKeyInfo), ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, PrivateKeyInfo), ENCODER_w_structure("falconpadded1024", falconpadded1024, der, EncryptedPrivateKeyInfo), @@ -764,6 +801,7 @@ ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, EncryptedPrivateK ENCODER_w_structure("falconpadded1024", falconpadded1024, der, SubjectPublicKeyInfo), ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, SubjectPublicKeyInfo), ENCODER_TEXT("falconpadded1024", falconpadded1024), +ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, type_specific_keypair), ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, PrivateKeyInfo), ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, PrivateKeyInfo), ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, EncryptedPrivateKeyInfo), @@ -773,6 +811,7 @@ ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, Subject ENCODER_TEXT("p521_falconpadded1024", p521_falconpadded1024), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple +ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, type_specific_keypair), ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, PrivateKeyInfo), ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, PrivateKeyInfo), ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), @@ -780,6 +819,7 @@ ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, Encrypt ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, SubjectPublicKeyInfo), ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, SubjectPublicKeyInfo), ENCODER_TEXT("sphincssha2128fsimple", sphincssha2128fsimple), +ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, type_specific_keypair), ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, PrivateKeyInfo), ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pem, PrivateKeyInfo), ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), @@ -787,6 +827,7 @@ ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pe ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, SubjectPublicKeyInfo), ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple), +ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, type_specific_keypair), ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, PrivateKeyInfo), ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, pem, PrivateKeyInfo), ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), @@ -796,6 +837,7 @@ ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimp ENCODER_TEXT("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple +ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, type_specific_keypair), ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, PrivateKeyInfo), ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, PrivateKeyInfo), ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), @@ -803,6 +845,7 @@ ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, Encrypt ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, SubjectPublicKeyInfo), ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, SubjectPublicKeyInfo), ENCODER_TEXT("sphincssha2128ssimple", sphincssha2128ssimple), +ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, type_specific_keypair), ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, PrivateKeyInfo), ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pem, PrivateKeyInfo), ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), @@ -810,6 +853,7 @@ ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pe ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, SubjectPublicKeyInfo), ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple), +ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, type_specific_keypair), ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, PrivateKeyInfo), ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, pem, PrivateKeyInfo), ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), @@ -819,6 +863,7 @@ ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimp ENCODER_TEXT("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple +ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, type_specific_keypair), ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, PrivateKeyInfo), ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, PrivateKeyInfo), ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, EncryptedPrivateKeyInfo), @@ -826,6 +871,7 @@ ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, Encrypt ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, SubjectPublicKeyInfo), ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, SubjectPublicKeyInfo), ENCODER_TEXT("sphincssha2192fsimple", sphincssha2192fsimple), +ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, type_specific_keypair), ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, PrivateKeyInfo), ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, pem, PrivateKeyInfo), ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, EncryptedPrivateKeyInfo), @@ -835,6 +881,7 @@ ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, pe ENCODER_TEXT("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple +ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, type_specific_keypair), ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, PrivateKeyInfo), ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, PrivateKeyInfo), ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), @@ -842,6 +889,7 @@ ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, Encry ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, SubjectPublicKeyInfo), ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, SubjectPublicKeyInfo), ENCODER_TEXT("sphincsshake128fsimple", sphincsshake128fsimple), +ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, type_specific_keypair), ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, PrivateKeyInfo), ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, pem, PrivateKeyInfo), ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), @@ -849,6 +897,7 @@ ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, SubjectPublicKeyInfo), ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple), +ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, type_specific_keypair), ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, PrivateKeyInfo), ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, pem, PrivateKeyInfo), ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), @@ -858,6 +907,7 @@ ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsi ENCODER_TEXT("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple), #endif #ifdef OQS_ENABLE_SIG_mayo_1 +ENCODER_w_structure("mayo1", mayo1, der, type_specific_keypair), ENCODER_w_structure("mayo1", mayo1, der, PrivateKeyInfo), ENCODER_w_structure("mayo1", mayo1, pem, PrivateKeyInfo), ENCODER_w_structure("mayo1", mayo1, der, EncryptedPrivateKeyInfo), @@ -865,6 +915,7 @@ ENCODER_w_structure("mayo1", mayo1, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mayo1", mayo1, der, SubjectPublicKeyInfo), ENCODER_w_structure("mayo1", mayo1, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mayo1", mayo1), +ENCODER_w_structure("p256_mayo1", p256_mayo1, der, type_specific_keypair), ENCODER_w_structure("p256_mayo1", p256_mayo1, der, PrivateKeyInfo), ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, PrivateKeyInfo), ENCODER_w_structure("p256_mayo1", p256_mayo1, der, EncryptedPrivateKeyInfo), @@ -874,6 +925,7 @@ ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_mayo1", p256_mayo1), #endif #ifdef OQS_ENABLE_SIG_mayo_2 +ENCODER_w_structure("mayo2", mayo2, der, type_specific_keypair), ENCODER_w_structure("mayo2", mayo2, der, PrivateKeyInfo), ENCODER_w_structure("mayo2", mayo2, pem, PrivateKeyInfo), ENCODER_w_structure("mayo2", mayo2, der, EncryptedPrivateKeyInfo), @@ -881,6 +933,7 @@ ENCODER_w_structure("mayo2", mayo2, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mayo2", mayo2, der, SubjectPublicKeyInfo), ENCODER_w_structure("mayo2", mayo2, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mayo2", mayo2), +ENCODER_w_structure("p256_mayo2", p256_mayo2, der, type_specific_keypair), ENCODER_w_structure("p256_mayo2", p256_mayo2, der, PrivateKeyInfo), ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, PrivateKeyInfo), ENCODER_w_structure("p256_mayo2", p256_mayo2, der, EncryptedPrivateKeyInfo), @@ -890,6 +943,7 @@ ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p256_mayo2", p256_mayo2), #endif #ifdef OQS_ENABLE_SIG_mayo_3 +ENCODER_w_structure("mayo3", mayo3, der, type_specific_keypair), ENCODER_w_structure("mayo3", mayo3, der, PrivateKeyInfo), ENCODER_w_structure("mayo3", mayo3, pem, PrivateKeyInfo), ENCODER_w_structure("mayo3", mayo3, der, EncryptedPrivateKeyInfo), @@ -897,6 +951,7 @@ ENCODER_w_structure("mayo3", mayo3, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mayo3", mayo3, der, SubjectPublicKeyInfo), ENCODER_w_structure("mayo3", mayo3, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mayo3", mayo3), +ENCODER_w_structure("p384_mayo3", p384_mayo3, der, type_specific_keypair), ENCODER_w_structure("p384_mayo3", p384_mayo3, der, PrivateKeyInfo), ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, PrivateKeyInfo), ENCODER_w_structure("p384_mayo3", p384_mayo3, der, EncryptedPrivateKeyInfo), @@ -906,6 +961,7 @@ ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p384_mayo3", p384_mayo3), #endif #ifdef OQS_ENABLE_SIG_mayo_5 +ENCODER_w_structure("mayo5", mayo5, der, type_specific_keypair), ENCODER_w_structure("mayo5", mayo5, der, PrivateKeyInfo), ENCODER_w_structure("mayo5", mayo5, pem, PrivateKeyInfo), ENCODER_w_structure("mayo5", mayo5, der, EncryptedPrivateKeyInfo), @@ -913,6 +969,7 @@ ENCODER_w_structure("mayo5", mayo5, pem, EncryptedPrivateKeyInfo), ENCODER_w_structure("mayo5", mayo5, der, SubjectPublicKeyInfo), ENCODER_w_structure("mayo5", mayo5, pem, SubjectPublicKeyInfo), ENCODER_TEXT("mayo5", mayo5), +ENCODER_w_structure("p521_mayo5", p521_mayo5, der, type_specific_keypair), ENCODER_w_structure("p521_mayo5", p521_mayo5, der, PrivateKeyInfo), ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, PrivateKeyInfo), ENCODER_w_structure("p521_mayo5", p521_mayo5, der, EncryptedPrivateKeyInfo), @@ -922,6 +979,7 @@ ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, SubjectPublicKeyInfo), ENCODER_TEXT("p521_mayo5", p521_mayo5), #endif #ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced +ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, type_specific_keypair), ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, PrivateKeyInfo), ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, PrivateKeyInfo), ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, EncryptedPrivateKeyInfo), diff --git a/test/oqs_test_endecode.c b/test/oqs_test_endecode.c index 86a8896c..5f872cb3 100644 --- a/test/oqs_test_endecode.c +++ b/test/oqs_test_endecode.c @@ -1,4 +1,6 @@ -// SPDX-License-Identifier: Apache-2.0 AND MIT +/* SPDX-License-Identifier: Apache-2.0 AND MIT + * Copyright (c) [2024,] 2024, Oracle and/or its affiliates. All rights reserved. + */ #include #include @@ -35,6 +37,8 @@ typedef struct endecode_params_st { } ENDECODE_PARAMS; static ENDECODE_PARAMS test_params_list[] = { + {"DER", "type-specific", NULL, NULL, + OSSL_KEYMGMT_SELECT_KEYPAIR | OSSL_KEYMGMT_SELECT_ALL_PARAMETERS}, {"PEM", "PrivateKeyInfo", NULL, NULL, OSSL_KEYMGMT_SELECT_KEYPAIR | OSSL_KEYMGMT_SELECT_ALL_PARAMETERS}, {"PEM", "EncryptedPrivateKeyInfo", NULL,