1238384Sjkim/* crypto/evp/evp_fips.c */
2280304Sjkim/*
3280304Sjkim * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
4238384Sjkim * project.
5238384Sjkim */
6238384Sjkim/* ====================================================================
7238384Sjkim * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
8238384Sjkim *
9238384Sjkim * Redistribution and use in source and binary forms, with or without
10238384Sjkim * modification, are permitted provided that the following conditions
11238384Sjkim * are met:
12238384Sjkim *
13238384Sjkim * 1. Redistributions of source code must retain the above copyright
14280304Sjkim *    notice, this list of conditions and the following disclaimer.
15238384Sjkim *
16238384Sjkim * 2. Redistributions in binary form must reproduce the above copyright
17238384Sjkim *    notice, this list of conditions and the following disclaimer in
18238384Sjkim *    the documentation and/or other materials provided with the
19238384Sjkim *    distribution.
20238384Sjkim *
21238384Sjkim * 3. All advertising materials mentioning features or use of this
22238384Sjkim *    software must display the following acknowledgment:
23238384Sjkim *    "This product includes software developed by the OpenSSL Project
24238384Sjkim *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
25238384Sjkim *
26238384Sjkim * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
27238384Sjkim *    endorse or promote products derived from this software without
28238384Sjkim *    prior written permission. For written permission, please contact
29238384Sjkim *    licensing@OpenSSL.org.
30238384Sjkim *
31238384Sjkim * 5. Products derived from this software may not be called "OpenSSL"
32238384Sjkim *    nor may "OpenSSL" appear in their names without prior written
33238384Sjkim *    permission of the OpenSSL Project.
34238384Sjkim *
35238384Sjkim * 6. Redistributions of any form whatsoever must retain the following
36238384Sjkim *    acknowledgment:
37238384Sjkim *    "This product includes software developed by the OpenSSL Project
38238384Sjkim *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
39238384Sjkim *
40238384Sjkim * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
41238384Sjkim * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42238384Sjkim * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
43238384Sjkim * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
44238384Sjkim * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45238384Sjkim * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
46238384Sjkim * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
47238384Sjkim * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48238384Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
49238384Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
50238384Sjkim * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
51238384Sjkim * OF THE POSSIBILITY OF SUCH DAMAGE.
52238384Sjkim * ====================================================================
53238384Sjkim */
54238384Sjkim
55238384Sjkim#include <openssl/evp.h>
56238384Sjkim
57238384Sjkim#ifdef OPENSSL_FIPS
58280304Sjkim# include <openssl/fips.h>
59238384Sjkim
60280304Sjkimconst EVP_CIPHER *EVP_aes_128_cbc(void)
61280304Sjkim{
62280304Sjkim    return FIPS_evp_aes_128_cbc();
63280304Sjkim}
64238384Sjkim
65280304Sjkimconst EVP_CIPHER *EVP_aes_128_ccm(void)
66280304Sjkim{
67280304Sjkim    return FIPS_evp_aes_128_ccm();
68280304Sjkim}
69238384Sjkim
70280304Sjkimconst EVP_CIPHER *EVP_aes_128_cfb1(void)
71280304Sjkim{
72280304Sjkim    return FIPS_evp_aes_128_cfb1();
73280304Sjkim}
74238384Sjkim
75280304Sjkimconst EVP_CIPHER *EVP_aes_128_cfb128(void)
76280304Sjkim{
77280304Sjkim    return FIPS_evp_aes_128_cfb128();
78280304Sjkim}
79280304Sjkim
80280304Sjkimconst EVP_CIPHER *EVP_aes_128_cfb8(void)
81280304Sjkim{
82280304Sjkim    return FIPS_evp_aes_128_cfb8();
83280304Sjkim}
84280304Sjkim
85280304Sjkimconst EVP_CIPHER *EVP_aes_128_ctr(void)
86280304Sjkim{
87280304Sjkim    return FIPS_evp_aes_128_ctr();
88280304Sjkim}
89280304Sjkim
90280304Sjkimconst EVP_CIPHER *EVP_aes_128_ecb(void)
91280304Sjkim{
92280304Sjkim    return FIPS_evp_aes_128_ecb();
93280304Sjkim}
94280304Sjkim
95280304Sjkimconst EVP_CIPHER *EVP_aes_128_gcm(void)
96280304Sjkim{
97280304Sjkim    return FIPS_evp_aes_128_gcm();
98280304Sjkim}
99280304Sjkim
100280304Sjkimconst EVP_CIPHER *EVP_aes_128_ofb(void)
101280304Sjkim{
102280304Sjkim    return FIPS_evp_aes_128_ofb();
103280304Sjkim}
104280304Sjkim
105280304Sjkimconst EVP_CIPHER *EVP_aes_128_xts(void)
106280304Sjkim{
107280304Sjkim    return FIPS_evp_aes_128_xts();
108280304Sjkim}
109280304Sjkim
110280304Sjkimconst EVP_CIPHER *EVP_aes_192_cbc(void)
111280304Sjkim{
112280304Sjkim    return FIPS_evp_aes_192_cbc();
113280304Sjkim}
114280304Sjkim
115280304Sjkimconst EVP_CIPHER *EVP_aes_192_ccm(void)
116280304Sjkim{
117280304Sjkim    return FIPS_evp_aes_192_ccm();
118280304Sjkim}
119280304Sjkim
120280304Sjkimconst EVP_CIPHER *EVP_aes_192_cfb1(void)
121280304Sjkim{
122280304Sjkim    return FIPS_evp_aes_192_cfb1();
123280304Sjkim}
124280304Sjkim
125280304Sjkimconst EVP_CIPHER *EVP_aes_192_cfb128(void)
126280304Sjkim{
127280304Sjkim    return FIPS_evp_aes_192_cfb128();
128280304Sjkim}
129280304Sjkim
130280304Sjkimconst EVP_CIPHER *EVP_aes_192_cfb8(void)
131280304Sjkim{
132280304Sjkim    return FIPS_evp_aes_192_cfb8();
133280304Sjkim}
134280304Sjkim
135280304Sjkimconst EVP_CIPHER *EVP_aes_192_ctr(void)
136280304Sjkim{
137280304Sjkim    return FIPS_evp_aes_192_ctr();
138280304Sjkim}
139280304Sjkim
140280304Sjkimconst EVP_CIPHER *EVP_aes_192_ecb(void)
141280304Sjkim{
142280304Sjkim    return FIPS_evp_aes_192_ecb();
143280304Sjkim}
144280304Sjkim
145280304Sjkimconst EVP_CIPHER *EVP_aes_192_gcm(void)
146280304Sjkim{
147280304Sjkim    return FIPS_evp_aes_192_gcm();
148280304Sjkim}
149280304Sjkim
150280304Sjkimconst EVP_CIPHER *EVP_aes_192_ofb(void)
151280304Sjkim{
152280304Sjkim    return FIPS_evp_aes_192_ofb();
153280304Sjkim}
154280304Sjkim
155280304Sjkimconst EVP_CIPHER *EVP_aes_256_cbc(void)
156280304Sjkim{
157280304Sjkim    return FIPS_evp_aes_256_cbc();
158280304Sjkim}
159280304Sjkim
160280304Sjkimconst EVP_CIPHER *EVP_aes_256_ccm(void)
161280304Sjkim{
162280304Sjkim    return FIPS_evp_aes_256_ccm();
163280304Sjkim}
164280304Sjkim
165280304Sjkimconst EVP_CIPHER *EVP_aes_256_cfb1(void)
166280304Sjkim{
167280304Sjkim    return FIPS_evp_aes_256_cfb1();
168280304Sjkim}
169280304Sjkim
170280304Sjkimconst EVP_CIPHER *EVP_aes_256_cfb128(void)
171280304Sjkim{
172280304Sjkim    return FIPS_evp_aes_256_cfb128();
173280304Sjkim}
174280304Sjkim
175280304Sjkimconst EVP_CIPHER *EVP_aes_256_cfb8(void)
176280304Sjkim{
177280304Sjkim    return FIPS_evp_aes_256_cfb8();
178280304Sjkim}
179280304Sjkim
180280304Sjkimconst EVP_CIPHER *EVP_aes_256_ctr(void)
181280304Sjkim{
182280304Sjkim    return FIPS_evp_aes_256_ctr();
183280304Sjkim}
184280304Sjkim
185280304Sjkimconst EVP_CIPHER *EVP_aes_256_ecb(void)
186280304Sjkim{
187280304Sjkim    return FIPS_evp_aes_256_ecb();
188280304Sjkim}
189280304Sjkim
190280304Sjkimconst EVP_CIPHER *EVP_aes_256_gcm(void)
191280304Sjkim{
192280304Sjkim    return FIPS_evp_aes_256_gcm();
193280304Sjkim}
194280304Sjkim
195280304Sjkimconst EVP_CIPHER *EVP_aes_256_ofb(void)
196280304Sjkim{
197280304Sjkim    return FIPS_evp_aes_256_ofb();
198280304Sjkim}
199280304Sjkim
200280304Sjkimconst EVP_CIPHER *EVP_aes_256_xts(void)
201280304Sjkim{
202280304Sjkim    return FIPS_evp_aes_256_xts();
203280304Sjkim}
204280304Sjkim
205280304Sjkimconst EVP_CIPHER *EVP_des_ede(void)
206280304Sjkim{
207280304Sjkim    return FIPS_evp_des_ede();
208280304Sjkim}
209280304Sjkim
210280304Sjkimconst EVP_CIPHER *EVP_des_ede3(void)
211280304Sjkim{
212280304Sjkim    return FIPS_evp_des_ede3();
213280304Sjkim}
214280304Sjkim
215280304Sjkimconst EVP_CIPHER *EVP_des_ede3_cbc(void)
216280304Sjkim{
217280304Sjkim    return FIPS_evp_des_ede3_cbc();
218280304Sjkim}
219280304Sjkim
220280304Sjkimconst EVP_CIPHER *EVP_des_ede3_cfb1(void)
221280304Sjkim{
222280304Sjkim    return FIPS_evp_des_ede3_cfb1();
223280304Sjkim}
224280304Sjkim
225280304Sjkimconst EVP_CIPHER *EVP_des_ede3_cfb64(void)
226280304Sjkim{
227280304Sjkim    return FIPS_evp_des_ede3_cfb64();
228280304Sjkim}
229280304Sjkim
230280304Sjkimconst EVP_CIPHER *EVP_des_ede3_cfb8(void)
231280304Sjkim{
232280304Sjkim    return FIPS_evp_des_ede3_cfb8();
233280304Sjkim}
234280304Sjkim
235280304Sjkimconst EVP_CIPHER *EVP_des_ede3_ecb(void)
236280304Sjkim{
237280304Sjkim    return FIPS_evp_des_ede3_ecb();
238280304Sjkim}
239280304Sjkim
240280304Sjkimconst EVP_CIPHER *EVP_des_ede3_ofb(void)
241280304Sjkim{
242280304Sjkim    return FIPS_evp_des_ede3_ofb();
243280304Sjkim}
244280304Sjkim
245280304Sjkimconst EVP_CIPHER *EVP_des_ede_cbc(void)
246280304Sjkim{
247280304Sjkim    return FIPS_evp_des_ede_cbc();
248280304Sjkim}
249280304Sjkim
250280304Sjkimconst EVP_CIPHER *EVP_des_ede_cfb64(void)
251280304Sjkim{
252280304Sjkim    return FIPS_evp_des_ede_cfb64();
253280304Sjkim}
254280304Sjkim
255280304Sjkimconst EVP_CIPHER *EVP_des_ede_ecb(void)
256280304Sjkim{
257280304Sjkim    return FIPS_evp_des_ede_ecb();
258280304Sjkim}
259280304Sjkim
260280304Sjkimconst EVP_CIPHER *EVP_des_ede_ofb(void)
261280304Sjkim{
262280304Sjkim    return FIPS_evp_des_ede_ofb();
263280304Sjkim}
264280304Sjkim
265280304Sjkimconst EVP_CIPHER *EVP_enc_null(void)
266280304Sjkim{
267280304Sjkim    return FIPS_evp_enc_null();
268280304Sjkim}
269280304Sjkim
270280304Sjkimconst EVP_MD *EVP_sha1(void)
271280304Sjkim{
272280304Sjkim    return FIPS_evp_sha1();
273280304Sjkim}
274280304Sjkim
275280304Sjkimconst EVP_MD *EVP_sha224(void)
276280304Sjkim{
277280304Sjkim    return FIPS_evp_sha224();
278280304Sjkim}
279280304Sjkim
280280304Sjkimconst EVP_MD *EVP_sha256(void)
281280304Sjkim{
282280304Sjkim    return FIPS_evp_sha256();
283280304Sjkim}
284280304Sjkim
285280304Sjkimconst EVP_MD *EVP_sha384(void)
286280304Sjkim{
287280304Sjkim    return FIPS_evp_sha384();
288280304Sjkim}
289280304Sjkim
290280304Sjkimconst EVP_MD *EVP_sha512(void)
291280304Sjkim{
292280304Sjkim    return FIPS_evp_sha512();
293280304Sjkim}
294280304Sjkim
295280304Sjkimconst EVP_MD *EVP_dss(void)
296280304Sjkim{
297280304Sjkim    return FIPS_evp_dss();
298280304Sjkim}
299280304Sjkim
300280304Sjkimconst EVP_MD *EVP_dss1(void)
301280304Sjkim{
302280304Sjkim    return FIPS_evp_dss1();
303280304Sjkim}
304280304Sjkim
305280304Sjkimconst EVP_MD *EVP_ecdsa(void)
306280304Sjkim{
307280304Sjkim    return FIPS_evp_ecdsa();
308280304Sjkim}
309280304Sjkim
310238384Sjkim#endif
311