[rng] Add ANS X9.82 Approved Source of Entropy Input

ANS X9.82 specifies several Approved Sources of Entropy Input (SEI).
One such SEI uses an entropy source as the Source of Entropy Input,
condensing each entropy source output after each GetEntropy call.
This can be implemented relatively cheaply in iPXE and avoids the need
to allocate potentially very large buffers.

(Note that the terms "entropy source" and "Source of Entropy Input"
are not synonyms within the context of ANS X9.82.)

Use the iPXE API mechanism to allow entropy sources to be selected at
compilation time.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2012-02-19 22:14:06 +00:00
parent c2668b61ea
commit 073f41085f
12 changed files with 410 additions and 65 deletions

View File

@@ -17,6 +17,7 @@
#define SMBIOS_EFI
#define SANBOOT_NULL
#define BOFM_EFI
#define ENTROPY_NULL
#define IMAGE_EFI /* EFI image support */
#define IMAGE_SCRIPT /* iPXE script image support */

View File

@@ -14,6 +14,7 @@
#define NAP_LINUX
#define SMBIOS_LINUX
#define SANBOOT_NULL
#define ENTROPY_NULL
#define DRIVERS_LINUX

View File

@@ -18,6 +18,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define UMALLOC_MEMTOP
#define SMBIOS_PCBIOS
#define SANBOOT_PCBIOS
#define ENTROPY_NULL
#define IMAGE_ELF /* ELF image support */
#define IMAGE_MULTIBOOT /* MultiBoot image support */

16
src/config/entropy.h Normal file
View File

@@ -0,0 +1,16 @@
#ifndef CONFIG_ENTROPY_H
#define CONFIG_ENTROPY_H
/** @file
*
* Entropy API configuration
*
*/
FILE_LICENCE ( GPL2_OR_LATER );
#include <config/defaults.h>
#include <config/local/entropy.h>
#endif /* CONFIG_ENTROPY_H */