xref: /freebsd/crypto/openssl/include/openssl/core_names.h.in (revision e7be843b4a162e68651d3911f0357ed464915629)
1/*
2 * {- join("\n * ", @autowarntext) -}
3 *
4 * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
5 *
6 * Licensed under the Apache License 2.0 (the "License").  You may not use
7 * this file except in compliance with the License.  You can obtain a copy
8 * in the file LICENSE in the source distribution or at
9 * https://www.openssl.org/source/license.html
10 */
11{-
12use OpenSSL::paramnames qw(generate_public_macros);
13-}
14
15#ifndef OPENSSL_CORE_NAMES_H
16# define OPENSSL_CORE_NAMES_H
17# pragma once
18
19# ifdef __cplusplus
20extern "C" {
21# endif
22
23/* OSSL_CIPHER_PARAM_CTS_MODE Values */
24# define OSSL_CIPHER_CTS_MODE_CS1 "CS1"
25# define OSSL_CIPHER_CTS_MODE_CS2 "CS2"
26# define OSSL_CIPHER_CTS_MODE_CS3 "CS3"
27
28/* Known CIPHER names (not a complete list) */
29# define OSSL_CIPHER_NAME_AES_128_GCM_SIV      "AES-128-GCM-SIV"
30# define OSSL_CIPHER_NAME_AES_192_GCM_SIV      "AES-192-GCM-SIV"
31# define OSSL_CIPHER_NAME_AES_256_GCM_SIV      "AES-256-GCM-SIV"
32
33/* Known DIGEST names (not a complete list) */
34# define OSSL_DIGEST_NAME_MD5            "MD5"
35# define OSSL_DIGEST_NAME_MD5_SHA1       "MD5-SHA1"
36# define OSSL_DIGEST_NAME_SHA1           "SHA1"
37# define OSSL_DIGEST_NAME_SHA2_224       "SHA2-224"
38# define OSSL_DIGEST_NAME_SHA2_256       "SHA2-256"
39# define OSSL_DIGEST_NAME_SHA2_256_192   "SHA2-256/192"
40# define OSSL_DIGEST_NAME_SHA2_384       "SHA2-384"
41# define OSSL_DIGEST_NAME_SHA2_512       "SHA2-512"
42# define OSSL_DIGEST_NAME_SHA2_512_224   "SHA2-512/224"
43# define OSSL_DIGEST_NAME_SHA2_512_256   "SHA2-512/256"
44# define OSSL_DIGEST_NAME_MD2            "MD2"
45# define OSSL_DIGEST_NAME_MD4            "MD4"
46# define OSSL_DIGEST_NAME_MDC2           "MDC2"
47# define OSSL_DIGEST_NAME_RIPEMD160      "RIPEMD160"
48# define OSSL_DIGEST_NAME_SHA3_224       "SHA3-224"
49# define OSSL_DIGEST_NAME_SHA3_256       "SHA3-256"
50# define OSSL_DIGEST_NAME_SHA3_384       "SHA3-384"
51# define OSSL_DIGEST_NAME_SHA3_512       "SHA3-512"
52# define OSSL_DIGEST_NAME_KECCAK_KMAC128 "KECCAK-KMAC-128"
53# define OSSL_DIGEST_NAME_KECCAK_KMAC256 "KECCAK-KMAC-256"
54# define OSSL_DIGEST_NAME_SM3            "SM3"
55
56/* Known MAC names */
57# define OSSL_MAC_NAME_BLAKE2BMAC    "BLAKE2BMAC"
58# define OSSL_MAC_NAME_BLAKE2SMAC    "BLAKE2SMAC"
59# define OSSL_MAC_NAME_CMAC          "CMAC"
60# define OSSL_MAC_NAME_GMAC          "GMAC"
61# define OSSL_MAC_NAME_HMAC          "HMAC"
62# define OSSL_MAC_NAME_KMAC128       "KMAC128"
63# define OSSL_MAC_NAME_KMAC256       "KMAC256"
64# define OSSL_MAC_NAME_POLY1305      "POLY1305"
65# define OSSL_MAC_NAME_SIPHASH       "SIPHASH"
66
67/* Known KDF names */
68# define OSSL_KDF_NAME_HKDF           "HKDF"
69# define OSSL_KDF_NAME_TLS1_3_KDF     "TLS13-KDF"
70# define OSSL_KDF_NAME_PBKDF1         "PBKDF1"
71# define OSSL_KDF_NAME_PBKDF2         "PBKDF2"
72# define OSSL_KDF_NAME_SCRYPT         "SCRYPT"
73# define OSSL_KDF_NAME_SSHKDF         "SSHKDF"
74# define OSSL_KDF_NAME_SSKDF          "SSKDF"
75# define OSSL_KDF_NAME_TLS1_PRF       "TLS1-PRF"
76# define OSSL_KDF_NAME_X942KDF_ASN1   "X942KDF-ASN1"
77# define OSSL_KDF_NAME_X942KDF_CONCAT "X942KDF-CONCAT"
78# define OSSL_KDF_NAME_X963KDF        "X963KDF"
79# define OSSL_KDF_NAME_KBKDF          "KBKDF"
80# define OSSL_KDF_NAME_KRB5KDF        "KRB5KDF"
81# define OSSL_KDF_NAME_HMACDRBGKDF    "HMAC-DRBG-KDF"
82
83/* RSA padding modes */
84# define OSSL_PKEY_RSA_PAD_MODE_NONE    "none"
85# define OSSL_PKEY_RSA_PAD_MODE_PKCSV15 "pkcs1"
86# define OSSL_PKEY_RSA_PAD_MODE_OAEP    "oaep"
87# define OSSL_PKEY_RSA_PAD_MODE_X931    "x931"
88# define OSSL_PKEY_RSA_PAD_MODE_PSS     "pss"
89
90/* RSA pss padding salt length */
91# define OSSL_PKEY_RSA_PSS_SALT_LEN_DIGEST "digest"
92# define OSSL_PKEY_RSA_PSS_SALT_LEN_MAX    "max"
93# define OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO   "auto"
94# define OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO_DIGEST_MAX "auto-digestmax"
95
96/* OSSL_PKEY_PARAM_EC_ENCODING values */
97# define OSSL_PKEY_EC_ENCODING_EXPLICIT  "explicit"
98# define OSSL_PKEY_EC_ENCODING_GROUP     "named_curve"
99
100# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_UNCOMPRESSED "uncompressed"
101# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_COMPRESSED   "compressed"
102# define OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_HYBRID       "hybrid"
103
104# define OSSL_PKEY_EC_GROUP_CHECK_DEFAULT     "default"
105# define OSSL_PKEY_EC_GROUP_CHECK_NAMED       "named"
106# define OSSL_PKEY_EC_GROUP_CHECK_NAMED_NIST  "named-nist"
107
108/* PROV_SKEY well known key types */
109# define OSSL_SKEY_TYPE_GENERIC             "GENERIC-SECRET"
110# define OSSL_SKEY_TYPE_AES                 "AES"
111
112/* OSSL_KEM_PARAM_OPERATION values */
113#define OSSL_KEM_PARAM_OPERATION_RSASVE     "RSASVE"
114#define OSSL_KEM_PARAM_OPERATION_DHKEM      "DHKEM"
115
116/* Provider configuration variables */
117#define OSSL_PKEY_RETAIN_SEED   "pkey_retain_seed"
118
119/* Parameter name definitions - generated by util/perl/OpenSSL/paramnames.pm */
120{- generate_public_macros(); -}
121
122# ifdef __cplusplus
123}
124# endif
125
126#endif
127