28 #if defined(POLARSSL_ENTROPY_C)
33 #if defined(POLARSSL_HAVEGE_C)
37 #define ENTROPY_MAX_LOOP 256
39 void entropy_init( entropy_context *ctx )
44 #if defined(POLARSSL_HAVEGE_C)
48 #if !defined(POLARSSL_NO_DEFAULT_ENTROPY_SOURCES)
49 #if !defined(POLARSSL_NO_PLATFORM_ENTROPY)
53 #if defined(POLARSSL_TIMING_C)
56 #if defined(POLARSSL_HAVEGE_C)
85 const unsigned char *data,
size_t len )
87 unsigned char header[2];
90 const unsigned char *p = data;
94 sha4( data, len, tmp, 0 );
100 header[0] = source_id;
101 header[1] = use_len & 0xFF;
110 const unsigned char *data,
size_t len )
144 entropy_update( ctx, (
unsigned char) i, buf, olen );
152 int entropy_func(
void *data,
unsigned char *output,
size_t len )
154 int ret, count = 0, i, reached;
166 if( count++ > ENTROPY_MAX_LOOP )
199 memcpy( output, buf, len );