diff options
| author | tb <> | 2025-08-19 21:37:08 +0000 |
|---|---|---|
| committer | tb <> | 2025-08-19 21:37:08 +0000 |
| commit | fe2206ea0ebbcabbfbe6889f6747287fae32b1fc (patch) | |
| tree | a5e1084f65d91fea70dee53e16f09442b24f6d15 | |
| parent | ad0cded0ebd0a033077854cf6d330209fd396fe2 (diff) | |
| download | openbsd-fe2206ea0ebbcabbfbe6889f6747287fae32b1fc.tar.gz openbsd-fe2206ea0ebbcabbfbe6889f6747287fae32b1fc.tar.bz2 openbsd-fe2206ea0ebbcabbfbe6889f6747287fae32b1fc.zip | |
An executive decision has been taken to expose marshal private key as well
rides the libcrypto bump
| -rw-r--r-- | src/lib/libcrypto/Symbols.list | 1 | ||||
| -rw-r--r-- | src/lib/libcrypto/hidden/openssl/mlkem.h | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/mlkem/mlkem.c | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/mlkem/mlkem.h | 8 | ||||
| -rw-r--r-- | src/lib/libcrypto/mlkem/mlkem_internal.h | 7 |
5 files changed, 13 insertions, 9 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list index 80d6ae986c..33668f24c5 100644 --- a/src/lib/libcrypto/Symbols.list +++ b/src/lib/libcrypto/Symbols.list | |||
| @@ -1452,6 +1452,7 @@ MD5_Update | |||
| 1452 | MLKEM_decap | 1452 | MLKEM_decap |
| 1453 | MLKEM_encap | 1453 | MLKEM_encap |
| 1454 | MLKEM_generate_key | 1454 | MLKEM_generate_key |
| 1455 | MLKEM_marshal_private_key | ||
| 1455 | MLKEM_marshal_public_key | 1456 | MLKEM_marshal_public_key |
| 1456 | MLKEM_parse_private_key | 1457 | MLKEM_parse_private_key |
| 1457 | MLKEM_parse_public_key | 1458 | MLKEM_parse_public_key |
diff --git a/src/lib/libcrypto/hidden/openssl/mlkem.h b/src/lib/libcrypto/hidden/openssl/mlkem.h index 3807b3fa1e..e5f1fc0634 100644 --- a/src/lib/libcrypto/hidden/openssl/mlkem.h +++ b/src/lib/libcrypto/hidden/openssl/mlkem.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: mlkem.h,v 1.5 2025/08/14 15:48:48 beck Exp $ */ | 1 | /* $OpenBSD: mlkem.h,v 1.6 2025/08/19 21:37:08 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2025 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2025 Bob Beck <beck@openbsd.org> |
| 4 | * | 4 | * |
| @@ -40,6 +40,7 @@ LCRYPTO_USED(MLKEM_encap); | |||
| 40 | LCRYPTO_USED(MLKEM_decap); | 40 | LCRYPTO_USED(MLKEM_decap); |
| 41 | LCRYPTO_USED(MLKEM_marshal_public_key); | 41 | LCRYPTO_USED(MLKEM_marshal_public_key); |
| 42 | LCRYPTO_USED(MLKEM_parse_public_key); | 42 | LCRYPTO_USED(MLKEM_parse_public_key); |
| 43 | LCRYPTO_USED(MLKEM_marshal_private_key); | ||
| 43 | LCRYPTO_USED(MLKEM_parse_private_key); | 44 | LCRYPTO_USED(MLKEM_parse_private_key); |
| 44 | 45 | ||
| 45 | #endif /* _LIBCRYPTO_MLKEM_H */ | 46 | #endif /* _LIBCRYPTO_MLKEM_H */ |
diff --git a/src/lib/libcrypto/mlkem/mlkem.c b/src/lib/libcrypto/mlkem/mlkem.c index bf53e5d77a..dcc73c2631 100644 --- a/src/lib/libcrypto/mlkem/mlkem.c +++ b/src/lib/libcrypto/mlkem/mlkem.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: mlkem.c,v 1.2 2025/08/14 16:04:01 beck Exp $ */ | 1 | /* $OpenBSD: mlkem.c,v 1.3 2025/08/19 21:37:08 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2025, Bob Beck <beck@obtuse.com> | 3 | * Copyright (c) 2025, Bob Beck <beck@obtuse.com> |
| 4 | * | 4 | * |
| @@ -358,6 +358,7 @@ MLKEM_marshal_private_key(const MLKEM_private_key *private_key, uint8_t **out, | |||
| 358 | return 0; | 358 | return 0; |
| 359 | } | 359 | } |
| 360 | } | 360 | } |
| 361 | LCRYPTO_ALIAS(MLKEM_marshal_private_key); | ||
| 361 | 362 | ||
| 362 | int | 363 | int |
| 363 | MLKEM_parse_public_key(MLKEM_public_key *public_key, const uint8_t *in, | 364 | MLKEM_parse_public_key(MLKEM_public_key *public_key, const uint8_t *in, |
diff --git a/src/lib/libcrypto/mlkem/mlkem.h b/src/lib/libcrypto/mlkem/mlkem.h index 31d4858195..dac3cf24de 100644 --- a/src/lib/libcrypto/mlkem/mlkem.h +++ b/src/lib/libcrypto/mlkem/mlkem.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: mlkem.h,v 1.7 2025/08/14 15:48:48 beck Exp $ */ | 1 | /* $OpenBSD: mlkem.h,v 1.8 2025/08/19 21:37:08 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2025 Bob Beck <beck@obtuse.com> | 3 | * Copyright (c) 2025 Bob Beck <beck@obtuse.com> |
| 4 | * | 4 | * |
| @@ -210,6 +210,12 @@ int MLKEM_parse_public_key(MLKEM_public_key *public_key, const uint8_t *in, | |||
| 210 | size_t in_len); | 210 | size_t in_len); |
| 211 | 211 | ||
| 212 | /* | 212 | /* |
| 213 | * Marshals a private key to encoded format, used for NIST tests. | ||
| 214 | */ | ||
| 215 | int MLKEM_marshal_private_key(const MLKEM_private_key *private_key, | ||
| 216 | uint8_t **out, size_t *out_len); | ||
| 217 | |||
| 218 | /* | ||
| 213 | * MLKEM_parse_private_key parses a private key, in the format generated by | 219 | * MLKEM_parse_private_key parses a private key, in the format generated by |
| 214 | * |MLKEM_marshal_private_key|, from |in|. It returns one on success or zero on | 220 | * |MLKEM_marshal_private_key|, from |in|. It returns one on success or zero on |
| 215 | * error or failure. |private_key| must be a new uninitialized key. |in_len| | 221 | * error or failure. |private_key| must be a new uninitialized key. |in_len| |
diff --git a/src/lib/libcrypto/mlkem/mlkem_internal.h b/src/lib/libcrypto/mlkem/mlkem_internal.h index 776f8aac17..7e6c313aa9 100644 --- a/src/lib/libcrypto/mlkem/mlkem_internal.h +++ b/src/lib/libcrypto/mlkem/mlkem_internal.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: mlkem_internal.h,v 1.8 2025/08/14 15:48:48 beck Exp $ */ | 1 | /* $OpenBSD: mlkem_internal.h,v 1.9 2025/08/19 21:37:08 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2023, Google Inc. | 3 | * Copyright (c) 2023, Google Inc. |
| 4 | * | 4 | * |
| @@ -58,11 +58,6 @@ int | |||
| 58 | MLKEM_generate_key_external_entropy(MLKEM_private_key *private_key, | 58 | MLKEM_generate_key_external_entropy(MLKEM_private_key *private_key, |
| 59 | uint8_t **out_encoded_public_key, size_t *out_encoded_public_key_len, | 59 | uint8_t **out_encoded_public_key, size_t *out_encoded_public_key_len, |
| 60 | const uint8_t *entropy); | 60 | const uint8_t *entropy); |
| 61 | /* | ||
| 62 | * Marshals a private key to encoded format, used for NIST tests. | ||
| 63 | */ | ||
| 64 | int MLKEM_marshal_private_key(const MLKEM_private_key *private_key, | ||
| 65 | uint8_t **out, size_t *out_len); | ||
| 66 | 61 | ||
| 67 | /* | 62 | /* |
| 68 | * ML-KEM-768 | 63 | * ML-KEM-768 |
