diff libtomcrypt/src/misc/crypt/crypt.c @ 1471:6dba84798cd5

Update to libtomcrypt 1.18.1, merged with Dropbear changes
author Matt Johnston <matt@ucc.asn.au>
date Fri, 09 Feb 2018 21:44:05 +0800
parents f849a5ca2efc
children 59e66cdaf10f
line wrap: on
line diff
--- a/libtomcrypt/src/misc/crypt/crypt.c	Thu Feb 08 23:11:40 2018 +0800
+++ b/libtomcrypt/src/misc/crypt/crypt.c	Fri Feb 09 21:44:05 2018 +0800
@@ -5,57 +5,57 @@
  *
  * The library is free for all purposes without any express
  * guarantee it works.
- *
- * Tom St Denis, [email protected], 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, [email protected])\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"
+#elif defined(ENDIAN_BIG)
+   "big"
+#endif
    #if defined(ENDIAN_32BITWORD)
    " (32-bit words)\n"
+   #elif defined(ENDIAN_64BITWORD)
+   " (64-bit words)\n"
    #else
-   " (64-bit words)\n"
+   " (no wordsize defined)\n"
    #endif
-#elif defined(ENDIAN_BIG)
-   "big"
-   #if defined(ENDIAN_32BITWORD)
-   " (32-bit words)\n"
-   #else
-   " (64-bit words)\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 @@
    "   Rijndael\n"
 #endif
 #if defined(LTC_XTEA)
-   "   LTC_XTEA\n"
+   "   XTEA\n"
 #endif
 #if defined(LTC_TWOFISH)
    "   Twofish "
@@ -90,10 +90,10 @@
    #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 @@
 #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 @@
     "   CBC\n"
 #endif
 #if defined(LTC_CTR_MODE)
-    "   CTR "
-#endif
-#if defined(LTC_CTR_OLD)
-    " (CTR_OLD) "
+    "   CTR\n"
 #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 "
+    "   GCM"
+#if defined(LTC_GCM_TABLES)
+    " (tables) "
 #endif
-#if defined(LTC_GCM_TABLES)
-    " (LTC_GCM_TABLES) "
+#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 @@
 #if defined(_MSC_VER)
     "   MSVC compiler detected.\n"
 #endif
-#if defined(__GNUC__)
-    "   GCC 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(INTEL_CC)
-    "   Intel C Compiler detected.\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(LTC_BASE64_URL)
+    " BASE64-URL-SAFE "
+#endif
+#if defined(LTC_CRC32)
+    " CRC32 "
+#endif
+#if defined(LTC_DER)
+    " DER "
+#endif
+#if defined(LTC_PKCS_1)
+    " PKCS#1 "
+#endif
+#if defined(LTC_PKCS_5)
+    " PKCS#5 "
 #endif
-#if defined(MPI)
-    " MPI "
+#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(TRY_UNRANDOM_FIRST)
-    " TRY_UNRANDOM_FIRST "
+#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_PKCS_1)
-    " LTC_PKCS#1 "
+#if defined(LTC_TEST_DBG)
+    " " NAME_VALUE(LTC_TEST_DBG) " "
 #endif
-#if defined(LTC_PKCS_5)
-    " LTC_PKCS#5 "
+#if defined(LTC_TEST_EXT)
+    " LTC_TEST_EXT "
 #endif
 #if defined(LTC_SMALL_CODE)
     " LTC_SMALL_CODE "
@@ -319,8 +445,8 @@
 #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 @@
 #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 @@
 #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 @@
    " LTC_ECC_SHAMIR "
 #endif
     "\n"
-    "\n\n\n"
     ;
 	*/
 
 
-/* $Source$ */
-/* $Revision$ */
-/* $Date$ */
+/* ref:         $Format:%D$ */
+/* git commit:  $Format:%H$ */
+/* commit time: $Format:%ai$ */