aboutsummaryrefslogtreecommitdiff
path: root/brandt.c
blob: dd88643744ecfb68d94108ac96f1fccd2720bad9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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();
}