summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/mlkem/mlkem_internal.c10
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;