diff options
Diffstat (limited to 'brandt.c')
-rw-r--r-- | brandt.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/brandt.c b/brandt.c new file mode 100644 index 0000000..dd88643 --- /dev/null +++ b/brandt.c @@ -0,0 +1,27 @@ + +#include <gcrypt.h> + +#include "crypto.h" +#include "util.h" + +void BRANDT_init () +{ + gcry_error_t err = 0; + if (!gcry_check_version("1.6.0")) { + eprintf("libgcrypt version mismatch"); + } + + /* SECMEM cannot be resized dynamically. We do not know how much we need */ + if ((err = gcry_control(GCRYCTL_DISABLE_SECMEM, 0))) + weprintf("failed to set libgcrypt option DISABLE_SECMEM: %s", + gcry_strerror(err)); + + /* ecc is slow otherwise. */ + if ((err = gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0))) + weprintf("failed to set libgcrypt option ENABLE_QUICK_RANDOM: %s", + gcry_strerror(err)); + + gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); + brandt_rand_poll(); + brandt_crypto_init(); +} |