From b7d2b00a69a9fe4778d1d5eb40407b1bba0ea5a8 Mon Sep 17 00:00:00 2001 From: beck <> Date: Tue, 20 May 2025 00:33:41 +0000 Subject: Make MLKEM1024_marshal_private_key consistent with the public_key funcitons Even though this should remain internal, make it the same as the public key marshal function, and make the needed fallout changes in regress. ok kenjiro@, tb@ --- .../lib/libcrypto/mlkem/mlkem_iteration_tests.c | 10 +++++----- src/regress/lib/libcrypto/mlkem/mlkem_tests.c | 14 +++++++------- src/regress/lib/libcrypto/mlkem/mlkem_tests_util.c | 21 +++------------------ src/regress/lib/libcrypto/mlkem/mlkem_tests_util.h | 6 +++--- src/regress/lib/libcrypto/mlkem/mlkem_unittest.c | 12 ++++++------ 5 files changed, 24 insertions(+), 39 deletions(-) (limited to 'src/regress') diff --git a/src/regress/lib/libcrypto/mlkem/mlkem_iteration_tests.c b/src/regress/lib/libcrypto/mlkem/mlkem_iteration_tests.c index e0fd9ca241..b93243023c 100644 --- a/src/regress/lib/libcrypto/mlkem/mlkem_iteration_tests.c +++ b/src/regress/lib/libcrypto/mlkem/mlkem_iteration_tests.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mlkem_iteration_tests.c,v 1.4 2025/05/19 07:53:00 beck Exp $ */ +/* $OpenBSD: mlkem_iteration_tests.c,v 1.5 2025/05/20 00:33:41 beck Exp $ */ /* * Copyright (c) 2024 Google Inc. * Copyright (c) 2024 Bob Beck @@ -73,7 +73,7 @@ struct iteration_ctx { void *priv; void *pub; - mlkem_encode_private_key_fn encode_private_key; + mlkem_marshal_private_key_fn marshal_private_key; mlkem_encap_external_entropy_fn encap_external_entropy; mlkem_generate_key_external_entropy_fn generate_key_external_entropy; mlkem_public_from_private_fn public_from_private; @@ -127,7 +127,7 @@ MlkemIterativeTest(struct iteration_ctx *ctx) ctx->encoded_public_key_len); /* marshal priv to dk as encoded_private_key */ - if (!ctx->encode_private_key(ctx->priv, &encoded_private_key, + if (!ctx->marshal_private_key(ctx->priv, &encoded_private_key, &encoded_private_key_len)) errx(1, "encode private key"); @@ -185,7 +185,7 @@ main(void) .priv = &priv768, .pub = &pub768, .encap_external_entropy = mlkem768_encap_external_entropy, - .encode_private_key = mlkem768_marshal_private_key, + .marshal_private_key = mlkem768_marshal_private_key, .generate_key_external_entropy = mlkem768_generate_key_external_entropy, .public_from_private = mlkem768_public_from_private, @@ -210,7 +210,7 @@ main(void) .priv = &priv1024, .pub = &pub1024, .encap_external_entropy = mlkem1024_encap_external_entropy, - .encode_private_key = mlkem1024_encode_private_key, + .marshal_private_key = mlkem1024_marshal_private_key, .generate_key_external_entropy = mlkem1024_generate_key_external_entropy, .public_from_private = mlkem1024_public_from_private, diff --git a/src/regress/lib/libcrypto/mlkem/mlkem_tests.c b/src/regress/lib/libcrypto/mlkem/mlkem_tests.c index 84b71aebb0..8e04dc6ad2 100644 --- a/src/regress/lib/libcrypto/mlkem/mlkem_tests.c +++ b/src/regress/lib/libcrypto/mlkem/mlkem_tests.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mlkem_tests.c,v 1.5 2025/05/19 07:53:00 beck Exp $ */ +/* $OpenBSD: mlkem_tests.c,v 1.6 2025/05/20 00:33:41 beck Exp $ */ /* * Copyright (c) 2024 Google Inc. * Copyright (c) 2024 Theo Buehler @@ -444,7 +444,7 @@ struct keygen_ctx { size_t public_key_len; mlkem_generate_key_external_entropy_fn generate_key_external_entropy; - mlkem_encode_private_key_fn encode_private_key; + mlkem_marshal_private_key_fn marshal_private_key; }; enum keygen_states { @@ -515,7 +515,7 @@ MlkemKeygenFileTest(struct keygen_ctx *keygen) keygen->generate_key_external_entropy(keygen->encoded_public_key, keygen->private_key, CBS_data(&seed)); - if (!keygen->encode_private_key(keygen->private_key, + if (!keygen->marshal_private_key(keygen->private_key, &encoded_private_key, &encoded_private_key_len)) { parse_info(p, "encode private key"); goto err; @@ -614,7 +614,7 @@ MlkemNistKeygenFileTest(struct keygen_ctx *keygen) keygen->generate_key_external_entropy(keygen->encoded_public_key, keygen->private_key, seed); - if (!keygen->encode_private_key(keygen->private_key, + if (!keygen->marshal_private_key(keygen->private_key, &encoded_private_key, &encoded_private_key_len)) { parse_info(p, "encode private key"); goto err; @@ -661,7 +661,7 @@ mlkem_keygen_tests(const char *fn, size_t size, enum test_type test_type) .generate_key_external_entropy = mlkem768_generate_key_external_entropy, - .encode_private_key = + .marshal_private_key = mlkem768_marshal_private_key, }; struct MLKEM1024_private_key private_key1024; @@ -675,8 +675,8 @@ mlkem_keygen_tests(const char *fn, size_t size, enum test_type test_type) .generate_key_external_entropy = mlkem1024_generate_key_external_entropy, - .encode_private_key = - mlkem1024_encode_private_key, + .marshal_private_key = + mlkem1024_marshal_private_key, }; if (size == 768 && test_type == TEST_TYPE_NORMAL) diff --git a/src/regress/lib/libcrypto/mlkem/mlkem_tests_util.c b/src/regress/lib/libcrypto/mlkem/mlkem_tests_util.c index 5ec8c08585..68bd5d4871 100644 --- a/src/regress/lib/libcrypto/mlkem/mlkem_tests_util.c +++ b/src/regress/lib/libcrypto/mlkem/mlkem_tests_util.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mlkem_tests_util.c,v 1.7 2025/05/19 07:53:00 beck Exp $ */ +/* $OpenBSD: mlkem_tests_util.c,v 1.8 2025/05/20 00:33:41 beck Exp $ */ /* * Copyright (c) 2024 Google Inc. * Copyright (c) 2024 Bob Beck @@ -75,25 +75,10 @@ mlkem768_marshal_public_key(const void *public_key, uint8_t **out_buf, } int -mlkem1024_encode_private_key(const void *private_key, uint8_t **out_buf, +mlkem1024_marshal_private_key(const void *private_key, uint8_t **out_buf, size_t *out_len) { - CBB cbb; - int ret = 0; - - if (!CBB_init(&cbb, MLKEM1024_PUBLIC_KEY_BYTES)) - goto err; - if (!MLKEM1024_marshal_private_key(&cbb, private_key)) - goto err; - if (!CBB_finish(&cbb, out_buf, out_len)) - goto err; - - ret = 1; - - err: - CBB_cleanup(&cbb); - - return ret; + return MLKEM1024_marshal_private_key(private_key, out_buf, out_len); } int diff --git a/src/regress/lib/libcrypto/mlkem/mlkem_tests_util.h b/src/regress/lib/libcrypto/mlkem/mlkem_tests_util.h index 5c2c400ea5..1235309f60 100644 --- a/src/regress/lib/libcrypto/mlkem/mlkem_tests_util.h +++ b/src/regress/lib/libcrypto/mlkem/mlkem_tests_util.h @@ -1,4 +1,4 @@ -/* $OpenBSD: mlkem_tests_util.h,v 1.6 2025/05/19 07:53:00 beck Exp $ */ +/* $OpenBSD: mlkem_tests_util.h,v 1.7 2025/05/20 00:33:41 beck Exp $ */ /* * Copyright (c) 2024 Bob Beck * Copyright (c) 2024 Theo Buehler @@ -34,7 +34,7 @@ int mlkem768_marshal_private_key(const void *priv, uint8_t **out_buf, size_t *out_len); int mlkem768_marshal_public_key(const void *pub, uint8_t **out_buf, size_t *out_len); -int mlkem1024_encode_private_key(const void *priv, uint8_t **out_buf, +int mlkem1024_marshal_private_key(const void *priv, uint8_t **out_buf, size_t *out_len); int mlkem1024_marshal_public_key(const void *pub, uint8_t **out_buf, size_t *out_len); @@ -69,7 +69,7 @@ int mlkem1024_parse_private_key(void *priv, const uint8_t *in, size_t in_len); int mlkem1024_parse_public_key(void *pub, const uint8_t *in, size_t in_len); void mlkem1024_public_from_private(void *out_public_key, const void *private_key); -typedef int (*mlkem_encode_private_key_fn)(const void *, uint8_t **, size_t *); +typedef int (*mlkem_marshal_private_key_fn)(const void *, uint8_t **, size_t *); typedef int (*mlkem_marshal_public_key_fn)(const void *, uint8_t **, size_t *); typedef int (*mlkem_decap_fn)(uint8_t [MLKEM_SHARED_SECRET_BYTES], const uint8_t *, size_t, const void *); diff --git a/src/regress/lib/libcrypto/mlkem/mlkem_unittest.c b/src/regress/lib/libcrypto/mlkem/mlkem_unittest.c index ce1e797904..3c6aab13c7 100644 --- a/src/regress/lib/libcrypto/mlkem/mlkem_unittest.c +++ b/src/regress/lib/libcrypto/mlkem/mlkem_unittest.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mlkem_unittest.c,v 1.9 2025/05/19 07:53:00 beck Exp $ */ +/* $OpenBSD: mlkem_unittest.c,v 1.10 2025/05/20 00:33:41 beck Exp $ */ /* * Copyright (c) 2024 Google Inc. * Copyright (c) 2024 Bob Beck @@ -41,7 +41,7 @@ struct unittest_ctx { mlkem_generate_key_fn generate_key; mlkem_parse_private_key_fn parse_private_key; mlkem_parse_public_key_fn parse_public_key; - mlkem_encode_private_key_fn encode_private_key; + mlkem_marshal_private_key_fn marshal_private_key; mlkem_marshal_public_key_fn marshal_public_key; mlkem_public_from_private_fn public_from_private; }; @@ -113,7 +113,7 @@ MlKemUnitTest(struct unittest_ctx *ctx) free(tmp_buf); tmp_buf = NULL; - if (!ctx->encode_private_key(ctx->priv, &encoded_private_key, + if (!ctx->marshal_private_key(ctx->priv, &encoded_private_key, &encoded_private_key_len)) { warnx("mlkem768_encode_private_key"); failed |= 1; @@ -137,7 +137,7 @@ MlKemUnitTest(struct unittest_ctx *ctx) failed |= 1; } - if (!ctx->encode_private_key(ctx->priv2, &tmp_buf, &tmp_buf_len)) { + if (!ctx->marshal_private_key(ctx->priv2, &tmp_buf, &tmp_buf_len)) { warnx("encode_private_key"); failed |= 1; } @@ -205,7 +205,7 @@ mlkem768_unittest(void) .generate_key = mlkem768_generate_key, .parse_private_key = mlkem768_parse_private_key, .parse_public_key = mlkem768_parse_public_key, - .encode_private_key = mlkem768_marshal_private_key, + .marshal_private_key = mlkem768_marshal_private_key, .marshal_public_key = mlkem768_marshal_public_key, .public_from_private = mlkem768_public_from_private, }; @@ -234,7 +234,7 @@ mlkem1024_unittest(void) .generate_key = mlkem1024_generate_key, .parse_private_key = mlkem1024_parse_private_key, .parse_public_key = mlkem1024_parse_public_key, - .encode_private_key = mlkem1024_encode_private_key, + .marshal_private_key = mlkem1024_marshal_private_key, .marshal_public_key = mlkem1024_marshal_public_key, .public_from_private = mlkem1024_public_from_private, }; -- cgit v1.2.3-55-g6feb