aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBob Beck <bbe@google.com>2024-03-09 18:15:01 +0000
committerBoringssl LUCI CQ <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com>2024-06-04 20:39:03 +0000
commite491eeb610fcc69b98bc6d1ba08faf78655808f6 (patch)
treecc1b04750d8cf048500403efedd9ebca01157212 /include
parenta11277e187e407d0ef403b8a60d9a32eaab7d301 (diff)
downloadboringssl-e491eeb610fcc69b98bc6d1ba08faf78655808f6.zip
boringssl-e491eeb610fcc69b98bc6d1ba08faf78655808f6.tar.gz
boringssl-e491eeb610fcc69b98bc6d1ba08faf78655808f6.tar.bz2
Mark kyber as experimental
Kyber will be changing once the standardization of ML_KEM is finalized by NIST. Update-Note: The use of Kyber functions from <openssl/experimental/kyber.h> will not compile unless the build using them defines an appropriate preprocessor define. As this interface will change once NIST finalizes the standardization of ML_KEM. Users of this code must be aware, and be prepared to make changes when this happens Change-Id: I159bae38e58dd059b3fcccf69ae9f3d5fb03bd46 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/66868 Reviewed-by: David Benjamin <davidben@google.com> Commit-Queue: Bob Beck <bbe@google.com>
Diffstat (limited to 'include')
-rw-r--r--include/openssl/experimental/kyber.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/openssl/experimental/kyber.h b/include/openssl/experimental/kyber.h
index e0268fc..e6e9e9a 100644
--- a/include/openssl/experimental/kyber.h
+++ b/include/openssl/experimental/kyber.h
@@ -22,6 +22,14 @@ extern "C" {
#endif
+#if defined(OPENSSL_UNSTABLE_EXPERIMENTAL_KYBER)
+// This header implements experimental, draft versions of not-yet-standardized
+// primitives. When the standard is complete, these functions will be removed
+// and replaced with the final, incompatible standard version. They are
+// available now for short-lived experiments, but must not be deployed anywhere
+// durable, such as a long-lived key store. To use these functions define
+// OPENSSL_UNSTABLE_EXPERIMENTAL_KYBER
+
// Kyber768.
//
// This implements the round-3 specification of Kyber, defined at
@@ -128,6 +136,8 @@ OPENSSL_EXPORT int KYBER_marshal_private_key(
OPENSSL_EXPORT int KYBER_parse_private_key(
struct KYBER_private_key *out_private_key, CBS *in);
+#endif // OPENSSL_UNSTABLE_EXPERIMENTAL_KYBER
+
#if defined(__cplusplus)
} // extern C