xref: /openbsd-src/lib/libcrypto/hidden/openssl/mlkem.h (revision b229b719d05e403837bab6cc47bd98275a2b4604)
1 /* $OpenBSD: mlkem.h,v 1.4 2024/12/20 15:10:31 tb Exp $ */
2 /*
3  * Copyright (c) 2024 Bob Beck <beck@obtuse.com>
4  *
5  * Permission to use, copy, modify, and distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #ifndef _LIBCRYPTO_MLKEM_H
19 #define _LIBCRYPTO_MLKEM_H
20 
21 /* Undo when making public */
22 #ifdef LIBRESSL_HAS_MLKEM
23 
24 #ifndef _MSC_VER
25 #include_next <openssl/mlkem.h>
26 #else
27 #include "../include/openssl/mlkem.h"
28 #endif
29 #include "crypto_namespace.h"
30 
31 LCRYPTO_USED(MLKEM768_generate_key);
32 LCRYPTO_USED(MLKEM768_public_from_private);
33 LCRYPTO_USED(MLKEM768_encap);
34 LCRYPTO_USED(MLKEM768_decap);
35 LCRYPTO_USED(MLKEM768_marshal_public_key);
36 LCRYPTO_USED(MLKEM768_parse_public_key);
37 LCRYPTO_USED(MLKEM768_private_key_from_seed);
38 LCRYPTO_USED(MLKEM768_parse_private_key);
39 LCRYPTO_USED(MLKEM1024_generate_key);
40 LCRYPTO_USED(MLKEM1024_public_from_private);
41 LCRYPTO_USED(MLKEM1024_encap);
42 LCRYPTO_USED(MLKEM1024_decap);
43 LCRYPTO_USED(MLKEM1024_marshal_public_key);
44 LCRYPTO_USED(MLKEM1024_parse_public_key);
45 LCRYPTO_USED(MLKEM1024_private_key_from_seed);
46 LCRYPTO_USED(MLKEM1024_parse_private_key);
47 #endif /* LIBRESSL_HAS_MLKEM */
48 
49 #endif /* _LIBCRYPTO_MLKEM_H */
50