xref: /freebsd-src/crypto/openssl/providers/implementations/include/prov/names.h (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
1*b077aed3SPierre Pronchery /*
2*b077aed3SPierre Pronchery  * Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
3*b077aed3SPierre Pronchery  *
4*b077aed3SPierre Pronchery  * Licensed under the Apache License 2.0 (the "License").  You may not use
5*b077aed3SPierre Pronchery  * this file except in compliance with the License.  You can obtain a copy
6*b077aed3SPierre Pronchery  * in the file LICENSE in the source distribution or at
7*b077aed3SPierre Pronchery  * https://www.openssl.org/source/license.html
8*b077aed3SPierre Pronchery  */
9*b077aed3SPierre Pronchery 
10*b077aed3SPierre Pronchery /*
11*b077aed3SPierre Pronchery  * Macros for use as names and descriptions in our providers' OSSL_ALGORITHM.
12*b077aed3SPierre Pronchery  *
13*b077aed3SPierre Pronchery  * All the strings are formatted the same way:
14*b077aed3SPierre Pronchery  *
15*b077aed3SPierre Pronchery  *     Our primary name[:other names][:numeric OID]
16*b077aed3SPierre Pronchery  *
17*b077aed3SPierre Pronchery  * 'other names' include historical OpenSSL names, NIST names, ASN.1 OBJECT
18*b077aed3SPierre Pronchery  * IDENTIFIER names, and commonly known aliases.
19*b077aed3SPierre Pronchery  *
20*b077aed3SPierre Pronchery  * Where it matters, our primary names follow this format:
21*b077aed3SPierre Pronchery  *
22*b077aed3SPierre Pronchery  *     ALGNAME[VERSION?][-SUBNAME[VERSION?]?][-SIZE?][-MODE?]
23*b077aed3SPierre Pronchery  *
24*b077aed3SPierre Pronchery  *     VERSION is only present if there are multiple versions of
25*b077aed3SPierre Pronchery  *     an alg (MD2, MD4, MD5).  It may be omitted if there is only
26*b077aed3SPierre Pronchery  *     one version (if a subsequent version is released in the future,
27*b077aed3SPierre Pronchery  *     we can always change the canonical name, and add the old name
28*b077aed3SPierre Pronchery  *     as an alias).
29*b077aed3SPierre Pronchery  *
30*b077aed3SPierre Pronchery  *     SUBNAME may be present where we are combining multiple
31*b077aed3SPierre Pronchery  *     algorithms together, e.g. MD5-SHA1.
32*b077aed3SPierre Pronchery  *
33*b077aed3SPierre Pronchery  *     SIZE is only present if multiple versions of an algorithm exist
34*b077aed3SPierre Pronchery  *     with different sizes (e.g. AES-128-CBC, AES-256-CBC)
35*b077aed3SPierre Pronchery  *
36*b077aed3SPierre Pronchery  *     MODE is only present where applicable.
37*b077aed3SPierre Pronchery  */
38*b077aed3SPierre Pronchery 
39*b077aed3SPierre Pronchery /*-
40*b077aed3SPierre Pronchery  * Symmetric ciphers
41*b077aed3SPierre Pronchery  * -----------------
42*b077aed3SPierre Pronchery  */
43*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_ECB "AES-256-ECB:2.16.840.1.101.3.4.1.41"
44*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_ECB "AES-192-ECB:2.16.840.1.101.3.4.1.21"
45*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_ECB "AES-128-ECB:2.16.840.1.101.3.4.1.1"
46*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CBC "AES-256-CBC:AES256:2.16.840.1.101.3.4.1.42"
47*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_CBC "AES-192-CBC:AES192:2.16.840.1.101.3.4.1.22"
48*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CBC "AES-128-CBC:AES128:2.16.840.1.101.3.4.1.2"
49*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CBC_CTS "AES-256-CBC-CTS"
50*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_CBC_CTS "AES-192-CBC-CTS"
51*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CBC_CTS "AES-128-CBC-CTS"
52*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_OFB "AES-256-OFB:2.16.840.1.101.3.4.1.43"
53*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_OFB "AES-192-OFB:2.16.840.1.101.3.4.1.23"
54*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_OFB "AES-128-OFB:2.16.840.1.101.3.4.1.3"
55*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CFB "AES-256-CFB:2.16.840.1.101.3.4.1.44"
56*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_CFB "AES-192-CFB:2.16.840.1.101.3.4.1.24"
57*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CFB "AES-128-CFB:2.16.840.1.101.3.4.1.4"
58*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CFB1 "AES-256-CFB1"
59*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_CFB1 "AES-192-CFB1"
60*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CFB1 "AES-128-CFB1"
61*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CFB8 "AES-256-CFB8"
62*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_CFB8 "AES-192-CFB8"
63*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CFB8 "AES-128-CFB8"
64*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CTR "AES-256-CTR"
65*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_CTR "AES-192-CTR"
66*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CTR "AES-128-CTR"
67*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_XTS "AES-256-XTS:1.3.111.2.1619.0.1.2"
68*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_XTS "AES-128-XTS:1.3.111.2.1619.0.1.1"
69*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_GCM "AES-256-GCM:id-aes256-GCM:2.16.840.1.101.3.4.1.46"
70*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_GCM "AES-192-GCM:id-aes192-GCM:2.16.840.1.101.3.4.1.26"
71*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_GCM "AES-128-GCM:id-aes128-GCM:2.16.840.1.101.3.4.1.6"
72*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CCM "AES-256-CCM:id-aes256-CCM:2.16.840.1.101.3.4.1.47"
73*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_CCM "AES-192-CCM:id-aes192-CCM:2.16.840.1.101.3.4.1.27"
74*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CCM "AES-128-CCM:id-aes128-CCM:2.16.840.1.101.3.4.1.7"
75*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_WRAP "AES-256-WRAP:id-aes256-wrap:AES256-WRAP:2.16.840.1.101.3.4.1.45"
76*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_WRAP "AES-192-WRAP:id-aes192-wrap:AES192-WRAP:2.16.840.1.101.3.4.1.25"
77*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_WRAP "AES-128-WRAP:id-aes128-wrap:AES128-WRAP:2.16.840.1.101.3.4.1.5"
78*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_WRAP_PAD "AES-256-WRAP-PAD:id-aes256-wrap-pad:AES256-WRAP-PAD:2.16.840.1.101.3.4.1.48"
79*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_WRAP_PAD "AES-192-WRAP-PAD:id-aes192-wrap-pad:AES192-WRAP-PAD:2.16.840.1.101.3.4.1.28"
80*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_WRAP_PAD "AES-128-WRAP-PAD:id-aes128-wrap-pad:AES128-WRAP-PAD:2.16.840.1.101.3.4.1.8"
81*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_WRAP_INV "AES-256-WRAP-INV:AES256-WRAP-INV"
82*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_WRAP_INV "AES-192-WRAP-INV:AES192-WRAP-INV"
83*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_WRAP_INV "AES-128-WRAP-INV:AES128-WRAP-INV"
84*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_WRAP_PAD_INV "AES-256-WRAP-PAD-INV:AES256-WRAP-PAD-INV"
85*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_WRAP_PAD_INV "AES-192-WRAP-PAD-INV:AES192-WRAP-PAD-INV"
86*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_WRAP_PAD_INV "AES-128-WRAP-PAD-INV:AES128-WRAP-PAD-INV"
87*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CBC_HMAC_SHA1 "AES-128-CBC-HMAC-SHA1"
88*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CBC_HMAC_SHA1 "AES-256-CBC-HMAC-SHA1"
89*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_CBC_HMAC_SHA256 "AES-128-CBC-HMAC-SHA256"
90*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_CBC_HMAC_SHA256 "AES-256-CBC-HMAC-SHA256"
91*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE3_ECB "DES-EDE3-ECB:DES-EDE3"
92*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE3_CBC "DES-EDE3-CBC:DES3:1.2.840.113549.3.7"
93*b077aed3SPierre Pronchery #define PROV_NAMES_NULL "NULL"
94*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_OCB "AES-256-OCB"
95*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_OCB "AES-192-OCB"
96*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_OCB "AES-128-OCB"
97*b077aed3SPierre Pronchery #define PROV_NAMES_AES_128_SIV "AES-128-SIV"
98*b077aed3SPierre Pronchery #define PROV_NAMES_AES_192_SIV "AES-192-SIV"
99*b077aed3SPierre Pronchery #define PROV_NAMES_AES_256_SIV "AES-256-SIV"
100*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_GCM "ARIA-256-GCM:1.2.410.200046.1.1.36"
101*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_GCM "ARIA-192-GCM:1.2.410.200046.1.1.35"
102*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_GCM "ARIA-128-GCM:1.2.410.200046.1.1.34"
103*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_CCM "ARIA-256-CCM:1.2.410.200046.1.1.39"
104*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_CCM "ARIA-192-CCM:1.2.410.200046.1.1.38"
105*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_CCM "ARIA-128-CCM:1.2.410.200046.1.1.37"
106*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_ECB "ARIA-256-ECB:1.2.410.200046.1.1.11"
107*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_ECB "ARIA-192-ECB:1.2.410.200046.1.1.6"
108*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_ECB "ARIA-128-ECB:1.2.410.200046.1.1.1"
109*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_CBC "ARIA-256-CBC:ARIA256:1.2.410.200046.1.1.12"
110*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_CBC "ARIA-192-CBC:ARIA192:1.2.410.200046.1.1.7"
111*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_CBC "ARIA-128-CBC:ARIA128:1.2.410.200046.1.1.2"
112*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_OFB "ARIA-256-OFB:1.2.410.200046.1.1.14"
113*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_OFB "ARIA-192-OFB:1.2.410.200046.1.1.9"
114*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_OFB "ARIA-128-OFB:1.2.410.200046.1.1.4"
115*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_CFB "ARIA-256-CFB:1.2.410.200046.1.1.13"
116*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_CFB "ARIA-192-CFB:1.2.410.200046.1.1.8"
117*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_CFB "ARIA-128-CFB:1.2.410.200046.1.1.3"
118*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_CFB1 "ARIA-256-CFB1"
119*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_CFB1 "ARIA-192-CFB1"
120*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_CFB1 "ARIA-128-CFB1"
121*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_CFB8 "ARIA-256-CFB8"
122*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_CFB8 "ARIA-192-CFB8"
123*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_CFB8 "ARIA-128-CFB8"
124*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_256_CTR "ARIA-256-CTR:1.2.410.200046.1.1.15"
125*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_192_CTR "ARIA-192-CTR:1.2.410.200046.1.1.10"
126*b077aed3SPierre Pronchery #define PROV_NAMES_ARIA_128_CTR "ARIA-128-CTR:1.2.410.200046.1.1.5"
127*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_256_ECB "CAMELLIA-256-ECB:0.3.4401.5.3.1.9.41"
128*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_192_ECB "CAMELLIA-192-ECB:0.3.4401.5.3.1.9.21"
129*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_128_ECB "CAMELLIA-128-ECB:0.3.4401.5.3.1.9.1"
130*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_256_CBC "CAMELLIA-256-CBC:CAMELLIA256:1.2.392.200011.61.1.1.1.4"
131*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_192_CBC "CAMELLIA-192-CBC:CAMELLIA192:1.2.392.200011.61.1.1.1.3"
132*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_128_CBC "CAMELLIA-128-CBC:CAMELLIA128:1.2.392.200011.61.1.1.1.2"
133*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_256_CBC_CTS "CAMELLIA-256-CBC-CTS"
134*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_192_CBC_CTS "CAMELLIA-192-CBC-CTS"
135*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_128_CBC_CTS "CAMELLIA-128-CBC-CTS"
136*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_256_OFB "CAMELLIA-256-OFB:0.3.4401.5.3.1.9.43"
137*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_192_OFB "CAMELLIA-192-OFB:0.3.4401.5.3.1.9.23"
138*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_128_OFB "CAMELLIA-128-OFB:0.3.4401.5.3.1.9.3"
139*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_256_CFB "CAMELLIA-256-CFB:0.3.4401.5.3.1.9.44"
140*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_192_CFB "CAMELLIA-192-CFB:0.3.4401.5.3.1.9.24"
141*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_128_CFB "CAMELLIA-128-CFB:0.3.4401.5.3.1.9.4"
142*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_256_CFB1 "CAMELLIA-256-CFB1"
143*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_192_CFB1 "CAMELLIA-192-CFB1"
144*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_128_CFB1 "CAMELLIA-128-CFB1"
145*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_256_CFB8 "CAMELLIA-256-CFB8"
146*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_192_CFB8 "CAMELLIA-192-CFB8"
147*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_128_CFB8 "CAMELLIA-128-CFB8"
148*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_256_CTR "CAMELLIA-256-CTR:0.3.4401.5.3.1.9.49"
149*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_192_CTR "CAMELLIA-192-CTR:0.3.4401.5.3.1.9.29"
150*b077aed3SPierre Pronchery #define PROV_NAMES_CAMELLIA_128_CTR "CAMELLIA-128-CTR:0.3.4401.5.3.1.9.9"
151*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE3_OFB "DES-EDE3-OFB"
152*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE3_CFB "DES-EDE3-CFB"
153*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE3_CFB8 "DES-EDE3-CFB8"
154*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE3_CFB1 "DES-EDE3-CFB1"
155*b077aed3SPierre Pronchery #define PROV_NAMES_DES3_WRAP "DES3-WRAP:id-smime-alg-CMS3DESwrap:1.2.840.113549.1.9.16.3.6"
156*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE_ECB "DES-EDE-ECB:DES-EDE:1.3.14.3.2.17"
157*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE_CBC "DES-EDE-CBC"
158*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE_OFB "DES-EDE-OFB"
159*b077aed3SPierre Pronchery #define PROV_NAMES_DES_EDE_CFB "DES-EDE-CFB"
160*b077aed3SPierre Pronchery #define PROV_NAMES_SM4_ECB "SM4-ECB:1.2.156.10197.1.104.1"
161*b077aed3SPierre Pronchery #define PROV_NAMES_SM4_CBC "SM4-CBC:SM4:1.2.156.10197.1.104.2"
162*b077aed3SPierre Pronchery #define PROV_NAMES_SM4_CTR "SM4-CTR:1.2.156.10197.1.104.7"
163*b077aed3SPierre Pronchery #define PROV_NAMES_SM4_OFB "SM4-OFB:SM4-OFB128:1.2.156.10197.1.104.3"
164*b077aed3SPierre Pronchery #define PROV_NAMES_SM4_CFB "SM4-CFB:SM4-CFB128:1.2.156.10197.1.104.4"
165*b077aed3SPierre Pronchery #define PROV_NAMES_ChaCha20 "ChaCha20"
166*b077aed3SPierre Pronchery #define PROV_NAMES_ChaCha20_Poly1305 "ChaCha20-Poly1305"
167*b077aed3SPierre Pronchery #define PROV_NAMES_CAST5_ECB "CAST5-ECB"
168*b077aed3SPierre Pronchery #define PROV_NAMES_CAST5_CBC "CAST5-CBC:CAST-CBC:CAST:1.2.840.113533.7.66.10"
169*b077aed3SPierre Pronchery #define PROV_NAMES_CAST5_OFB "CAST5-OFB"
170*b077aed3SPierre Pronchery #define PROV_NAMES_CAST5_CFB "CAST5-CFB"
171*b077aed3SPierre Pronchery #define PROV_NAMES_BF_ECB "BF-ECB"
172*b077aed3SPierre Pronchery #define PROV_NAMES_BF_CBC "BF-CBC:BF:BLOWFISH:1.3.6.1.4.1.3029.1.2"
173*b077aed3SPierre Pronchery #define PROV_NAMES_BF_OFB "BF-OFB"
174*b077aed3SPierre Pronchery #define PROV_NAMES_BF_CFB "BF-CFB"
175*b077aed3SPierre Pronchery #define PROV_NAMES_IDEA_ECB "IDEA-ECB"
176*b077aed3SPierre Pronchery #define PROV_NAMES_IDEA_CBC "IDEA-CBC:IDEA:1.3.6.1.4.1.188.7.1.1.2"
177*b077aed3SPierre Pronchery #define PROV_NAMES_IDEA_OFB "IDEA-OFB:IDEA-OFB64"
178*b077aed3SPierre Pronchery #define PROV_NAMES_IDEA_CFB "IDEA-CFB:IDEA-CFB64"
179*b077aed3SPierre Pronchery #define PROV_NAMES_SEED_ECB "SEED-ECB:1.2.410.200004.1.3"
180*b077aed3SPierre Pronchery #define PROV_NAMES_SEED_CBC "SEED-CBC:SEED:1.2.410.200004.1.4"
181*b077aed3SPierre Pronchery #define PROV_NAMES_SEED_OFB "SEED-OFB:SEED-OFB128:1.2.410.200004.1.6"
182*b077aed3SPierre Pronchery #define PROV_NAMES_SEED_CFB "SEED-CFB:SEED-CFB128:1.2.410.200004.1.5"
183*b077aed3SPierre Pronchery #define PROV_NAMES_RC2_ECB "RC2-ECB"
184*b077aed3SPierre Pronchery #define PROV_NAMES_RC2_CBC "RC2-CBC:RC2:RC2-128:1.2.840.113549.3.2"
185*b077aed3SPierre Pronchery #define PROV_NAMES_RC2_40_CBC "RC2-40-CBC:RC2-40"
186*b077aed3SPierre Pronchery #define PROV_NAMES_RC2_64_CBC "RC2-64-CBC:RC2-64"
187*b077aed3SPierre Pronchery #define PROV_NAMES_RC2_CFB "RC2-CFB"
188*b077aed3SPierre Pronchery #define PROV_NAMES_RC2_OFB "RC2-OFB"
189*b077aed3SPierre Pronchery #define PROV_NAMES_RC4 "RC4:1.2.840.113549.3.4"
190*b077aed3SPierre Pronchery #define PROV_NAMES_RC4_40 "RC4-40"
191*b077aed3SPierre Pronchery #define PROV_NAMES_RC4_HMAC_MD5 "RC4-HMAC-MD5"
192*b077aed3SPierre Pronchery #define PROV_NAMES_RC5_ECB "RC5-ECB"
193*b077aed3SPierre Pronchery #define PROV_NAMES_RC5_CBC "RC5-CBC:RC5:1.2.840.113549.3.8"
194*b077aed3SPierre Pronchery #define PROV_NAMES_RC5_OFB "RC5-OFB"
195*b077aed3SPierre Pronchery #define PROV_NAMES_RC5_CFB "RC5-CFB"
196*b077aed3SPierre Pronchery #define PROV_NAMES_DESX_CBC "DESX-CBC:DESX"
197*b077aed3SPierre Pronchery #define PROV_NAMES_DES_ECB "DES-ECB:1.3.14.3.2.6"
198*b077aed3SPierre Pronchery #define PROV_NAMES_DES_CBC "DES-CBC:DES:1.3.14.3.2.7"
199*b077aed3SPierre Pronchery #define PROV_NAMES_DES_OFB "DES-OFB:1.3.14.3.2.8"
200*b077aed3SPierre Pronchery #define PROV_NAMES_DES_CFB "DES-CFB:1.3.14.3.2.9"
201*b077aed3SPierre Pronchery #define PROV_NAMES_DES_CFB1 "DES-CFB1"
202*b077aed3SPierre Pronchery #define PROV_NAMES_DES_CFB8 "DES-CFB8"
203*b077aed3SPierre Pronchery 
204*b077aed3SPierre Pronchery /*-
205*b077aed3SPierre Pronchery  * Digests
206*b077aed3SPierre Pronchery  * -------
207*b077aed3SPierre Pronchery  */
208*b077aed3SPierre Pronchery #define PROV_NAMES_SHA1 "SHA1:SHA-1:SSL3-SHA1:1.3.14.3.2.26"
209*b077aed3SPierre Pronchery #define PROV_NAMES_SHA2_224 "SHA2-224:SHA-224:SHA224:2.16.840.1.101.3.4.2.4"
210*b077aed3SPierre Pronchery #define PROV_NAMES_SHA2_256 "SHA2-256:SHA-256:SHA256:2.16.840.1.101.3.4.2.1"
211*b077aed3SPierre Pronchery #define PROV_NAMES_SHA2_384 "SHA2-384:SHA-384:SHA384:2.16.840.1.101.3.4.2.2"
212*b077aed3SPierre Pronchery #define PROV_NAMES_SHA2_512 "SHA2-512:SHA-512:SHA512:2.16.840.1.101.3.4.2.3"
213*b077aed3SPierre Pronchery #define PROV_NAMES_SHA2_512_224 "SHA2-512/224:SHA-512/224:SHA512-224:2.16.840.1.101.3.4.2.5"
214*b077aed3SPierre Pronchery #define PROV_NAMES_SHA2_512_256 "SHA2-512/256:SHA-512/256:SHA512-256:2.16.840.1.101.3.4.2.6"
215*b077aed3SPierre Pronchery 
216*b077aed3SPierre Pronchery /* We agree with NIST here, so one name only */
217*b077aed3SPierre Pronchery #define PROV_NAMES_SHA3_224 "SHA3-224:2.16.840.1.101.3.4.2.7"
218*b077aed3SPierre Pronchery #define PROV_NAMES_SHA3_256 "SHA3-256:2.16.840.1.101.3.4.2.8"
219*b077aed3SPierre Pronchery #define PROV_NAMES_SHA3_384 "SHA3-384:2.16.840.1.101.3.4.2.9"
220*b077aed3SPierre Pronchery #define PROV_NAMES_SHA3_512 "SHA3-512:2.16.840.1.101.3.4.2.10"
221*b077aed3SPierre Pronchery 
222*b077aed3SPierre Pronchery #define PROV_NAMES_SHAKE_128 "SHAKE-128:SHAKE128:2.16.840.1.101.3.4.2.11"
223*b077aed3SPierre Pronchery #define PROV_NAMES_SHAKE_256 "SHAKE-256:SHAKE256:2.16.840.1.101.3.4.2.12"
224*b077aed3SPierre Pronchery 
225*b077aed3SPierre Pronchery /*
226*b077aed3SPierre Pronchery  * KECCAK-KMAC-128 and KECCAK-KMAC-256 as hashes are mostly useful for
227*b077aed3SPierre Pronchery  * KMAC128 and KMAC256.
228*b077aed3SPierre Pronchery  */
229*b077aed3SPierre Pronchery #define PROV_NAMES_KECCAK_KMAC_128 "KECCAK-KMAC-128:KECCAK-KMAC128"
230*b077aed3SPierre Pronchery #define PROV_NAMES_KECCAK_KMAC_256 "KECCAK-KMAC-256:KECCAK-KMAC256"
231*b077aed3SPierre Pronchery /*
232*b077aed3SPierre Pronchery  * https://blake2.net/ doesn't specify size variants, but mentions that
233*b077aed3SPierre Pronchery  * Bouncy Castle uses the names BLAKE2b-160, BLAKE2b-256, BLAKE2b-384, and
234*b077aed3SPierre Pronchery  * BLAKE2b-512
235*b077aed3SPierre Pronchery  * If we assume that "2b" and "2s" are versions, that pattern fits with ours.
236*b077aed3SPierre Pronchery  *  We also add our historical names.
237*b077aed3SPierre Pronchery  */
238*b077aed3SPierre Pronchery #define PROV_NAMES_BLAKE2S_256 "BLAKE2S-256:BLAKE2s256:1.3.6.1.4.1.1722.12.2.2.8"
239*b077aed3SPierre Pronchery #define PROV_NAMES_BLAKE2B_512 "BLAKE2B-512:BLAKE2b512:1.3.6.1.4.1.1722.12.2.1.16"
240*b077aed3SPierre Pronchery #define PROV_NAMES_SM3 "SM3:1.2.156.10197.1.401"
241*b077aed3SPierre Pronchery #define PROV_NAMES_MD5 "MD5:SSL3-MD5:1.2.840.113549.2.5"
242*b077aed3SPierre Pronchery #define PROV_NAMES_MD5_SHA1 "MD5-SHA1"
243*b077aed3SPierre Pronchery #define PROV_NAMES_MD2 "MD2:1.2.840.113549.2.2"
244*b077aed3SPierre Pronchery #define PROV_NAMES_MD4 "MD4:1.2.840.113549.2.4"
245*b077aed3SPierre Pronchery #define PROV_NAMES_MDC2 "MDC2:2.5.8.3.101"
246*b077aed3SPierre Pronchery #define PROV_NAMES_WHIRLPOOL "WHIRLPOOL:1.0.10118.3.0.55"
247*b077aed3SPierre Pronchery #define PROV_NAMES_RIPEMD_160 "RIPEMD-160:RIPEMD160:RIPEMD:RMD160:1.3.36.3.2.1"
248*b077aed3SPierre Pronchery 
249*b077aed3SPierre Pronchery /*-
250*b077aed3SPierre Pronchery  * KDFs / PRFs
251*b077aed3SPierre Pronchery  * -----------
252*b077aed3SPierre Pronchery  */
253*b077aed3SPierre Pronchery #define PROV_NAMES_HKDF "HKDF"
254*b077aed3SPierre Pronchery #define PROV_DESCS_HKDF_SIGN "OpenSSL HKDF via EVP_PKEY implementation"
255*b077aed3SPierre Pronchery #define PROV_NAMES_TLS1_3_KDF "TLS13-KDF"
256*b077aed3SPierre Pronchery #define PROV_NAMES_SSKDF "SSKDF"
257*b077aed3SPierre Pronchery #define PROV_NAMES_PBKDF1 "PBKDF1"
258*b077aed3SPierre Pronchery #define PROV_NAMES_PBKDF2 "PBKDF2:1.2.840.113549.1.5.12"
259*b077aed3SPierre Pronchery #define PROV_NAMES_SSHKDF "SSHKDF"
260*b077aed3SPierre Pronchery #define PROV_NAMES_X963KDF "X963KDF:X942KDF-CONCAT"
261*b077aed3SPierre Pronchery #define PROV_NAMES_X942KDF_ASN1 "X942KDF-ASN1:X942KDF"
262*b077aed3SPierre Pronchery #define PROV_NAMES_TLS1_PRF "TLS1-PRF"
263*b077aed3SPierre Pronchery #define PROV_DESCS_TLS1_PRF_SIGN "OpenSSL TLS1_PRF via EVP_PKEY implementation"
264*b077aed3SPierre Pronchery #define PROV_NAMES_KBKDF "KBKDF"
265*b077aed3SPierre Pronchery #define PROV_NAMES_PKCS12KDF "PKCS12KDF"
266*b077aed3SPierre Pronchery #define PROV_NAMES_SCRYPT "SCRYPT:id-scrypt:1.3.6.1.4.1.11591.4.11"
267*b077aed3SPierre Pronchery #define PROV_DESCS_SCRYPT_SIGN "OpenSSL SCRYPT via EVP_PKEY implementation"
268*b077aed3SPierre Pronchery #define PROV_NAMES_KRB5KDF "KRB5KDF"
269*b077aed3SPierre Pronchery 
270*b077aed3SPierre Pronchery /*-
271*b077aed3SPierre Pronchery  * MACs
272*b077aed3SPierre Pronchery  * ----
273*b077aed3SPierre Pronchery  */
274*b077aed3SPierre Pronchery #define PROV_NAMES_HMAC "HMAC"
275*b077aed3SPierre Pronchery #define PROV_DESCS_HMAC_SIGN "OpenSSL HMAC via EVP_PKEY implementation"
276*b077aed3SPierre Pronchery #define PROV_NAMES_CMAC "CMAC"
277*b077aed3SPierre Pronchery #define PROV_DESCS_CMAC_SIGN "OpenSSL CMAC via EVP_PKEY implementation"
278*b077aed3SPierre Pronchery #define PROV_NAMES_SIPHASH "SIPHASH"
279*b077aed3SPierre Pronchery #define PROV_DESCS_SIPHASH_SIGN "OpenSSL SIPHASH via EVP_PKEY implementation"
280*b077aed3SPierre Pronchery #define PROV_NAMES_POLY1305 "POLY1305"
281*b077aed3SPierre Pronchery #define PROV_DESCS_POLY1305_SIGN "OpenSSL POLY1305 via EVP_PKEY implementation"
282*b077aed3SPierre Pronchery #define PROV_NAMES_GMAC "GMAC:1.0.9797.3.4"
283*b077aed3SPierre Pronchery #define PROV_NAMES_KMAC_128 "KMAC-128:KMAC128:2.16.840.1.101.3.4.2.19"
284*b077aed3SPierre Pronchery #define PROV_NAMES_KMAC_256 "KMAC-256:KMAC256:2.16.840.1.101.3.4.2.20"
285*b077aed3SPierre Pronchery #define PROV_NAMES_BLAKE2BMAC "BLAKE2BMAC:1.3.6.1.4.1.1722.12.2.1"
286*b077aed3SPierre Pronchery #define PROV_NAMES_BLAKE2SMAC "BLAKE2SMAC:1.3.6.1.4.1.1722.12.2.2"
287*b077aed3SPierre Pronchery 
288*b077aed3SPierre Pronchery /*-
289*b077aed3SPierre Pronchery  * RANDs
290*b077aed3SPierre Pronchery  * -----
291*b077aed3SPierre Pronchery  */
292*b077aed3SPierre Pronchery #define PROV_NAMES_CTR_DRBG "CTR-DRBG"
293*b077aed3SPierre Pronchery #define PROV_NAMES_HASH_DRBG "HASH-DRBG"
294*b077aed3SPierre Pronchery #define PROV_NAMES_HMAC_DRBG "HMAC-DRBG"
295*b077aed3SPierre Pronchery #define PROV_NAMES_TEST_RAND "TEST-RAND"
296*b077aed3SPierre Pronchery #define PROV_NAMES_SEED_SRC "SEED-SRC"
297*b077aed3SPierre Pronchery 
298*b077aed3SPierre Pronchery /*-
299*b077aed3SPierre Pronchery  * Asymmetric algos
300*b077aed3SPierre Pronchery  * ----------------
301*b077aed3SPierre Pronchery  */
302*b077aed3SPierre Pronchery #define PROV_NAMES_EC "EC:id-ecPublicKey:1.2.840.10045.2.1"
303*b077aed3SPierre Pronchery #define PROV_DESCS_EC "OpenSSL EC implementation"
304*b077aed3SPierre Pronchery #define PROV_NAMES_ECDH "ECDH"
305*b077aed3SPierre Pronchery #define PROV_DESCS_ECDH "OpenSSL ECDH implementation"
306*b077aed3SPierre Pronchery #define PROV_NAMES_ECDSA "ECDSA"
307*b077aed3SPierre Pronchery #define PROV_DESCS_ECDSA "OpenSSL ECDSA implementation"
308*b077aed3SPierre Pronchery #define PROV_NAMES_X25519 "X25519:1.3.101.110"
309*b077aed3SPierre Pronchery #define PROV_DESCS_X25519 "OpenSSL X25519 implementation"
310*b077aed3SPierre Pronchery #define PROV_NAMES_X448 "X448:1.3.101.111"
311*b077aed3SPierre Pronchery #define PROV_DESCS_X448 "OpenSSL X448 implementation"
312*b077aed3SPierre Pronchery #define PROV_NAMES_ED25519 "ED25519:1.3.101.112"
313*b077aed3SPierre Pronchery #define PROV_DESCS_ED25519 "OpenSSL ED25519 implementation"
314*b077aed3SPierre Pronchery #define PROV_NAMES_ED448 "ED448:1.3.101.113"
315*b077aed3SPierre Pronchery #define PROV_DESCS_ED448 "OpenSSL ED448 implementation"
316*b077aed3SPierre Pronchery #define PROV_NAMES_DH "DH:dhKeyAgreement:1.2.840.113549.1.3.1"
317*b077aed3SPierre Pronchery #define PROV_DESCS_DH "OpenSSL PKCS#3 DH implementation"
318*b077aed3SPierre Pronchery #define PROV_NAMES_DHX "DHX:X9.42 DH:dhpublicnumber:1.2.840.10046.2.1"
319*b077aed3SPierre Pronchery #define PROV_DESCS_DHX "OpenSSL X9.42 DH implementation"
320*b077aed3SPierre Pronchery #define PROV_NAMES_DSA "DSA:dsaEncryption:1.2.840.10040.4.1"
321*b077aed3SPierre Pronchery #define PROV_DESCS_DSA "OpenSSL DSA implementation"
322*b077aed3SPierre Pronchery #define PROV_NAMES_RSA "RSA:rsaEncryption:1.2.840.113549.1.1.1"
323*b077aed3SPierre Pronchery #define PROV_DESCS_RSA "OpenSSL RSA implementation"
324*b077aed3SPierre Pronchery #define PROV_NAMES_RSA_PSS "RSA-PSS:RSASSA-PSS:1.2.840.113549.1.1.10"
325*b077aed3SPierre Pronchery #define PROV_DESCS_RSA_PSS "OpenSSL RSA-PSS implementation"
326*b077aed3SPierre Pronchery #define PROV_NAMES_SM2 "SM2:1.2.156.10197.1.301"
327*b077aed3SPierre Pronchery #define PROV_DESCS_SM2 "OpenSSL SM2 implementation"
328