Data Structures |
struct | source_state |
| Entropy source state. More...
|
struct | entropy_context |
| Entropy context structure. More...
|
Defines |
#define | POLARSSL_ERR_ENTROPY_SOURCE_FAILED -0x003C |
| Critical entropy source failure.
|
#define | POLARSSL_ERR_ENTROPY_MAX_SOURCES -0x003E |
| No more sources can be added.
|
#define | POLARSSL_ERR_ENTROPY_NO_SOURCES_DEFINED -0x0040 |
| No sources have been added to poll.
|
#define | ENTROPY_MAX_SOURCES 20 |
| Maximum number of sources supported.
|
#define | ENTROPY_MAX_GATHER 128 |
| Maximum amount requested from entropy sources.
|
#define | ENTROPY_BLOCK_SIZE 64 |
| Block size of entropy accumulator (SHA-512)
|
#define | ENTROPY_SOURCE_MANUAL ENTROPY_MAX_SOURCES |
Typedefs |
typedef int(* | f_source_ptr )(void *, unsigned char *, size_t, size_t *) |
| Entropy poll callback pointer.
|
Functions |
void | entropy_init (entropy_context *ctx) |
| Initialize the context.
|
int | entropy_add_source (entropy_context *ctx, f_source_ptr f_source, void *p_source, size_t threshold) |
| Adds an entropy source to poll.
|
int | entropy_gather (entropy_context *ctx) |
| Trigger an extra gather poll for the accumulator.
|
int | entropy_func (void *data, unsigned char *output, size_t len) |
| Retrieve entropy from the accumulator (Max ENTROPY_BLOCK_SIZE)
|
int | entropy_update_manual (entropy_context *ctx, const unsigned char *data, size_t len) |
| Add data to the accumulator manually.
|
Entropy accumulator implementation.
Copyright (C) 2006-2011, Brainspark B.V.
This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Definition in file entropy.h.