/** * @file crypto_config.h * @brief CycloneCRYPTO configuration file * * @section License * * SPDX-License-Identifier: GPL-2.0-or-later * * Copyright (C) 2010-2023 Oryx Embedded SARL. All rights reserved. * * This file is part of CycloneCRYPTO Open. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * @author Oryx Embedded SARL (www.oryx-embedded.com) * @version 2.2.4 **/ #ifndef _CRYPTO_CONFIG_H #define _CRYPTO_CONFIG_H //Desired trace level (for debugging purposes) #define CRYPTO_TRACE_LEVEL TRACE_LEVEL_INFO //True random number generator #define RA6_CRYPTO_TRNG_SUPPORT ENABLED //Hash hardware accelerator #define RA6_CRYPTO_HASH_SUPPORT ENABLED //Cipher hardware accelerator #define RA6_CRYPTO_CIPHER_SUPPORT ENABLED //Public-key hardware accelerator #define RA6_CRYPTO_PKC_SUPPORT ENABLED //Multiple precision integer support #define MPI_SUPPORT ENABLED //Assembly optimizations for time-critical routines #define MPI_ASM_SUPPORT DISABLED //Base64 encoding support #define BASE64_SUPPORT ENABLED //Base64url encoding support #define BASE64URL_SUPPORT DISABLED //MD2 hash support #define MD2_SUPPORT DISABLED //MD4 hash support #define MD4_SUPPORT DISABLED //MD5 hash support #define MD5_SUPPORT ENABLED //RIPEMD-128 hash support #define RIPEMD128_SUPPORT DISABLED //RIPEMD-160 hash support #define RIPEMD160_SUPPORT DISABLED //SHA-1 hash support #define SHA1_SUPPORT ENABLED //SHA-224 hash support #define SHA224_SUPPORT ENABLED //SHA-256 hash support #define SHA256_SUPPORT ENABLED //SHA-384 hash support #define SHA384_SUPPORT ENABLED //SHA-512 hash support #define SHA512_SUPPORT ENABLED //SHA-512/224 hash support #define SHA512_224_SUPPORT DISABLED //SHA-512/256 hash support #define SHA512_256_SUPPORT DISABLED //SHA3-224 hash support #define SHA3_224_SUPPORT DISABLED //SHA3-256 hash support #define SHA3_256_SUPPORT DISABLED //SHA3-384 hash support #define SHA3_384_SUPPORT DISABLED //SHA3-512 hash support #define SHA3_512_SUPPORT DISABLED //SHAKE support #define SHAKE_SUPPORT DISABLED //cSHAKE support #define CSHAKE_SUPPORT DISABLED //Keccak support #define KECCAK_SUPPORT DISABLED //BLAKE2b support #define BLAKE2B_SUPPORT DISABLED //BLAKE2b-160 hash support #define BLAKE2B160_SUPPORT DISABLED //BLAKE2b-256 hash support #define BLAKE2B256_SUPPORT DISABLED //BLAKE2b-384 hash support #define BLAKE2B384_SUPPORT DISABLED //BLAKE2b-512 hash support #define BLAKE2B512_SUPPORT DISABLED //BLAKE2s support #define BLAKE2S_SUPPORT DISABLED //BLAKE2s-128 hash support #define BLAKE2S128_SUPPORT DISABLED //BLAKE2s-160 hash support #define BLAKE2S160_SUPPORT DISABLED //BLAKE2s-224 hash support #define BLAKE2S224_SUPPORT DISABLED //BLAKE2s-256 hash support #define BLAKE2S256_SUPPORT DISABLED //Tiger hash support #define TIGER_SUPPORT DISABLED //Whirlpool hash support #define WHIRLPOOL_SUPPORT DISABLED //CMAC support #define CMAC_SUPPORT DISABLED //HMAC support #define HMAC_SUPPORT ENABLED //GMAC support #define GMAC_SUPPORT DISABLED //KMAC support #define KMAC_SUPPORT DISABLED //RC2 support #define RC2_SUPPORT DISABLED //RC4 support #define RC4_SUPPORT ENABLED //RC6 support #define RC6_SUPPORT DISABLED //CAST-128 support #define CAST128_SUPPORT DISABLED //CAST-256 support #define CAST256_SUPPORT DISABLED //IDEA support #define IDEA_SUPPORT DISABLED //DES support #define DES_SUPPORT ENABLED //Triple DES support #define DES3_SUPPORT ENABLED //AES support #define AES_SUPPORT ENABLED //Blowfish support #define BLOWFISH_SUPPORT DISABLED //Twofish support #define TWOFISH_SUPPORT DISABLED //MARS support #define MARS_SUPPORT DISABLED //Serpent support #define SERPENT_SUPPORT DISABLED //Camellia support #define CAMELLIA_SUPPORT DISABLED //SEED support #define SEED_SUPPORT DISABLED //ARIA support #define ARIA_SUPPORT DISABLED //PRESENT support #define PRESENT_SUPPORT DISABLED //TEA encryption support #define TEA_SUPPORT DISABLED //XTEA encryption support #define XTEA_SUPPORT DISABLED //Trivium support #define TRIVIUM_SUPPORT DISABLED //ECB mode support #define ECB_SUPPORT ENABLED //CBC mode support #define CBC_SUPPORT ENABLED //CFB mode support #define CFB_SUPPORT DISABLED //OFB mode support #define OFB_SUPPORT DISABLED //CTR mode support #define CTR_SUPPORT DISABLED //XTS mode support #define XTS_SUPPORT DISABLED //CCM mode support #define CCM_SUPPORT ENABLED //GCM mode support #define GCM_SUPPORT ENABLED //ChaCha support #define CHACHA_SUPPORT ENABLED //Poly1305 support #define POLY1305_SUPPORT ENABLED //ChaCha20Poly1305 support #define CHACHA20_POLY1305_SUPPORT ENABLED //Diffie-Hellman support #define DH_SUPPORT ENABLED //RSA support #define RSA_SUPPORT ENABLED //DSA support #define DSA_SUPPORT ENABLED //Elliptic curve cryptography support #define EC_SUPPORT ENABLED //ECDH support #define ECDH_SUPPORT ENABLED //ECDSA support #define ECDSA_SUPPORT ENABLED //secp112r1 elliptic curve support #define SECP112R1_SUPPORT DISABLED //secp112r2 elliptic curve support #define SECP112R2_SUPPORT DISABLED //secp128r1 elliptic curve support #define SECP128R1_SUPPORT DISABLED //secp128r2 elliptic curve support #define SECP128R2_SUPPORT DISABLED //secp160k1 elliptic curve support #define SECP160K1_SUPPORT DISABLED //secp160r1 elliptic curve support #define SECP160R1_SUPPORT DISABLED //secp160r2 elliptic curve support #define SECP160R2_SUPPORT DISABLED //secp192k1 elliptic curve support #define SECP192K1_SUPPORT DISABLED //secp192r1 elliptic curve support (NIST P-192) #define SECP192R1_SUPPORT DISABLED //secp224k1 elliptic curve support #define SECP224K1_SUPPORT DISABLED //secp224r1 elliptic curve support (NIST P-224) #define SECP224R1_SUPPORT ENABLED //secp256k1 elliptic curve support #define SECP256K1_SUPPORT DISABLED //secp256r1 elliptic curve support (NIST P-256) #define SECP256R1_SUPPORT ENABLED //secp384r1 elliptic curve support (NIST P-384) #define SECP384R1_SUPPORT ENABLED //secp521r1 elliptic curve support (NIST P-521) #define SECP521R1_SUPPORT ENABLED //brainpoolP160r1 elliptic curve support #define BRAINPOOLP160R1_SUPPORT DISABLED //brainpoolP192r1 elliptic curve support #define BRAINPOOLP192R1_SUPPORT DISABLED //brainpoolP224r1 elliptic curve support #define BRAINPOOLP224R1_SUPPORT DISABLED //brainpoolP256r1 elliptic curve support #define BRAINPOOLP256R1_SUPPORT DISABLED //brainpoolP320r1 elliptic curve support #define BRAINPOOLP320R1_SUPPORT DISABLED //brainpoolP384r1 elliptic curve support #define BRAINPOOLP384R1_SUPPORT DISABLED //brainpoolP512r1 elliptic curve support #define BRAINPOOLP512R1_SUPPORT DISABLED //Curve25519 elliptic curve support #define X25519_SUPPORT ENABLED //Curve448 elliptic curve support #define X448_SUPPORT DISABLED //Ed25519 elliptic curve support #define ED25519_SUPPORT DISABLED //Ed448 elliptic curve support #define ED448_SUPPORT DISABLED //HKDF support #define HKDF_SUPPORT ENABLED //PBKDF support #define PBKDF_SUPPORT DISABLED //bcrypt support #define BCRYPT_SUPPORT DISABLED //scrypt support #define SCRYPT_SUPPORT DISABLED //PKCS #5 support #define PKCS5_SUPPORT DISABLED #endif