Mercurial > dropbear
view libtomcrypt/src/prngs/yarrow.c @ 1691:2d3745d58843
try rearrange travis build matrix
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 26 May 2020 23:27:26 +0800 |
parents | 6dba84798cd5 |
children |
line wrap: on
line source
/* 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 yarrow.c Yarrow PRNG, Tom St Denis */ #ifdef LTC_YARROW const struct ltc_prng_descriptor yarrow_desc = { "yarrow", 64, &yarrow_start, &yarrow_add_entropy, &yarrow_ready, &yarrow_read, &yarrow_done, &yarrow_export, &yarrow_import, &yarrow_test }; /** Start the PRNG @param prng [out] The PRNG state to initialize @return CRYPT_OK if successful */ int yarrow_start(prng_state *prng) { int err; LTC_ARGCHK(prng != NULL); prng->ready = 0; /* these are the default hash/cipher combo used */ #ifdef LTC_RIJNDAEL #if LTC_YARROW_AES==0 prng->yarrow.cipher = register_cipher(&rijndael_enc_desc); #elif LTC_YARROW_AES==1 prng->yarrow.cipher = register_cipher(&aes_enc_desc); #elif LTC_YARROW_AES==2 prng->yarrow.cipher = register_cipher(&rijndael_desc); #elif LTC_YARROW_AES==3 prng->yarrow.cipher = register_cipher(&aes_desc); #endif #elif defined(LTC_BLOWFISH) prng->yarrow.cipher = register_cipher(&blowfish_desc); #elif defined(LTC_TWOFISH) prng->yarrow.cipher = register_cipher(&twofish_desc); #elif defined(LTC_RC6) prng->yarrow.cipher = register_cipher(&rc6_desc); #elif defined(LTC_RC5) prng->yarrow.cipher = register_cipher(&rc5_desc); #elif defined(LTC_SAFERP) prng->yarrow.cipher = register_cipher(&saferp_desc); #elif defined(LTC_RC2) prng->yarrow.cipher = register_cipher(&rc2_desc); #elif defined(LTC_NOEKEON) prng->yarrow.cipher = register_cipher(&noekeon_desc); #elif defined(LTC_ANUBIS) prng->yarrow.cipher = register_cipher(&anubis_desc); #elif defined(LTC_KSEED) prng->yarrow.cipher = register_cipher(&kseed_desc); #elif defined(LTC_KHAZAD) prng->yarrow.cipher = register_cipher(&khazad_desc); #elif defined(LTC_CAST5) prng->yarrow.cipher = register_cipher(&cast5_desc); #elif defined(LTC_XTEA) prng->yarrow.cipher = register_cipher(&xtea_desc); #elif defined(LTC_SAFER) prng->yarrow.cipher = register_cipher(&safer_sk128_desc); #elif defined(LTC_DES)