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