ML_DSA_KEY
int ossl_ml_dsa_pk_encode(ML_DSA_KEY *key)
int ossl_ml_dsa_pk_decode(ML_DSA_KEY *key, const uint8_t *in, size_t in_len)
int ossl_ml_dsa_sk_encode(ML_DSA_KEY *key)
int ossl_ml_dsa_sk_decode(ML_DSA_KEY *key, const uint8_t *in, size_t in_len)
int ossl_ml_dsa_key_pub_alloc(ML_DSA_KEY *key)
int ossl_ml_dsa_key_priv_alloc(ML_DSA_KEY *key)
void ossl_ml_dsa_key_free(ML_DSA_KEY *key)
void ossl_ml_dsa_key_reset(ML_DSA_KEY *key)
ML_DSA_KEY *ossl_ml_dsa_key_dup(const ML_DSA_KEY *src, int selection)
ML_DSA_KEY *ret = NULL;
const ML_DSA_PARAMS *ossl_ml_dsa_key_params(const ML_DSA_KEY *key)
int ossl_ml_dsa_key_equal(const ML_DSA_KEY *key1, const ML_DSA_KEY *key2,
const uint8_t *ossl_ml_dsa_key_get_seed(const ML_DSA_KEY *key)
int ossl_ml_dsa_key_has(const ML_DSA_KEY *key, int selection)
static int public_from_private(const ML_DSA_KEY *key, EVP_MD_CTX *md_ctx,
int ossl_ml_dsa_key_get_prov_flags(const ML_DSA_KEY *key)
int ossl_ml_dsa_key_public_from_private(ML_DSA_KEY *key)
int ossl_ml_dsa_set_prekey(ML_DSA_KEY *key, int flags_set, int flags_clr,
int ossl_ml_dsa_key_pairwise_check(const ML_DSA_KEY *key)
static int keygen_internal(ML_DSA_KEY *out)
int ossl_ml_dsa_generate_key(ML_DSA_KEY *out)
int ossl_ml_dsa_key_matches(const ML_DSA_KEY *key, int evp_type)
const uint8_t *ossl_ml_dsa_key_get_pub(const ML_DSA_KEY *key)
size_t ossl_ml_dsa_key_get_pub_len(const ML_DSA_KEY *key)
size_t ossl_ml_dsa_key_get_collision_strength_bits(const ML_DSA_KEY *key)
const uint8_t *ossl_ml_dsa_key_get_priv(const ML_DSA_KEY *key)
size_t ossl_ml_dsa_key_get_priv_len(const ML_DSA_KEY *key)
size_t ossl_ml_dsa_key_get_sig_len(const ML_DSA_KEY *key)
OSSL_LIB_CTX *ossl_ml_dsa_key_get0_libctx(const ML_DSA_KEY *key)
const char *ossl_ml_dsa_key_get_name(const ML_DSA_KEY *key)
ML_DSA_KEY *ossl_ml_dsa_key_new(OSSL_LIB_CTX *libctx, const char *propq,
ML_DSA_KEY *ret;
int ossl_ml_dsa_pk_encode(ML_DSA_KEY *key);
int ossl_ml_dsa_sk_encode(ML_DSA_KEY *key);
static int ml_dsa_verify_internal(const ML_DSA_KEY *pub, int msg_is_mu,
int ossl_ml_dsa_sign(const ML_DSA_KEY *priv, int msg_is_mu,
int ossl_ml_dsa_verify(const ML_DSA_KEY *pub, int msg_is_mu,
static int ml_dsa_sign_internal(const ML_DSA_KEY *priv, int msg_is_mu,
__owur size_t ossl_ml_dsa_key_get_sig_len(const ML_DSA_KEY *key);
__owur int ossl_ml_dsa_key_matches(const ML_DSA_KEY *key, int evp_type);
__owur const char *ossl_ml_dsa_key_get_name(const ML_DSA_KEY *key);
OSSL_LIB_CTX *ossl_ml_dsa_key_get0_libctx(const ML_DSA_KEY *key);
__owur int ossl_ml_dsa_key_public_from_private(ML_DSA_KEY *key);
__owur int ossl_ml_dsa_pk_decode(ML_DSA_KEY *key, const uint8_t *in, size_t in_len);
__owur int ossl_ml_dsa_sk_decode(ML_DSA_KEY *key, const uint8_t *in, size_t in_len);
__owur int ossl_ml_dsa_sign(const ML_DSA_KEY *priv, int msg_is_mu,
__owur int ossl_ml_dsa_verify(const ML_DSA_KEY *pub, int msg_is_mu,
const ML_DSA_PARAMS *ossl_ml_dsa_key_params(const ML_DSA_KEY *key);
__owur ML_DSA_KEY *ossl_ml_dsa_key_new(OSSL_LIB_CTX *libctx, const char *propq,
void ossl_ml_dsa_key_reset(ML_DSA_KEY *key);
__owur int ossl_ml_dsa_key_pub_alloc(ML_DSA_KEY *key);
__owur int ossl_ml_dsa_key_priv_alloc(ML_DSA_KEY *key);
void ossl_ml_dsa_key_free(ML_DSA_KEY *key);
__owur ML_DSA_KEY *ossl_ml_dsa_key_dup(const ML_DSA_KEY *src, int selection);
__owur int ossl_ml_dsa_key_equal(const ML_DSA_KEY *key1, const ML_DSA_KEY *key2,
__owur int ossl_ml_dsa_key_has(const ML_DSA_KEY *key, int selection);
__owur int ossl_ml_dsa_key_pairwise_check(const ML_DSA_KEY *key);
__owur int ossl_ml_dsa_generate_key(ML_DSA_KEY *out);
__owur const uint8_t *ossl_ml_dsa_key_get_pub(const ML_DSA_KEY *key);
__owur size_t ossl_ml_dsa_key_get_pub_len(const ML_DSA_KEY *key);
__owur const uint8_t *ossl_ml_dsa_key_get_priv(const ML_DSA_KEY *key);
__owur size_t ossl_ml_dsa_key_get_priv_len(const ML_DSA_KEY *key);
__owur const uint8_t *ossl_ml_dsa_key_get_seed(const ML_DSA_KEY *key);
__owur int ossl_ml_dsa_key_get_prov_flags(const ML_DSA_KEY *key);
int ossl_ml_dsa_set_prekey(ML_DSA_KEY *key, int flags_set, int flags_clr,
__owur size_t ossl_ml_dsa_key_get_collision_strength_bits(const ML_DSA_KEY *key);
int ossl_DER_w_algorithmIdentifier_ML_DSA(WPACKET *pkt, int tag, ML_DSA_KEY *key)
int ossl_DER_w_algorithmIdentifier_ML_DSA(WPACKET *pkt, int tag, ML_DSA_KEY *key);
ML_DSA_KEY *key;
ML_DSA_KEY *key;
return ossl_ml_dsa_key_to_text(out, (ML_DSA_KEY *)key, selection);
ML_DSA_KEY *
ML_DSA_KEY *ret;
ML_DSA_KEY *
ML_DSA_KEY *key = NULL, *ret = NULL;
int ossl_ml_dsa_i2d_pubkey(const ML_DSA_KEY *key, unsigned char **out)
int ossl_ml_dsa_i2d_prvkey(const ML_DSA_KEY *key, uint8_t **out,
int ossl_ml_dsa_key_to_text(BIO *out, const ML_DSA_KEY *key, int selection)
__owur ML_DSA_KEY *ossl_ml_dsa_d2i_PUBKEY(const uint8_t *pubenc, int publen,
__owur ML_DSA_KEY *ossl_ml_dsa_d2i_PKCS8(const uint8_t *prvenc, int prvlen,
__owur int ossl_ml_dsa_key_to_text(BIO *out, const ML_DSA_KEY *key, int selection);
ossl_ml_dsa_i2d_pubkey(const ML_DSA_KEY *key, unsigned char **out);
ossl_ml_dsa_i2d_prvkey(const ML_DSA_KEY *key, unsigned char **out,
ML_DSA_KEY *
ML_DSA_KEY *ossl_prov_ml_dsa_new(PROV_CTX *ctx, const char *propq, int evp_type)
ML_DSA_KEY *key;
ossl_ml_dsa_key_free((ML_DSA_KEY *)keydata);
const ML_DSA_KEY *key = keydata;
const ML_DSA_KEY *key1 = keydata1;
const ML_DSA_KEY *key2 = keydata2;
const ML_DSA_KEY *key = key_data;
static int ml_dsa_key_fromdata(ML_DSA_KEY *key, const OSSL_PARAM params[],
ML_DSA_KEY *key = keydata;
ML_DSA_KEY *key = keydata;
ML_DSA_KEY *key = keydata;
ML_DSA_KEY *key = NULL;
key = *(ML_DSA_KEY **)reference;
*(ML_DSA_KEY **)reference = NULL;
ML_DSA_KEY *key = NULL;
static int ml_dsa_pairwise_test(const ML_DSA_KEY *key)
ML_DSA_KEY *key = vkey;
ML_DSA_KEY *key;
ML_DSA_KEY *key = NULL, *key1 = NULL;