123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501 |
- /* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- */
- #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 " (www.libtom.net)\n"
- "LibTomCrypt is public domain software.\n"
- #if defined(INCLUDE_BUILD_DATE)
- "Built on " __DATE__ " at " __TIME__ "\n"
- #endif
- "\n\nEndianness: "
- #if defined(ENDIAN_NEUTRAL)
- "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
- " (no wordsize defined)\n"
- #endif
- "Clean stack: "
- #if defined(LTC_CLEAN_STACK)
- "enabled\n"
- #else
- "disabled\n"
- #endif
- "\nCiphers built-in:\n"
- #if defined(LTC_BLOWFISH)
- " Blowfish\n"
- #endif
- #if defined(LTC_RC2)
- " RC2\n"
- #endif
- #if defined(LTC_RC5)
- " RC5\n"
- #endif
- #if defined(LTC_RC6)
- " RC6\n"
- #endif
- #if defined(LTC_SAFERP)
- " Safer+\n"
- #endif
- #if defined(LTC_SAFER)
- " Safer\n"
- #endif
- #if defined(LTC_RIJNDAEL)
- " Rijndael\n"
- #endif
- #if defined(LTC_XTEA)
- " XTEA\n"
- #endif
- #if defined(LTC_TWOFISH)
- " Twofish "
- #if defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_TABLES) && defined(LTC_TWOFISH_ALL_TABLES)
- "(small, tables, all_tables)\n"
- #elif defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_TABLES)
- "(small, tables)\n"
- #elif defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_ALL_TABLES)
- "(small, all_tables)\n"
- #elif defined(LTC_TWOFISH_TABLES) && defined(LTC_TWOFISH_ALL_TABLES)
- "(tables, all_tables)\n"
- #elif defined(LTC_TWOFISH_SMALL)
- "(small)\n"
- #elif defined(LTC_TWOFISH_TABLES)
- "(tables)\n"
- #elif defined(LTC_TWOFISH_ALL_TABLES)
- "(all_tables)\n"
- #else
- "\n"
- #endif
- #endif
- #if defined(LTC_DES)
- " DES\n"
- #endif
- #if defined(LTC_CAST5)
- " CAST5\n"
- #endif
- #if defined(LTC_NOEKEON)
- " Noekeon\n"
- #endif
- #if defined(LTC_SKIPJACK)
- " Skipjack\n"
- #endif
- #if defined(LTC_KHAZAD)
- " Khazad\n"
- #endif
- #if defined(LTC_ANUBIS)
- " Anubis "
- #endif
- #if defined(LTC_ANUBIS_TWEAK)
- " (tweaked)"
- #endif
- "\n"
- #if defined(LTC_KSEED)
- " KSEED\n"
- #endif
- #if defined(LTC_KASUMI)
- " KASUMI\n"
- #endif
- #if defined(LTC_MULTI2)
- " MULTI2\n"
- #endif
- #if defined(LTC_CAMELLIA)
- " Camellia\n"
- #endif
- #if defined(LTC_IDEA)
- " IDEA\n"
- #endif
- #if defined(LTC_SERPENT)
- " Serpent\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)
- " SHA-512\n"
- #endif
- #if defined(LTC_SHA384)
- " SHA-384\n"
- #endif
- #if defined(LTC_SHA512_256)
- " SHA-512/256\n"
- #endif
- #if defined(LTC_SHA256)
- " SHA-256\n"
- #endif
- #if defined(LTC_SHA512_224)
- " SHA-512/224\n"
- #endif
- #if defined(LTC_SHA224)
- " SHA-224\n"
- #endif
- #if defined(LTC_TIGER)
- " TIGER\n"
- #endif
- #if defined(LTC_SHA1)
- " SHA1\n"
- #endif
- #if defined(LTC_MD5)
- " MD5\n"
- #endif
- #if defined(LTC_MD4)
- " MD4\n"
- #endif
- #if defined(LTC_MD2)
- " MD2\n"
- #endif
- #if defined(LTC_RIPEMD128)
- " RIPEMD128\n"
- #endif
- #if defined(LTC_RIPEMD160)
- " RIPEMD160\n"
- #endif
- #if defined(LTC_RIPEMD256)
- " RIPEMD256\n"
- #endif
- #if defined(LTC_RIPEMD320)
- " RIPEMD320\n"
- #endif
- #if defined(LTC_WHIRLPOOL)
- " WHIRLPOOL\n"
- #endif
- #if defined(LTC_BLAKE2S)
- " BLAKE2S\n"
- #endif
- #if defined(LTC_BLAKE2B)
- " BLAKE2B\n"
- #endif
- #if defined(LTC_CHC_HASH)
- " CHC_HASH\n"
- #endif
- "\nBlock Chaining Modes:\n"
- #if defined(LTC_CFB_MODE)
- " CFB\n"
- #endif
- #if defined(LTC_OFB_MODE)
- " OFB\n"
- #endif
- #if defined(LTC_ECB_MODE)
- " ECB\n"
- #endif
- #if defined(LTC_CBC_MODE)
- " CBC\n"
- #endif
- #if defined(LTC_CTR_MODE)
- " CTR\n"
- #endif
- #if defined(LTC_LRW_MODE)
- " LRW"
- #if defined(LTC_LRW_TABLES)
- " (tables) "
- #endif
- "\n"
- #endif
- #if defined(LTC_F8_MODE)
- " F8\n"
- #endif
- #if defined(LTC_XTS_MODE)
- " XTS\n"
- #endif
- "\nMACs:\n"
- #if defined(LTC_HMAC)
- " HMAC\n"
- #endif
- #if defined(LTC_OMAC)
- " OMAC\n"
- #endif
- #if defined(LTC_PMAC)
- " PMAC\n"
- #endif
- #if defined(LTC_PELICAN)
- " PELICAN\n"
- #endif
- #if defined(LTC_XCBC)
- " XCBC\n"
- #endif
- #if defined(LTC_F9_MODE)
- " 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)
- " EAX\n"
- #endif
- #if defined(LTC_OCB_MODE)
- " OCB\n"
- #endif
- #if defined(LTC_OCB3_MODE)
- " OCB3\n"
- #endif
- #if defined(LTC_CCM_MODE)
- " CCM\n"
- #endif
- #if defined(LTC_GCM_MODE)
- " GCM"
- #if defined(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 ("NAME_VALUE(LTC_YARROW_AES)")\n"
- #endif
- #if defined(LTC_SPRNG)
- " SPRNG\n"
- #endif
- #if defined(LTC_RC4)
- " RC4\n"
- #endif
- #if defined(LTC_CHACHA20_PRNG)
- " ChaCha20\n"
- #endif
- #if defined(LTC_FORTUNA)
- " Fortuna (" NAME_VALUE(LTC_FORTUNA_POOLS) ", " NAME_VALUE(LTC_FORTUNA_WD) ")\n"
- #endif
- #if defined(LTC_SOBER128)
- " SOBER128\n"
- #endif
- "\nPK Crypto:\n"
- #if defined(LTC_MRSA)
- " 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"
- #if defined(LTC_ECC_TIMING_RESISTANT)
- " (with blinding)"
- #endif
- "\n"
- #endif
- #if defined(LTC_MDSA)
- " DSA\n"
- #endif
- #if defined(LTC_MKAT)
- " Katja\n"
- #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(_WIN64)
- " WIN64 platform detected.\n"
- #elif defined(_WIN32)
- " WIN32 platform detected.\n"
- #endif
- #if defined(__CYGWIN__)
- " CYGWIN Detected.\n"
- #endif
- #if defined(__DJGPP__)
- " DJGPP Detected.\n"
- #endif
- #if defined(_MSC_VER)
- " MSVC compiler detected.\n"
- #endif
- #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)
- " PPC32 detected.\n"
- #endif
- "\nVarious others: "
- #if defined(ARGTYPE)
- " " NAME_VALUE(ARGTYPE) " "
- #endif
- #if defined(LTC_ADLER32)
- " ADLER32 "
- #endif
- #if defined(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(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 "
- #endif
- #if defined(LTC_NO_FILE)
- " LTC_NO_FILE "
- #endif
- #if defined(LTC_FILE_READ_BUFSIZE)
- " " NAME_VALUE(LTC_FILE_READ_BUFSIZE) " "
- #endif
- #if defined(LTC_FAST)
- " LTC_FAST "
- #endif
- #if defined(LTC_NO_FAST)
- " LTC_NO_FAST "
- #endif
- #if defined(LTC_NO_BSWAP)
- " LTC_NO_BSWAP "
- #endif
- #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
- #if defined(LTC_NO_TABLES)
- " LTC_NO_TABLES "
- #endif
- #if defined(LTC_PTHREAD)
- " LTC_PTHREAD "
- #endif
- #if defined(LTC_EASY)
- " LTC_EASY "
- #endif
- #if defined(LTC_MECC_ACCEL)
- " LTC_MECC_ACCEL "
- #endif
- #if defined(LTC_MECC_FP)
- " LTC_MECC_FP "
- #endif
- #if defined(LTC_ECC_SHAMIR)
- " LTC_ECC_SHAMIR "
- #endif
- "\n"
- ;
- /* ref: $Format:%D$ */
- /* git commit: $Format:%H$ */
- /* commit time: $Format:%ai$ */
|