Go to the documentation of this file.
27 #ifndef POLARSSL_ENTROPY_H
28 #define POLARSSL_ENTROPY_H
32 #if !defined(POLARSSL_CONFIG_FILE)
35 #include POLARSSL_CONFIG_FILE
38 #if defined(POLARSSL_SHA512_C) && !defined(POLARSSL_ENTROPY_FORCE_SHA256)
40 #define POLARSSL_ENTROPY_SHA512_ACCUMULATOR
42 #if defined(POLARSSL_SHA256_C)
43 #define POLARSSL_ENTROPY_SHA256_ACCUMULATOR
48 #if defined(POLARSSL_THREADING_C)
52 #if defined(POLARSSL_HAVEGE_C)
56 #define POLARSSL_ERR_ENTROPY_SOURCE_FAILED -0x003C
57 #define POLARSSL_ERR_ENTROPY_MAX_SOURCES -0x003E
58 #define POLARSSL_ERR_ENTROPY_NO_SOURCES_DEFINED -0x0040
59 #define POLARSSL_ERR_ENTROPY_FILE_IO_ERROR -0x0058
69 #if !defined(ENTROPY_MAX_SOURCES)
70 #define ENTROPY_MAX_SOURCES 20
73 #if !defined(ENTROPY_MAX_GATHER)
74 #define ENTROPY_MAX_GATHER 128
79 #if defined(POLARSSL_ENTROPY_SHA512_ACCUMULATOR)
80 #define ENTROPY_BLOCK_SIZE 64
82 #define ENTROPY_BLOCK_SIZE 32
85 #define ENTROPY_MAX_SEED_SIZE 1024
86 #define ENTROPY_SOURCE_MANUAL ENTROPY_MAX_SOURCES
103 typedef int (*
f_source_ptr)(
void *data,
unsigned char *output,
size_t len,
123 #if defined(POLARSSL_ENTROPY_SHA512_ACCUMULATOR)
130 #if defined(POLARSSL_HAVEGE_C)
133 #if defined(POLARSSL_THREADING_C)
134 threading_mutex_t mutex;
190 int entropy_func(
void *data,
unsigned char *output,
size_t len );
203 const unsigned char *data,
size_t len );
205 #if defined(POLARSSL_FS_IO)
233 #if defined(POLARSSL_SELF_TEST)