crypt.c 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. /* LibTomCrypt, modular cryptographic library -- Tom St Denis
  2. *
  3. * LibTomCrypt is a library that provides various cryptographic
  4. * algorithms in a highly modular and flexible manner.
  5. *
  6. * The library is free for all purposes without any express
  7. * guarantee it works.
  8. *
  9. * Tom St Denis, [email protected], http://libtom.org
  10. */
  11. #include "tomcrypt.h"
  12. /**
  13. @file crypt.c
  14. Build strings, Tom St Denis
  15. */
  16. const char *crypt_build_settings =
  17. "LibTomCrypt " SCRYPT " (Tom St Denis, [email protected])\n"
  18. "LibTomCrypt is public domain software.\n"
  19. "Built on " __DATE__ " at " __TIME__ "\n\n\n"
  20. "Endianness: "
  21. #if defined(ENDIAN_NEUTRAL)
  22. "neutral\n"
  23. #elif defined(ENDIAN_LITTLE)
  24. "little"
  25. #if defined(ENDIAN_32BITWORD)
  26. " (32-bit words)\n"
  27. #else
  28. " (64-bit words)\n"
  29. #endif
  30. #elif defined(ENDIAN_BIG)
  31. "big"
  32. #if defined(ENDIAN_32BITWORD)
  33. " (32-bit words)\n"
  34. #else
  35. " (64-bit words)\n"
  36. #endif
  37. #endif
  38. "Clean stack: "
  39. #if defined(LTC_CLEAN_STACK)
  40. "enabled\n"
  41. #else
  42. "disabled\n"
  43. #endif
  44. "Ciphers built-in:\n"
  45. #if defined(LTC_BLOWFISH)
  46. " Blowfish\n"
  47. #endif
  48. #if defined(LTC_RC2)
  49. " RC2\n"
  50. #endif
  51. #if defined(LTC_RC5)
  52. " RC5\n"
  53. #endif
  54. #if defined(LTC_RC6)
  55. " RC6\n"
  56. #endif
  57. #if defined(LTC_SAFERP)
  58. " Safer+\n"
  59. #endif
  60. #if defined(LTC_SAFER)
  61. " Safer\n"
  62. #endif
  63. #if defined(LTC_RIJNDAEL)
  64. " Rijndael\n"
  65. #endif
  66. #if defined(LTC_XTEA)
  67. " XTEA\n"
  68. #endif
  69. #if defined(LTC_TWOFISH)
  70. " Twofish "
  71. #if defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_TABLES) && defined(LTC_TWOFISH_ALL_TABLES)
  72. "(small, tables, all_tables)\n"
  73. #elif defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_TABLES)
  74. "(small, tables)\n"
  75. #elif defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_ALL_TABLES)
  76. "(small, all_tables)\n"
  77. #elif defined(LTC_TWOFISH_TABLES) && defined(LTC_TWOFISH_ALL_TABLES)
  78. "(tables, all_tables)\n"
  79. #elif defined(LTC_TWOFISH_SMALL)
  80. "(small)\n"
  81. #elif defined(LTC_TWOFISH_TABLES)
  82. "(tables)\n"
  83. #elif defined(LTC_TWOFISH_ALL_TABLES)
  84. "(all_tables)\n"
  85. #else
  86. "\n"
  87. #endif
  88. #endif
  89. #if defined(LTC_DES)
  90. " DES\n"
  91. #endif
  92. #if defined(LTC_CAST5)
  93. " CAST5\n"
  94. #endif
  95. #if defined(LTC_NOEKEON)
  96. " Noekeon\n"
  97. #endif
  98. #if defined(LTC_SKIPJACK)
  99. " Skipjack\n"
  100. #endif
  101. #if defined(LTC_KHAZAD)
  102. " Khazad\n"
  103. #endif
  104. #if defined(LTC_ANUBIS)
  105. " Anubis "
  106. #endif
  107. #if defined(LTC_ANUBIS_TWEAK)
  108. " (tweaked)"
  109. #endif
  110. "\n"
  111. #if defined(LTC_KSEED)
  112. " KSEED\n"
  113. #endif
  114. #if defined(LTC_KASUMI)
  115. " KASUMI\n"
  116. #endif
  117. #if defined(LTC_MULTI2)
  118. " MULTI2\n"
  119. #endif
  120. #if defined(LTC_CAMELLIA)
  121. " Camellia\n"
  122. #endif
  123. "\nHashes built-in:\n"
  124. #if defined(LTC_SHA512)
  125. " SHA-512\n"
  126. #endif
  127. #if defined(LTC_SHA384)
  128. " SHA-384\n"
  129. #endif
  130. #if defined(LTC_SHA256)
  131. " SHA-256\n"
  132. #endif
  133. #if defined(LTC_SHA224)
  134. " SHA-224\n"
  135. #endif
  136. #if defined(LTC_TIGER)
  137. " TIGER\n"
  138. #endif
  139. #if defined(LTC_SHA1)
  140. " SHA1\n"
  141. #endif
  142. #if defined(LTC_MD5)
  143. " MD5\n"
  144. #endif
  145. #if defined(LTC_MD4)
  146. " MD4\n"
  147. #endif
  148. #if defined(LTC_MD2)
  149. " MD2\n"
  150. #endif
  151. #if defined(LTC_RIPEMD128)
  152. " RIPEMD128\n"
  153. #endif
  154. #if defined(LTC_RIPEMD160)
  155. " RIPEMD160\n"
  156. #endif
  157. #if defined(LTC_RIPEMD256)
  158. " RIPEMD256\n"
  159. #endif
  160. #if defined(LTC_RIPEMD320)
  161. " RIPEMD320\n"
  162. #endif
  163. #if defined(LTC_WHIRLPOOL)
  164. " WHIRLPOOL\n"
  165. #endif
  166. #if defined(LTC_CHC_HASH)
  167. " CHC_HASH\n"
  168. #endif
  169. "\nBlock Chaining Modes:\n"
  170. #if defined(LTC_CFB_MODE)
  171. " CFB\n"
  172. #endif
  173. #if defined(LTC_OFB_MODE)
  174. " OFB\n"
  175. #endif
  176. #if defined(LTC_ECB_MODE)
  177. " ECB\n"
  178. #endif
  179. #if defined(LTC_CBC_MODE)
  180. " CBC\n"
  181. #endif
  182. #if defined(LTC_CTR_MODE)
  183. " CTR\n"
  184. #endif
  185. #if defined(LTC_LRW_MODE)
  186. " LRW"
  187. #if defined(LTC_LRW_TABLES)
  188. " (tables) "
  189. #endif
  190. "\n"
  191. #endif
  192. #if defined(LTC_F8_MODE)
  193. " F8\n"
  194. #endif
  195. #if defined(LTC_XTS_MODE)
  196. " XTS\n"
  197. #endif
  198. "\nMACs:\n"
  199. #if defined(LTC_HMAC)
  200. " HMAC\n"
  201. #endif
  202. #if defined(LTC_OMAC)
  203. " OMAC\n"
  204. #endif
  205. #if defined(LTC_PMAC)
  206. " PMAC\n"
  207. #endif
  208. #if defined(LTC_PELICAN)
  209. " PELICAN\n"
  210. #endif
  211. #if defined(LTC_XCBC)
  212. " XCBC\n"
  213. #endif
  214. #if defined(LTC_F9_MODE)
  215. " F9\n"
  216. #endif
  217. "\nENC + AUTH modes:\n"
  218. #if defined(LTC_EAX_MODE)
  219. " EAX\n"
  220. #endif
  221. #if defined(LTC_OCB_MODE)
  222. " OCB\n"
  223. #endif
  224. #if defined(LTC_OCB3_MODE)
  225. " OCB3\n"
  226. #endif
  227. #if defined(LTC_CCM_MODE)
  228. " CCM\n"
  229. #endif
  230. #if defined(LTC_GCM_MODE)
  231. " GCM"
  232. #if defined(LTC_GCM_TABLES)
  233. " (tables) "
  234. #endif
  235. #if defined(LTC_GCM_TABLES_SSE2)
  236. " (SSE2) "
  237. #endif
  238. "\n"
  239. #endif
  240. "\nPRNG:\n"
  241. #if defined(LTC_YARROW)
  242. " Yarrow\n"
  243. #endif
  244. #if defined(LTC_SPRNG)
  245. " SPRNG\n"
  246. #endif
  247. #if defined(LTC_RC4)
  248. " RC4\n"
  249. #endif
  250. #if defined(LTC_FORTUNA)
  251. " Fortuna\n"
  252. #endif
  253. #if defined(LTC_SOBER128)
  254. " SOBER128\n"
  255. #endif
  256. "\nPK Algs:\n"
  257. #if defined(LTC_MRSA)
  258. " RSA"
  259. #if defined(LTC_RSA_BLINDING)
  260. " (with blinding)"
  261. #endif
  262. "\n"
  263. #endif
  264. #if defined(LTC_MDH)
  265. " DH\n"
  266. #endif
  267. #if defined(LTC_MECC)
  268. " ECC"
  269. #if defined(LTC_ECC_TIMING_RESISTANT)
  270. " (with blinding)"
  271. #endif
  272. "\n"
  273. #endif
  274. #if defined(LTC_MDSA)
  275. " DSA\n"
  276. #endif
  277. #if defined(LTC_MKAT)
  278. " Katja\n"
  279. #endif
  280. "\nCompiler:\n"
  281. #if defined(_WIN64)
  282. " WIN64 platform detected.\n"
  283. #elif defined(_WIN32)
  284. " WIN32 platform detected.\n"
  285. #endif
  286. #if defined(__CYGWIN__)
  287. " CYGWIN Detected.\n"
  288. #endif
  289. #if defined(__DJGPP__)
  290. " DJGPP Detected.\n"
  291. #endif
  292. #if defined(_MSC_VER)
  293. " MSVC compiler detected.\n"
  294. #endif
  295. #if defined(__clang_version__)
  296. " Clang compiler " __clang_version__ ".\n"
  297. #elif defined(INTEL_CC)
  298. " Intel C Compiler " __VERSION__ ".\n"
  299. #elif defined(__GNUC__) /* clang and icc also define __GNUC__ */
  300. " GCC compiler " __VERSION__ ".\n"
  301. #endif
  302. #if defined(__x86_64__)
  303. " x86-64 detected.\n"
  304. #endif
  305. #if defined(LTC_PPC32)
  306. " PPC32 detected.\n"
  307. #endif
  308. "\nVarious others: "
  309. #if defined(LTC_BASE64)
  310. " BASE64 "
  311. #endif
  312. #if defined(LTC_BASE64_URL)
  313. " BASE64-URL-SAFE "
  314. #endif
  315. #if defined(LTC_DER)
  316. " DER "
  317. #endif
  318. #if defined(LTC_PKCS_1)
  319. " PKCS#1 "
  320. #endif
  321. #if defined(LTC_PKCS_5)
  322. " PKCS#5 "
  323. #endif
  324. #if defined(LTC_HKDF)
  325. " HKDF "
  326. #endif
  327. #if defined(MPI)
  328. " MPI "
  329. #endif
  330. #if defined(LTC_TRY_URANDOM_FIRST)
  331. " LTC_TRY_URANDOM_FIRST "
  332. #endif
  333. #if defined(LTC_TEST)
  334. " LTC_TEST "
  335. #endif
  336. #if defined(LTC_SMALL_CODE)
  337. " LTC_SMALL_CODE "
  338. #endif
  339. #if defined(LTC_NO_FILE)
  340. " LTC_NO_FILE "
  341. #endif
  342. #if defined(LTC_FAST)
  343. " LTC_FAST "
  344. #endif
  345. #if defined(LTC_NO_FAST)
  346. " LTC_NO_FAST "
  347. #endif
  348. #if defined(LTC_NO_BSWAP)
  349. " LTC_NO_BSWAP "
  350. #endif
  351. #if defined(LTC_NO_ASM)
  352. " LTC_NO_ASM "
  353. #endif
  354. #if defined(LTC_NO_TEST)
  355. " LTC_NO_TEST "
  356. #endif
  357. #if defined(LTC_NO_TABLES)
  358. " LTC_NO_TABLES "
  359. #endif
  360. #if defined(LTC_PTHREAD)
  361. " LTC_PTHREAD "
  362. #endif
  363. #if defined(LTM_DESC)
  364. " LTM_DESC "
  365. #endif
  366. #if defined(TFM_DESC)
  367. " TFM_DESC "
  368. #endif
  369. #if defined(GMP_DESC)
  370. " GMP_DESC "
  371. #endif
  372. #if defined(LTC_EASY)
  373. " LTC_EASY "
  374. #endif
  375. #if defined(LTC_MECC_ACCEL)
  376. " LTC_MECC_ACCEL "
  377. #endif
  378. #if defined(LTC_MECC_FP)
  379. " LTC_MECC_FP "
  380. #endif
  381. #if defined(LTC_ECC_SHAMIR)
  382. " LTC_ECC_SHAMIR "
  383. #endif
  384. "\n"
  385. ;
  386. /* $Source$ */
  387. /* $Revision$ */
  388. /* $Date$ */