]> pd.if.org Git - zpackage/blob - libtomcrypt/src/misc/crypt/crypt.c
commit files needed for zpm-fetchurl
[zpackage] / libtomcrypt / src / misc / crypt / crypt.c
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 #include "tomcrypt.h"
10
11 /**
12   @file crypt.c
13   Build strings, Tom St Denis
14 */
15 #define NAME_VALUE(s) #s"="NAME(s)
16 #define NAME(s) #s
17
18 const char *crypt_build_settings =
19    "LibTomCrypt " SCRYPT " (www.libtom.net)\n"
20    "LibTomCrypt is public domain software.\n"
21 #if defined(INCLUDE_BUILD_DATE)
22    "Built on " __DATE__ " at " __TIME__ "\n"
23 #endif
24    "\n\nEndianness: "
25 #if defined(ENDIAN_NEUTRAL)
26    "neutral/"
27 #endif
28 #if defined(ENDIAN_LITTLE)
29    "little"
30 #elif defined(ENDIAN_BIG)
31    "big"
32 #endif
33    #if defined(ENDIAN_32BITWORD)
34    " (32-bit words)\n"
35    #elif defined(ENDIAN_64BITWORD)
36    " (64-bit words)\n"
37    #else
38    " (no wordsize defined)\n"
39    #endif
40    "Clean stack: "
41 #if defined(LTC_CLEAN_STACK)
42    "enabled\n"
43 #else
44    "disabled\n"
45 #endif
46    "\nCiphers built-in:\n"
47 #if defined(LTC_BLOWFISH)
48    "   Blowfish\n"
49 #endif
50 #if defined(LTC_RC2)
51    "   RC2\n"
52 #endif
53 #if defined(LTC_RC5)
54    "   RC5\n"
55 #endif
56 #if defined(LTC_RC6)
57    "   RC6\n"
58 #endif
59 #if defined(LTC_SAFERP)
60    "   Safer+\n"
61 #endif
62 #if defined(LTC_SAFER)
63    "   Safer\n"
64 #endif
65 #if defined(LTC_RIJNDAEL)
66    "   Rijndael\n"
67 #endif
68 #if defined(LTC_XTEA)
69    "   XTEA\n"
70 #endif
71 #if defined(LTC_TWOFISH)
72    "   Twofish "
73    #if defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_TABLES) && defined(LTC_TWOFISH_ALL_TABLES)
74        "(small, tables, all_tables)\n"
75    #elif defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_TABLES)
76        "(small, tables)\n"
77    #elif defined(LTC_TWOFISH_SMALL) && defined(LTC_TWOFISH_ALL_TABLES)
78        "(small, all_tables)\n"
79    #elif defined(LTC_TWOFISH_TABLES) && defined(LTC_TWOFISH_ALL_TABLES)
80        "(tables, all_tables)\n"
81    #elif defined(LTC_TWOFISH_SMALL)
82        "(small)\n"
83    #elif defined(LTC_TWOFISH_TABLES)
84        "(tables)\n"
85    #elif defined(LTC_TWOFISH_ALL_TABLES)
86        "(all_tables)\n"
87    #else
88        "\n"
89    #endif
90 #endif
91 #if defined(LTC_DES)
92    "   DES\n"
93 #endif
94 #if defined(LTC_CAST5)
95    "   CAST5\n"
96 #endif
97 #if defined(LTC_NOEKEON)
98    "   Noekeon\n"
99 #endif
100 #if defined(LTC_SKIPJACK)
101    "   Skipjack\n"
102 #endif
103 #if defined(LTC_KHAZAD)
104    "   Khazad\n"
105 #endif
106 #if defined(LTC_ANUBIS)
107    "   Anubis "
108 #endif
109 #if defined(LTC_ANUBIS_TWEAK)
110    " (tweaked)"
111 #endif
112    "\n"
113 #if defined(LTC_KSEED)
114    "   KSEED\n"
115 #endif
116 #if defined(LTC_KASUMI)
117    "   KASUMI\n"
118 #endif
119 #if defined(LTC_MULTI2)
120    "   MULTI2\n"
121 #endif
122 #if defined(LTC_CAMELLIA)
123    "   Camellia\n"
124 #endif
125    "Stream ciphers built-in:\n"
126 #if defined(LTC_CHACHA)
127    "   ChaCha\n"
128 #endif
129 #if defined(LTC_RC4_STREAM)
130    "   RC4\n"
131 #endif
132 #if defined(LTC_SOBER128_STREAM)
133    "   SOBER128\n"
134 #endif
135
136     "\nHashes built-in:\n"
137 #if defined(LTC_SHA3)
138    "   SHA3\n"
139 #endif
140 #if defined(LTC_SHA512)
141    "   SHA-512\n"
142 #endif
143 #if defined(LTC_SHA384)
144    "   SHA-384\n"
145 #endif
146 #if defined(LTC_SHA512_256)
147    "   SHA-512/256\n"
148 #endif
149 #if defined(LTC_SHA256)
150    "   SHA-256\n"
151 #endif
152 #if defined(LTC_SHA512_224)
153    "   SHA-512/224\n"
154 #endif
155 #if defined(LTC_SHA224)
156    "   SHA-224\n"
157 #endif
158 #if defined(LTC_TIGER)
159    "   TIGER\n"
160 #endif
161 #if defined(LTC_SHA1)
162    "   SHA1\n"
163 #endif
164 #if defined(LTC_MD5)
165    "   MD5\n"
166 #endif
167 #if defined(LTC_MD4)
168    "   MD4\n"
169 #endif
170 #if defined(LTC_MD2)
171    "   MD2\n"
172 #endif
173 #if defined(LTC_RIPEMD128)
174    "   RIPEMD128\n"
175 #endif
176 #if defined(LTC_RIPEMD160)
177    "   RIPEMD160\n"
178 #endif
179 #if defined(LTC_RIPEMD256)
180    "   RIPEMD256\n"
181 #endif
182 #if defined(LTC_RIPEMD320)
183    "   RIPEMD320\n"
184 #endif
185 #if defined(LTC_WHIRLPOOL)
186    "   WHIRLPOOL\n"
187 #endif
188 #if defined(LTC_BLAKE2S)
189    "   BLAKE2S\n"
190 #endif
191 #if defined(LTC_BLAKE2B)
192    "   BLAKE2B\n"
193 #endif
194 #if defined(LTC_CHC_HASH)
195    "   CHC_HASH\n"
196 #endif
197
198     "\nBlock Chaining Modes:\n"
199 #if defined(LTC_CFB_MODE)
200     "   CFB\n"
201 #endif
202 #if defined(LTC_OFB_MODE)
203     "   OFB\n"
204 #endif
205 #if defined(LTC_ECB_MODE)
206     "   ECB\n"
207 #endif
208 #if defined(LTC_CBC_MODE)
209     "   CBC\n"
210 #endif
211 #if defined(LTC_CTR_MODE)
212     "   CTR\n"
213 #endif
214 #if defined(LTC_LRW_MODE)
215     "   LRW"
216 #if defined(LTC_LRW_TABLES)
217     " (tables) "
218 #endif
219     "\n"
220 #endif
221 #if defined(LTC_F8_MODE)
222     "   F8\n"
223 #endif
224 #if defined(LTC_XTS_MODE)
225     "   XTS\n"
226 #endif
227
228     "\nMACs:\n"
229 #if defined(LTC_HMAC)
230     "   HMAC\n"
231 #endif
232 #if defined(LTC_OMAC)
233     "   OMAC\n"
234 #endif
235 #if defined(LTC_PMAC)
236     "   PMAC\n"
237 #endif
238 #if defined(LTC_PELICAN)
239     "   PELICAN\n"
240 #endif
241 #if defined(LTC_XCBC)
242     "   XCBC\n"
243 #endif
244 #if defined(LTC_F9_MODE)
245     "   F9\n"
246 #endif
247 #if defined(LTC_POLY1305)
248     "   POLY1305\n"
249 #endif
250 #if defined(LTC_BLAKE2SMAC)
251     "   BLAKE2S MAC\n"
252 #endif
253 #if defined(LTC_BLAKE2BMAC)
254     "   BLAKE2B MAC\n"
255 #endif
256
257     "\nENC + AUTH modes:\n"
258 #if defined(LTC_EAX_MODE)
259     "   EAX\n"
260 #endif
261 #if defined(LTC_OCB_MODE)
262     "   OCB\n"
263 #endif
264 #if defined(LTC_OCB3_MODE)
265     "   OCB3\n"
266 #endif
267 #if defined(LTC_CCM_MODE)
268     "   CCM\n"
269 #endif
270 #if defined(LTC_GCM_MODE)
271     "   GCM"
272 #if defined(LTC_GCM_TABLES)
273     " (tables) "
274 #endif
275 #if defined(LTC_GCM_TABLES_SSE2)
276     " (SSE2) "
277 #endif
278    "\n"
279 #endif
280 #if defined(LTC_CHACHA20POLY1305_MODE)
281     "   CHACHA20POLY1305\n"
282 #endif
283
284     "\nPRNG:\n"
285 #if defined(LTC_YARROW)
286     "   Yarrow ("NAME_VALUE(LTC_YARROW_AES)")\n"
287 #endif
288 #if defined(LTC_SPRNG)
289     "   SPRNG\n"
290 #endif
291 #if defined(LTC_RC4)
292     "   RC4\n"
293 #endif
294 #if defined(LTC_CHACHA20_PRNG)
295     "   ChaCha20\n"
296 #endif
297 #if defined(LTC_FORTUNA)
298     "   Fortuna (" NAME_VALUE(LTC_FORTUNA_POOLS) ", " NAME_VALUE(LTC_FORTUNA_WD) ")\n"
299 #endif
300 #if defined(LTC_SOBER128)
301     "   SOBER128\n"
302 #endif
303
304     "\nPK Crypto:\n"
305 #if defined(LTC_MRSA)
306     "   RSA"
307 #if defined(LTC_RSA_BLINDING) && defined(LTC_RSA_CRT_HARDENING)
308     " (with blinding and CRT hardening)"
309 #elif defined(LTC_RSA_BLINDING)
310     " (with blinding)"
311 #elif defined(LTC_RSA_CRT_HARDENING)
312     " (with CRT hardening)"
313 #endif
314     "\n"
315 #endif
316 #if defined(LTC_MDH)
317     "   DH\n"
318 #endif
319 #if defined(LTC_MECC)
320     "   ECC"
321 #if defined(LTC_ECC_TIMING_RESISTANT)
322     " (with blinding)"
323 #endif
324     "\n"
325 #endif
326 #if defined(LTC_MDSA)
327     "   DSA\n"
328 #endif
329 #if defined(LTC_MKAT)
330     "   Katja\n"
331 #endif
332 #if defined(LTC_PK_MAX_RETRIES)
333     "   "NAME_VALUE(LTC_PK_MAX_RETRIES)"\n"
334 #endif
335
336     "\nMPI (Math):\n"
337 #if defined(LTC_MPI)
338     "   LTC_MPI\n"
339 #endif
340 #if defined(LTM_DESC)
341     "   LTM_DESC\n"
342 #endif
343 #if defined(TFM_DESC)
344     "   TFM_DESC\n"
345 #endif
346 #if defined(GMP_DESC)
347     "   GMP_DESC\n"
348 #endif
349 #if defined(LTC_MILLER_RABIN_REPS)
350     "   "NAME_VALUE(LTC_MILLER_RABIN_REPS)"\n"
351 #endif
352
353     "\nCompiler:\n"
354 #if defined(_WIN64)
355     "   WIN64 platform detected.\n"
356 #elif defined(_WIN32)
357     "   WIN32 platform detected.\n"
358 #endif
359 #if defined(__CYGWIN__)
360     "   CYGWIN Detected.\n"
361 #endif
362 #if defined(__DJGPP__)
363     "   DJGPP Detected.\n"
364 #endif
365 #if defined(_MSC_VER)
366     "   MSVC compiler detected.\n"
367 #endif
368 #if defined(__clang_version__)
369     "   Clang compiler " __clang_version__ ".\n"
370 #elif defined(INTEL_CC)
371     "   Intel C Compiler " __VERSION__ ".\n"
372 #elif defined(__GNUC__)         /* clang and icc also define __GNUC__ */
373     "   GCC compiler " __VERSION__ ".\n"
374 #endif
375
376 #if defined(__x86_64__)
377     "   x86-64 detected.\n"
378 #endif
379 #if defined(LTC_PPC32)
380     "   PPC32 detected.\n"
381 #endif
382
383     "\nVarious others: "
384 #if defined(ARGTYPE)
385     " " NAME_VALUE(ARGTYPE) " "
386 #endif
387 #if defined(LTC_ADLER32)
388     " ADLER32 "
389 #endif
390 #if defined(LTC_BASE64)
391     " BASE64 "
392 #endif
393 #if defined(LTC_BASE64_URL)
394     " BASE64-URL-SAFE "
395 #endif
396 #if defined(LTC_CRC32)
397     " CRC32 "
398 #endif
399 #if defined(LTC_DER)
400     " DER "
401     " " NAME_VALUE(LTC_DER_MAX_RECURSION) " "
402 #endif
403 #if defined(LTC_PKCS_1)
404     " PKCS#1 "
405 #endif
406 #if defined(LTC_PKCS_5)
407     " PKCS#5 "
408 #endif
409 #if defined(LTC_HKDF)
410     " HKDF "
411 #endif
412 #if defined(LTC_DEVRANDOM)
413     " LTC_DEVRANDOM "
414 #endif
415 #if defined(LTC_TRY_URANDOM_FIRST)
416     " LTC_TRY_URANDOM_FIRST "
417 #endif
418 #if defined(LTC_RNG_GET_BYTES)
419     " LTC_RNG_GET_BYTES "
420 #endif
421 #if defined(LTC_RNG_MAKE_PRNG)
422     " LTC_RNG_MAKE_PRNG "
423 #endif
424 #if defined(LTC_PRNG_ENABLE_LTC_RNG)
425     " LTC_PRNG_ENABLE_LTC_RNG "
426 #endif
427 #if defined(LTC_HASH_HELPERS)
428     " LTC_HASH_HELPERS "
429 #endif
430 #if defined(LTC_VALGRIND)
431     " LTC_VALGRIND "
432 #endif
433 #if defined(LTC_TEST)
434     " LTC_TEST "
435 #endif
436 #if defined(LTC_TEST_DBG)
437     " " NAME_VALUE(LTC_TEST_DBG) " "
438 #endif
439 #if defined(LTC_TEST_EXT)
440     " LTC_TEST_EXT "
441 #endif
442 #if defined(LTC_SMALL_CODE)
443     " LTC_SMALL_CODE "
444 #endif
445 #if defined(LTC_NO_FILE)
446     " LTC_NO_FILE "
447 #endif
448 #if defined(LTC_FILE_READ_BUFSIZE)
449     " " NAME_VALUE(LTC_FILE_READ_BUFSIZE) " "
450 #endif
451 #if defined(LTC_FAST)
452     " LTC_FAST "
453 #endif
454 #if defined(LTC_NO_FAST)
455     " LTC_NO_FAST "
456 #endif
457 #if defined(LTC_NO_BSWAP)
458     " LTC_NO_BSWAP "
459 #endif
460 #if defined(LTC_NO_ASM)
461     " LTC_NO_ASM "
462 #endif
463 #if defined(LTC_ROx_ASM)
464     " LTC_ROx_ASM "
465 #if defined(LTC_NO_ROLC)
466     " LTC_NO_ROLC "
467 #endif
468 #endif
469 #if defined(LTC_NO_TEST)
470     " LTC_NO_TEST "
471 #endif
472 #if defined(LTC_NO_TABLES)
473     " LTC_NO_TABLES "
474 #endif
475 #if defined(LTC_PTHREAD)
476     " LTC_PTHREAD "
477 #endif
478 #if defined(LTC_EASY)
479     " LTC_EASY "
480 #endif
481 #if defined(LTC_MECC_ACCEL)
482     " LTC_MECC_ACCEL "
483 #endif
484 #if defined(LTC_MECC_FP)
485    " LTC_MECC_FP "
486 #endif
487 #if defined(LTC_ECC_SHAMIR)
488    " LTC_ECC_SHAMIR "
489 #endif
490     "\n"
491     ;
492
493
494 /* ref:         $Format:%D$ */
495 /* git commit:  $Format:%H$ */
496 /* commit time: $Format:%ai$ */