xref: /optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_hashes.c (revision 2a65ecaf7d6f855e24ce1a117fe1931f7378f82c)
1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis */
2 /* SPDX-License-Identifier: Unlicense */
3 
4 #include "tomcrypt_private.h"
5 
6 /**
7   @file crypt_register_all_hashes.c
8 
9   Steffen Jaeckel
10 */
11 
12 #define REGISTER_HASH(h) do {\
13    LTC_ARGCHK(register_hash(h) != -1); \
14 } while(0)
15 
register_all_hashes(void)16 int register_all_hashes(void)
17 {
18 #ifdef LTC_TIGER
19    REGISTER_HASH(&tiger_desc);
20    REGISTER_HASH(&tiger2_desc);
21 #endif
22 #ifdef LTC_MD2
23    REGISTER_HASH(&md2_desc);
24 #endif
25 #ifdef LTC_MD4
26    REGISTER_HASH(&md4_desc);
27 #endif
28 #ifdef LTC_MD5
29    REGISTER_HASH(&md5_desc);
30 #endif
31 #ifdef LTC_SHA1
32    REGISTER_HASH(&sha1_desc);
33 #endif
34 #ifdef LTC_SHA224
35    REGISTER_HASH(&sha224_desc);
36 #endif
37 #ifdef LTC_SHA256
38    REGISTER_HASH(&sha256_desc);
39 #endif
40 #ifdef LTC_SHA384
41    REGISTER_HASH(&sha384_desc);
42 #endif
43 #ifdef LTC_SHA512
44    REGISTER_HASH(&sha512_desc);
45 #endif
46 #ifdef LTC_SHA512_224
47    REGISTER_HASH(&sha512_224_desc);
48 #endif
49 #ifdef LTC_SHA512_256
50    REGISTER_HASH(&sha512_256_desc);
51 #endif
52 #ifdef LTC_SHA3
53    REGISTER_HASH(&sha3_224_desc);
54    REGISTER_HASH(&sha3_256_desc);
55    REGISTER_HASH(&sha3_384_desc);
56    REGISTER_HASH(&sha3_512_desc);
57 #endif
58 #ifdef LTC_KECCAK
59    REGISTER_HASH(&keccak_224_desc);
60    REGISTER_HASH(&keccak_256_desc);
61    REGISTER_HASH(&keccak_384_desc);
62    REGISTER_HASH(&keccak_512_desc);
63 #endif
64 #ifdef LTC_RIPEMD128
65    REGISTER_HASH(&rmd128_desc);
66 #endif
67 #ifdef LTC_RIPEMD160
68    REGISTER_HASH(&rmd160_desc);
69 #endif
70 #ifdef LTC_RIPEMD256
71    REGISTER_HASH(&rmd256_desc);
72 #endif
73 #ifdef LTC_RIPEMD320
74    REGISTER_HASH(&rmd320_desc);
75 #endif
76 #ifdef LTC_WHIRLPOOL
77    REGISTER_HASH(&whirlpool_desc);
78 #endif
79 #ifdef LTC_BLAKE2S
80    REGISTER_HASH(&blake2s_128_desc);
81    REGISTER_HASH(&blake2s_160_desc);
82    REGISTER_HASH(&blake2s_224_desc);
83    REGISTER_HASH(&blake2s_256_desc);
84 #endif
85 #ifdef LTC_BLAKE2S
86    REGISTER_HASH(&blake2b_160_desc);
87    REGISTER_HASH(&blake2b_256_desc);
88    REGISTER_HASH(&blake2b_384_desc);
89    REGISTER_HASH(&blake2b_512_desc);
90 #endif
91 #ifdef LTC_CHC_HASH
92    REGISTER_HASH(&chc_desc);
93    LTC_ARGCHK(chc_register(find_cipher_any("aes", 8, 16)) == CRYPT_OK);
94 #endif
95    return CRYPT_OK;
96 }
97