28 lines
690 B
C
28 lines
690 B
C
|
|
||
|
#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();
|
||
|
}
|