diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/libcrypto/mlkem/mlkem_internal.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/libcrypto/mlkem/mlkem_internal.c b/src/lib/libcrypto/mlkem/mlkem_internal.c index dec841312e..12b1c3e235 100644 --- a/src/lib/libcrypto/mlkem/mlkem_internal.c +++ b/src/lib/libcrypto/mlkem/mlkem_internal.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: mlkem_internal.c,v 1.7 2026/03/06 09:22:29 kenjiro Exp $ */ | 1 | /* $OpenBSD: mlkem_internal.c,v 1.8 2026/03/29 06:31:07 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2024, Google Inc. | 3 | * Copyright (c) 2024, Google Inc. |
| 4 | * Copyright (c) 2024, 2025 Bob Beck <beck@obtuse.com> | 4 | * Copyright (c) 2024, 2025 Bob Beck <beck@obtuse.com> |
| @@ -828,11 +828,13 @@ public_key_from_external(const MLKEM_public_key *external, | |||
| 828 | struct public_key *pub) | 828 | struct public_key *pub) |
| 829 | { | 829 | { |
| 830 | size_t vector_size = external->rank * sizeof(scalar); | 830 | size_t vector_size = external->rank * sizeof(scalar); |
| 831 | uint8_t *bytes = external->key_768->bytes; | ||
| 832 | size_t offset = 0; | 831 | size_t offset = 0; |
| 832 | uint8_t *bytes; | ||
| 833 | 833 | ||
| 834 | if (external->rank == MLKEM1024_RANK) | 834 | if (external->rank == MLKEM1024_RANK) |
| 835 | bytes = external->key_1024->bytes; | 835 | bytes = external->key_1024->bytes; |
| 836 | else | ||
| 837 | bytes = external->key_768->bytes; | ||
| 836 | 838 | ||
| 837 | pub->t = (struct scalar *)bytes + offset; | 839 | pub->t = (struct scalar *)bytes + offset; |
| 838 | offset += vector_size; | 840 | offset += vector_size; |
| @@ -856,10 +858,12 @@ private_key_from_external(const MLKEM_private_key *external, | |||
| 856 | { | 858 | { |
| 857 | size_t vector_size = external->rank * sizeof(scalar); | 859 | size_t vector_size = external->rank * sizeof(scalar); |
| 858 | size_t offset = 0; | 860 | size_t offset = 0; |
| 859 | uint8_t *bytes = external->key_768->bytes; | 861 | uint8_t *bytes; |
| 860 | 862 | ||
| 861 | if (external->rank == MLKEM1024_RANK) | 863 | if (external->rank == MLKEM1024_RANK) |
| 862 | bytes = external->key_1024->bytes; | 864 | bytes = external->key_1024->bytes; |
| 865 | else | ||
| 866 | bytes = external->key_768->bytes; | ||
| 863 | 867 | ||
| 864 | priv->pub.t = (struct scalar *)(bytes + offset); | 868 | priv->pub.t = (struct scalar *)(bytes + offset); |
| 865 | offset += vector_size; | 869 | offset += vector_size; |
