add register_all_{ciphers,hashes,prngs}()
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
/* LibTomCrypt, modular cryptographic library -- Tom St Denis
|
||||
*
|
||||
* LibTomCrypt is a library that provides various cryptographic
|
||||
* algorithms in a highly modular and flexible manner.
|
||||
*
|
||||
* The library is free for all purposes without any express
|
||||
* guarantee it works.
|
||||
*/
|
||||
|
||||
#include "tomcrypt.h"
|
||||
|
||||
/**
|
||||
@file crypt_register_all_ciphers.c
|
||||
|
||||
Steffen Jaeckel
|
||||
*/
|
||||
|
||||
#define REGISTER_CIPHER(h) do {\
|
||||
LTC_ARGCHK((err = register_cipher(h) == -1 ? CRYPT_ERROR : CRYPT_OK) == CRYPT_OK); \
|
||||
} while(0)
|
||||
|
||||
int register_all_ciphers(void)
|
||||
{
|
||||
int err = CRYPT_NOP;
|
||||
|
||||
#ifdef LTC_RIJNDAEL
|
||||
#ifdef ENCRYPT_ONLY
|
||||
/* alternative would be
|
||||
* register_cipher(&rijndael_enc_desc);
|
||||
*/
|
||||
REGISTER_CIPHER(&aes_enc_desc);
|
||||
#else
|
||||
/* alternative would be
|
||||
* register_cipher(&rijndael_desc);
|
||||
*/
|
||||
REGISTER_CIPHER(&aes_desc);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef LTC_BLOWFISH
|
||||
REGISTER_CIPHER(&blowfish_desc);
|
||||
#endif
|
||||
#ifdef LTC_XTEA
|
||||
REGISTER_CIPHER(&xtea_desc);
|
||||
#endif
|
||||
#ifdef LTC_RC5
|
||||
REGISTER_CIPHER(&rc5_desc);
|
||||
#endif
|
||||
#ifdef LTC_RC6
|
||||
REGISTER_CIPHER(&rc6_desc);
|
||||
#endif
|
||||
#ifdef LTC_SAFERP
|
||||
REGISTER_CIPHER(&saferp_desc);
|
||||
#endif
|
||||
#ifdef LTC_TWOFISH
|
||||
REGISTER_CIPHER(&twofish_desc);
|
||||
#endif
|
||||
#ifdef LTC_SAFER
|
||||
REGISTER_CIPHER(&safer_k64_desc);
|
||||
REGISTER_CIPHER(&safer_sk64_desc);
|
||||
REGISTER_CIPHER(&safer_k128_desc);
|
||||
REGISTER_CIPHER(&safer_sk128_desc);
|
||||
#endif
|
||||
#ifdef LTC_RC2
|
||||
REGISTER_CIPHER(&rc2_desc);
|
||||
#endif
|
||||
#ifdef LTC_DES
|
||||
REGISTER_CIPHER(&des_desc);
|
||||
REGISTER_CIPHER(&des3_desc);
|
||||
#endif
|
||||
#ifdef LTC_CAST5
|
||||
REGISTER_CIPHER(&cast5_desc);
|
||||
#endif
|
||||
#ifdef LTC_NOEKEON
|
||||
REGISTER_CIPHER(&noekeon_desc);
|
||||
#endif
|
||||
#ifdef LTC_SKIPJACK
|
||||
REGISTER_CIPHER(&skipjack_desc);
|
||||
#endif
|
||||
#ifdef LTC_ANUBIS
|
||||
REGISTER_CIPHER(&anubis_desc);
|
||||
#endif
|
||||
#ifdef LTC_KHAZAD
|
||||
REGISTER_CIPHER(&khazad_desc);
|
||||
#endif
|
||||
#ifdef LTC_KSEED
|
||||
REGISTER_CIPHER(&kseed_desc);
|
||||
#endif
|
||||
#ifdef LTC_KASUMI
|
||||
REGISTER_CIPHER(&kasumi_desc);
|
||||
#endif
|
||||
#ifdef LTC_MULTI2
|
||||
REGISTER_CIPHER(&multi2_desc);
|
||||
#endif
|
||||
#ifdef LTC_CAMELLIA
|
||||
REGISTER_CIPHER(&camellia_desc);
|
||||
#endif
|
||||
return err;
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
/* LibTomCrypt, modular cryptographic library -- Tom St Denis
|
||||
*
|
||||
* LibTomCrypt is a library that provides various cryptographic
|
||||
* algorithms in a highly modular and flexible manner.
|
||||
*
|
||||
* The library is free for all purposes without any express
|
||||
* guarantee it works.
|
||||
*/
|
||||
|
||||
#include "tomcrypt.h"
|
||||
|
||||
/**
|
||||
@file crypt_register_all_hashes.c
|
||||
|
||||
Steffen Jaeckel
|
||||
*/
|
||||
|
||||
#define REGISTER_HASH(h) do {\
|
||||
LTC_ARGCHK((err = register_hash(h) == -1 ? CRYPT_ERROR : CRYPT_OK) == CRYPT_OK); \
|
||||
} while(0)
|
||||
|
||||
int register_all_hashes(void)
|
||||
{
|
||||
int err = CRYPT_NOP;
|
||||
#ifdef LTC_TIGER
|
||||
REGISTER_HASH(&tiger_desc);
|
||||
#endif
|
||||
#ifdef LTC_MD2
|
||||
REGISTER_HASH(&md2_desc);
|
||||
#endif
|
||||
#ifdef LTC_MD4
|
||||
REGISTER_HASH(&md4_desc);
|
||||
#endif
|
||||
#ifdef LTC_MD5
|
||||
REGISTER_HASH(&md5_desc);
|
||||
#endif
|
||||
#ifdef LTC_SHA1
|
||||
REGISTER_HASH(&sha1_desc);
|
||||
#endif
|
||||
#ifdef LTC_SHA224
|
||||
REGISTER_HASH(&sha224_desc);
|
||||
#endif
|
||||
#ifdef LTC_SHA256
|
||||
REGISTER_HASH(&sha256_desc);
|
||||
#endif
|
||||
#ifdef LTC_SHA384
|
||||
REGISTER_HASH(&sha384_desc);
|
||||
#endif
|
||||
#ifdef LTC_SHA512
|
||||
REGISTER_HASH(&sha512_desc);
|
||||
#endif
|
||||
#ifdef LTC_SHA512_224
|
||||
REGISTER_HASH(&sha512_224_desc);
|
||||
#endif
|
||||
#ifdef LTC_SHA512_256
|
||||
REGISTER_HASH(&sha512_256_desc);
|
||||
#endif
|
||||
#ifdef LTC_SHA3
|
||||
REGISTER_HASH(&sha3_224_desc);
|
||||
REGISTER_HASH(&sha3_256_desc);
|
||||
REGISTER_HASH(&sha3_384_desc);
|
||||
REGISTER_HASH(&sha3_512_desc);
|
||||
#endif
|
||||
#ifdef LTC_RIPEMD128
|
||||
REGISTER_HASH(&rmd128_desc);
|
||||
#endif
|
||||
#ifdef LTC_RIPEMD160
|
||||
REGISTER_HASH(&rmd160_desc);
|
||||
#endif
|
||||
#ifdef LTC_RIPEMD256
|
||||
REGISTER_HASH(&rmd256_desc);
|
||||
#endif
|
||||
#ifdef LTC_RIPEMD320
|
||||
REGISTER_HASH(&rmd320_desc);
|
||||
#endif
|
||||
#ifdef LTC_WHIRLPOOL
|
||||
REGISTER_HASH(&whirlpool_desc);
|
||||
#endif
|
||||
#ifdef LTC_BLAKE2S
|
||||
REGISTER_HASH(&blake2s_128_desc);
|
||||
REGISTER_HASH(&blake2s_160_desc);
|
||||
REGISTER_HASH(&blake2s_224_desc);
|
||||
REGISTER_HASH(&blake2s_256_desc);
|
||||
#endif
|
||||
#ifdef LTC_BLAKE2S
|
||||
REGISTER_HASH(&blake2b_160_desc);
|
||||
REGISTER_HASH(&blake2b_256_desc);
|
||||
REGISTER_HASH(&blake2b_384_desc);
|
||||
REGISTER_HASH(&blake2b_512_desc);
|
||||
#endif
|
||||
#ifdef LTC_CHC_HASH
|
||||
REGISTER_HASH(&chc_desc);
|
||||
LTC_ARGCHK((err = chc_register(find_cipher_any("aes", 8, 16))) == CRYPT_OK);
|
||||
#endif
|
||||
return err;
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
/* LibTomCrypt, modular cryptographic library -- Tom St Denis
|
||||
*
|
||||
* LibTomCrypt is a library that provides various cryptographic
|
||||
* algorithms in a highly modular and flexible manner.
|
||||
*
|
||||
* The library is free for all purposes without any express
|
||||
* guarantee it works.
|
||||
*/
|
||||
|
||||
#include "tomcrypt.h"
|
||||
|
||||
/**
|
||||
@file crypt_register_all_prngs.c
|
||||
|
||||
Steffen Jaeckel
|
||||
*/
|
||||
|
||||
#define REGISTER_PRNG(h) do {\
|
||||
LTC_ARGCHK((err = register_prng(h) == -1 ? CRYPT_ERROR : CRYPT_OK) == CRYPT_OK); \
|
||||
} while(0)
|
||||
|
||||
int register_all_prngs(void)
|
||||
{
|
||||
int err = CRYPT_NOP;
|
||||
#ifdef LTC_YARROW
|
||||
REGISTER_PRNG(&yarrow_desc);
|
||||
#endif
|
||||
#ifdef LTC_FORTUNA
|
||||
REGISTER_PRNG(&fortuna_desc);
|
||||
#endif
|
||||
#ifdef LTC_RC4
|
||||
REGISTER_PRNG(&rc4_desc);
|
||||
#endif
|
||||
#ifdef LTC_CHACHA20_PRNG
|
||||
REGISTER_PRNG(&chacha20_prng_desc);
|
||||
#endif
|
||||
#ifdef LTC_SOBER128
|
||||
REGISTER_PRNG(&sober128_desc);
|
||||
#endif
|
||||
#ifdef LTC_SPRNG
|
||||
REGISTER_PRNG(&sprng_desc);
|
||||
#endif
|
||||
|
||||
return err;
|
||||
}
|
||||
Reference in New Issue
Block a user