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)16int 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