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