summaryrefslogtreecommitdiffhomepage
path: root/libtomcrypt/src/misc/crypt/crypt.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtomcrypt/src/misc/crypt/crypt.c')
-rw-r--r--libtomcrypt/src/misc/crypt/crypt.c332
1 files changed, 227 insertions, 105 deletions
diff --git a/libtomcrypt/src/misc/crypt/crypt.c b/libtomcrypt/src/misc/crypt/crypt.c
index 054f4b7..e20c271 100644
--- a/libtomcrypt/src/misc/crypt/crypt.c
+++ b/libtomcrypt/src/misc/crypt/crypt.c
@@ -5,57 +5,57 @@
*
* The library is free for all purposes without any express
* guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
*/
#include "tomcrypt.h"
/**
@file crypt.c
Build strings, Tom St Denis
-*/
+*/
+#define NAME_VALUE(s) #s"="NAME(s)
+#define NAME(s) #s
/*
const char *crypt_build_settings =
- "LibTomCrypt " SCRYPT " (Tom St Denis, tomstdenis@gmail.com)\n"
+ "LibTomCrypt " SCRYPT " (www.libtom.net)\n"
"LibTomCrypt is public domain software.\n"
- "Built on " __DATE__ " at " __TIME__ "\n\n\n"
- "Endianess: "
+#if defined(INCLUDE_BUILD_DATE)
+ "Built on " __DATE__ " at " __TIME__ "\n"
+#endif
+ "\n\nEndianness: "
#if defined(ENDIAN_NEUTRAL)
- "neutral\n"
-#elif defined(ENDIAN_LITTLE)
+ "neutral/"
+#endif
+#if defined(ENDIAN_LITTLE)
"little"
- #if defined(ENDIAN_32BITWORD)
- " (32-bit words)\n"
- #else
- " (64-bit words)\n"
- #endif
#elif defined(ENDIAN_BIG)
"big"
+#endif
#if defined(ENDIAN_32BITWORD)
" (32-bit words)\n"
- #else
+ #elif defined(ENDIAN_64BITWORD)
" (64-bit words)\n"
+ #else
+ " (no wordsize defined)\n"
#endif
-#endif
"Clean stack: "
#if defined(LTC_CLEAN_STACK)
"enabled\n"
#else
"disabled\n"
#endif
- "Ciphers built-in:\n"
+ "\nCiphers built-in:\n"
#if defined(LTC_BLOWFISH)
" Blowfish\n"
#endif
#if defined(LTC_RC2)
- " LTC_RC2\n"
+ " RC2\n"
#endif
#if defined(LTC_RC5)
- " LTC_RC5\n"
+ " RC5\n"
#endif
#if defined(LTC_RC6)
- " LTC_RC6\n"
+ " RC6\n"
#endif
#if defined(LTC_SAFERP)
" Safer+\n"
@@ -67,7 +67,7 @@ const char *crypt_build_settings =
" Rijndael\n"
#endif
#if defined(LTC_XTEA)
- " LTC_XTEA\n"
+ " XTEA\n"
#endif
#if defined(LTC_TWOFISH)
" Twofish "
@@ -90,10 +90,10 @@ const char *crypt_build_settings =
#endif
#endif
#if defined(LTC_DES)
- " LTC_DES\n"
+ " DES\n"
#endif
#if defined(LTC_CAST5)
- " LTC_CAST5\n"
+ " CAST5\n"
#endif
#if defined(LTC_NOEKEON)
" Noekeon\n"
@@ -112,57 +112,88 @@ const char *crypt_build_settings =
#endif
"\n"
#if defined(LTC_KSEED)
- " LTC_KSEED\n"
+ " KSEED\n"
#endif
#if defined(LTC_KASUMI)
" KASUMI\n"
#endif
+#if defined(LTC_MULTI2)
+ " MULTI2\n"
+#endif
+#if defined(LTC_CAMELLIA)
+ " Camellia\n"
+#endif
+ "Stream ciphers built-in:\n"
+#if defined(LTC_CHACHA)
+ " ChaCha\n"
+#endif
+#if defined(LTC_RC4_STREAM)
+ " RC4\n"
+#endif
+#if defined(LTC_SOBER128_STREAM)
+ " SOBER128\n"
+#endif
"\nHashes built-in:\n"
+#if defined(LTC_SHA3)
+ " SHA3\n"
+#endif
#if defined(LTC_SHA512)
- " LTC_SHA-512\n"
+ " SHA-512\n"
#endif
#if defined(LTC_SHA384)
- " LTC_SHA-384\n"
+ " SHA-384\n"
+#endif
+#if defined(LTC_SHA512_256)
+ " SHA-512/256\n"
#endif
#if defined(LTC_SHA256)
- " LTC_SHA-256\n"
+ " SHA-256\n"
+#endif
+#if defined(LTC_SHA512_224)
+ " SHA-512/224\n"
#endif
#if defined(LTC_SHA224)
- " LTC_SHA-224\n"
+ " SHA-224\n"
#endif
#if defined(LTC_TIGER)
- " LTC_TIGER\n"
+ " TIGER\n"
#endif
#if defined(LTC_SHA1)
- " LTC_SHA1\n"
+ " SHA1\n"
#endif
#if defined(LTC_MD5)
- " LTC_MD5\n"
+ " MD5\n"
#endif
#if defined(LTC_MD4)
- " LTC_MD4\n"
+ " MD4\n"
#endif
#if defined(LTC_MD2)
- " LTC_MD2\n"
+ " MD2\n"
#endif
#if defined(LTC_RIPEMD128)
- " LTC_RIPEMD128\n"
+ " RIPEMD128\n"
#endif
#if defined(LTC_RIPEMD160)
- " LTC_RIPEMD160\n"
+ " RIPEMD160\n"
#endif
#if defined(LTC_RIPEMD256)
- " LTC_RIPEMD256\n"
+ " RIPEMD256\n"
#endif
#if defined(LTC_RIPEMD320)
- " LTC_RIPEMD320\n"
+ " RIPEMD320\n"
#endif
#if defined(LTC_WHIRLPOOL)
- " LTC_WHIRLPOOL\n"
+ " WHIRLPOOL\n"
+#endif
+#if defined(LTC_BLAKE2S)
+ " BLAKE2S\n"
+#endif
+#if defined(LTC_BLAKE2B)
+ " BLAKE2B\n"
#endif
#if defined(LTC_CHC_HASH)
- " LTC_CHC_HASH \n"
+ " CHC_HASH\n"
#endif
"\nBlock Chaining Modes:\n"
@@ -179,97 +210,151 @@ const char *crypt_build_settings =
" CBC\n"
#endif
#if defined(LTC_CTR_MODE)
- " CTR "
+ " CTR\n"
#endif
-#if defined(LTC_CTR_OLD)
- " (CTR_OLD) "
-#endif
- "\n"
-#if defined(LRW_MODE)
- " LRW_MODE"
-#if defined(LRW_TABLES)
- " (LRW_TABLES) "
+#if defined(LTC_LRW_MODE)
+ " LRW"
+#if defined(LTC_LRW_TABLES)
+ " (tables) "
#endif
"\n"
#endif
#if defined(LTC_F8_MODE)
- " F8 MODE\n"
-#endif
+ " F8\n"
+#endif
#if defined(LTC_XTS_MODE)
- " LTC_XTS_MODE\n"
+ " XTS\n"
#endif
"\nMACs:\n"
#if defined(LTC_HMAC)
- " LTC_HMAC\n"
+ " HMAC\n"
#endif
#if defined(LTC_OMAC)
- " LTC_OMAC\n"
+ " OMAC\n"
#endif
#if defined(LTC_PMAC)
" PMAC\n"
#endif
#if defined(LTC_PELICAN)
- " LTC_PELICAN\n"
+ " PELICAN\n"
#endif
#if defined(LTC_XCBC)
- " XCBC-MAC\n"
+ " XCBC\n"
#endif
#if defined(LTC_F9_MODE)
- " F9-MAC\n"
+ " F9\n"
+#endif
+#if defined(LTC_POLY1305)
+ " POLY1305\n"
+#endif
+#if defined(LTC_BLAKE2SMAC)
+ " BLAKE2S MAC\n"
+#endif
+#if defined(LTC_BLAKE2BMAC)
+ " BLAKE2B MAC\n"
#endif
"\nENC + AUTH modes:\n"
#if defined(LTC_EAX_MODE)
- " LTC_EAX_MODE\n"
+ " EAX\n"
#endif
#if defined(LTC_OCB_MODE)
- " LTC_OCB_MODE\n"
+ " OCB\n"
+#endif
+#if defined(LTC_OCB3_MODE)
+ " OCB3\n"
#endif
#if defined(LTC_CCM_MODE)
- " LTC_CCM_MODE\n"
+ " CCM\n"
#endif
#if defined(LTC_GCM_MODE)
- " LTC_GCM_MODE "
-#endif
+ " GCM"
#if defined(LTC_GCM_TABLES)
- " (LTC_GCM_TABLES) "
+ " (tables) "
+#endif
+#if defined(LTC_GCM_TABLES_SSE2)
+ " (SSE2) "
#endif
"\n"
+#endif
+#if defined(LTC_CHACHA20POLY1305_MODE)
+ " CHACHA20POLY1305\n"
+#endif
"\nPRNG:\n"
#if defined(LTC_YARROW)
- " Yarrow\n"
+ " Yarrow ("NAME_VALUE(LTC_YARROW_AES)")\n"
#endif
#if defined(LTC_SPRNG)
- " LTC_SPRNG\n"
+ " SPRNG\n"
#endif
#if defined(LTC_RC4)
- " LTC_RC4\n"
+ " RC4\n"
+#endif
+#if defined(LTC_CHACHA20_PRNG)
+ " ChaCha20\n"
#endif
#if defined(LTC_FORTUNA)
- " Fortuna\n"
+ " Fortuna (" NAME_VALUE(LTC_FORTUNA_POOLS) ", " NAME_VALUE(LTC_FORTUNA_WD) ")\n"
#endif
#if defined(LTC_SOBER128)
- " LTC_SOBER128\n"
+ " SOBER128\n"
#endif
- "\nPK Algs:\n"
+ "\nPK Crypto:\n"
#if defined(LTC_MRSA)
- " RSA \n"
+ " RSA"
+#if defined(LTC_RSA_BLINDING) && defined(LTC_RSA_CRT_HARDENING)
+ " (with blinding and CRT hardening)"
+#elif defined(LTC_RSA_BLINDING)
+ " (with blinding)"
+#elif defined(LTC_RSA_CRT_HARDENING)
+ " (with CRT hardening)"
+#endif
+ "\n"
+#endif
+#if defined(LTC_MDH)
+ " DH\n"
#endif
#if defined(LTC_MECC)
- " ECC\n"
+ " ECC"
+#if defined(LTC_ECC_TIMING_RESISTANT)
+ " (with blinding)"
+#endif
+ "\n"
#endif
#if defined(LTC_MDSA)
" DSA\n"
#endif
-#if defined(MKAT)
+#if defined(LTC_MKAT)
" Katja\n"
-#endif
+#endif
+#if defined(LTC_PK_MAX_RETRIES)
+ " "NAME_VALUE(LTC_PK_MAX_RETRIES)"\n"
+#endif
+
+ "\nMPI (Math):\n"
+#if defined(LTC_MPI)
+ " LTC_MPI\n"
+#endif
+#if defined(LTM_DESC)
+ " LTM_DESC\n"
+#endif
+#if defined(TFM_DESC)
+ " TFM_DESC\n"
+#endif
+#if defined(GMP_DESC)
+ " GMP_DESC\n"
+#endif
+#if defined(LTC_MILLER_RABIN_REPS)
+ " "NAME_VALUE(LTC_MILLER_RABIN_REPS)"\n"
+#endif
"\nCompiler:\n"
-#if defined(WIN32)
+#if defined(_WIN64)
+ " WIN64 platform detected.\n"
+#elif defined(_WIN32)
" WIN32 platform detected.\n"
#endif
#if defined(__CYGWIN__)
@@ -281,37 +366,78 @@ const char *crypt_build_settings =
#if defined(_MSC_VER)
" MSVC compiler detected.\n"
#endif
-#if defined(__GNUC__)
- " GCC compiler detected.\n"
-#endif
-#if defined(INTEL_CC)
- " Intel C Compiler detected.\n"
+#if defined(__clang_version__)
+ " Clang compiler " __clang_version__ ".\n"
+#elif defined(INTEL_CC)
+ " Intel C Compiler " __VERSION__ ".\n"
+#elif defined(__GNUC__) /* clang and icc also define __GNUC__ */
+ " GCC compiler " __VERSION__ ".\n"
#endif
+
#if defined(__x86_64__)
" x86-64 detected.\n"
#endif
#if defined(LTC_PPC32)
- " LTC_PPC32 defined \n"
-#endif
+ " PPC32 detected.\n"
+#endif
"\nVarious others: "
+#if defined(ARGTYPE)
+ " " NAME_VALUE(ARGTYPE) " "
+#endif
+#if defined(LTC_ADLER32)
+ " ADLER32 "
+#endif
#if defined(LTC_BASE64)
- " LTC_BASE64 "
+ " BASE64 "
#endif
-#if defined(MPI)
- " MPI "
+#if defined(LTC_BASE64_URL)
+ " BASE64-URL-SAFE "
#endif
-#if defined(TRY_UNRANDOM_FIRST)
- " TRY_UNRANDOM_FIRST "
+#if defined(LTC_CRC32)
+ " CRC32 "
#endif
-#if defined(LTC_TEST)
- " LTC_TEST "
+#if defined(LTC_DER)
+ " DER "
#endif
#if defined(LTC_PKCS_1)
- " LTC_PKCS#1 "
+ " PKCS#1 "
#endif
#if defined(LTC_PKCS_5)
- " LTC_PKCS#5 "
+ " PKCS#5 "
+#endif
+#if defined(LTC_HKDF)
+ " HKDF "
+#endif
+#if defined(LTC_DEVRANDOM)
+ " LTC_DEVRANDOM "
+#endif
+#if defined(LTC_TRY_URANDOM_FIRST)
+ " LTC_TRY_URANDOM_FIRST "
+#endif
+#if defined(LTC_RNG_GET_BYTES)
+ " LTC_RNG_GET_BYTES "
+#endif
+#if defined(LTC_RNG_MAKE_PRNG)
+ " LTC_RNG_MAKE_PRNG "
+#endif
+#if defined(LTC_PRNG_ENABLE_LTC_RNG)
+ " LTC_PRNG_ENABLE_LTC_RNG "
+#endif
+#if defined(LTC_HASH_HELPERS)
+ " LTC_HASH_HELPERS "
+#endif
+#if defined(LTC_VALGRIND)
+ " LTC_VALGRIND "
+#endif
+#if defined(LTC_TEST)
+ " LTC_TEST "
+#endif
+#if defined(LTC_TEST_DBG)
+ " " NAME_VALUE(LTC_TEST_DBG) " "
+#endif
+#if defined(LTC_TEST_EXT)
+ " LTC_TEST_EXT "
#endif
#if defined(LTC_SMALL_CODE)
" LTC_SMALL_CODE "
@@ -319,8 +445,8 @@ const char *crypt_build_settings =
#if defined(LTC_NO_FILE)
" LTC_NO_FILE "
#endif
-#if defined(LTC_DER)
- " LTC_DER "
+#if defined(LTC_FILE_READ_BUFSIZE)
+ " " NAME_VALUE(LTC_FILE_READ_BUFSIZE) " "
#endif
#if defined(LTC_FAST)
" LTC_FAST "
@@ -334,6 +460,12 @@ const char *crypt_build_settings =
#if defined(LTC_NO_ASM)
" LTC_NO_ASM "
#endif
+#if defined(LTC_ROx_ASM)
+ " LTC_ROx_ASM "
+#if defined(LTC_NO_ROLC)
+ " LTC_NO_ROLC "
+#endif
+#endif
#if defined(LTC_NO_TEST)
" LTC_NO_TEST "
#endif
@@ -343,21 +475,12 @@ const char *crypt_build_settings =
#if defined(LTC_PTHREAD)
" LTC_PTHREAD "
#endif
-#if defined(LTM_LTC_DESC)
- " LTM_DESC "
-#endif
-#if defined(TFM_LTC_DESC)
- " TFM_DESC "
+#if defined(LTC_EASY)
+ " LTC_EASY "
#endif
#if defined(LTC_MECC_ACCEL)
" LTC_MECC_ACCEL "
#endif
-#if defined(GMP_LTC_DESC)
- " GMP_DESC "
-#endif
-#if defined(LTC_EASY)
- " (easy) "
-#endif
#if defined(LTC_MECC_FP)
" LTC_MECC_FP "
#endif
@@ -365,11 +488,10 @@ const char *crypt_build_settings =
" LTC_ECC_SHAMIR "
#endif
"\n"
- "\n\n\n"
;
*/
-/* $Source$ */
-/* $Revision$ */
-/* $Date$ */
+/* ref: $Format:%D$ */
+/* git commit: $Format:%H$ */
+/* commit time: $Format:%ai$ */