From 031e551c5795564235a90b14bc055059ceea596f Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Wed, 14 Aug 2013 16:12:56 +0200 Subject: [PATCH] tomcrypt_custom.h: improve and clean-up Add the possibility to define LTC_NOTHING that disables everything Remove LTC_NO_MATH as it didn't do anything at all Enable RSA blinding by default --- src/headers/tomcrypt_custom.h | 53 ++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/src/headers/tomcrypt_custom.h b/src/headers/tomcrypt_custom.h index 9e9a5bd..7e58adf 100644 --- a/src/headers/tomcrypt_custom.h +++ b/src/headers/tomcrypt_custom.h @@ -66,6 +66,18 @@ #define XQSORT qsort #endif +/* shortcut to disable automatic inclusion */ +#if defined LTC_NOTHING && !defined LTC_EASY + #define LTC_NO_CIPHERS + #define LTC_NO_MODES + #define LTC_NO_HASHES + #define LTC_NO_MACS + #define LTC_NO_PRNGS + #define LTC_NO_PK + #define LTC_NO_PKCS + #define LTC_NO_MISC +#endif /* LTC_NOTHING */ + /* Easy button? */ #ifdef LTC_EASY #define LTC_NO_CIPHERS @@ -100,16 +112,19 @@ #define LTC_NO_PK #define LTC_MRSA #define LTC_MECC -#endif -/* Use small code where possible */ -/* #define LTC_SMALL_CODE */ + #define LTC_NO_MISC + #define LTC_BASE64 +#endif /* Enable self-test test vector checking */ #ifndef LTC_NO_TEST #define LTC_TEST #endif +/* Use small code where possible */ +/* #define LTC_SMALL_CODE */ + /* clean the stack of functions which put private information on stack */ /* #define LTC_CLEAN_STACK */ @@ -125,6 +140,16 @@ /* disable BSWAP on x86 */ /* #define LTC_NO_BSWAP */ +/* ---> math provider? <--- */ +/* LibTomMath */ +/* #define LTM_DESC */ + +/* TomsFastMath */ +/* #define TFM_DESC */ + +/* GNU Multiple Precision Arithmetic Library */ +/* #define GMP_DESC */ + /* ---> Symmetric Block Ciphers <--- */ #ifndef LTC_NO_CIPHERS @@ -247,9 +272,6 @@ #endif /* LTC_NO_MACS */ -/* Various tidbits of modern neatoness */ -#define LTC_BASE64 - /* --> Pseudo Random Number Generators <--- */ #ifndef LTC_NO_PRNGS @@ -290,25 +312,16 @@ #endif /* LTC_NO_PRNGS */ -/* ---> math provider? <--- */ -#ifndef LTC_NO_MATH - -/* LibTomMath */ -/* #define LTM_DESC */ - -/* TomsFastMath */ -/* #define TFM_DESC */ - -#endif /* LTC_NO_MATH */ - /* ---> Public Key Crypto <--- */ #ifndef LTC_NO_PK /* Include RSA support */ #define LTC_MRSA -/* Enable RSA blinding when doing private key operations? */ -/* #define LTC_RSA_BLINDING */ +#ifndef LTC_NO_RSA_BLINDING +/* Enable RSA blinding when doing private key operations by default */ +#define LTC_RSA_BLINDING +#endif /* LTC_NO_RSA_BLINDING */ /* Include Diffie-Hellman support */ #ifndef GMP_DESC @@ -368,6 +381,8 @@ /* misc stuff */ #ifndef LTC_NO_MISC +/* Various tidbits of modern neatoness */ +#define LTC_BASE64 /* Keep LTC_NO_HKDF for compatibility reasons * superseeded by LTC_NO_MISC*/