iPXE
|
RBG mechanism. More...
#include <stdint.h>
#include <string.h>
#include <ipxe/init.h>
#include <ipxe/settings.h>
#include <ipxe/uuid.h>
#include <ipxe/crypto.h>
#include <ipxe/drbg.h>
#include <ipxe/rbg.h>
Go to the source code of this file.
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
static int | rbg_startup (void) |
Start up RBG. More... | |
static void | rbg_shutdown (void) |
Shut down RBG. More... | |
static void | rbg_startup_fn (void) |
RBG startup function. More... | |
static void | rbg_shutdown_fn (int booting __unused) |
RBG shutdown function. More... | |
struct startup_fn startup_rbg | __startup_fn (STARTUP_NORMAL) |
RBG startup table entry. More... | |
Variables | |
struct random_bit_generator | rbg |
The RBG. More... | |
RBG mechanism.
This mechanism is designed to comply with ANS X9.82 Part 4 (April 2011 Draft) Section 10. This standard is unfortunately not freely available.
The chosen RBG design is that of a DRBG with a live entropy source with no conditioning function. Only a single security strength is supported. No seedfile is used since there may be no non-volatile storage available. The system UUID is used as the personalisation string.
Definition in file rbg.c.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
static |
Start up RBG.
rc | Return status code |
This is the RBG_Startup function defined in ANS X9.82 Part 4 (April 2011 Draft) Section 9.1.2.2.
Definition at line 73 of file rbg.c.
References DBGC, drbg_instantiate(), fetch_uuid_setting(), len, NULL, rbg, rc, random_bit_generator::state, and strerror().
Referenced by rbg_startup_fn().
|
static |
Shut down RBG.
Definition at line 104 of file rbg.c.
References drbg_uninstantiate(), rbg, and random_bit_generator::state.
Referenced by rbg_shutdown_fn().
|
static |
|
static |
struct startup_fn startup_rbg __startup_fn | ( | STARTUP_NORMAL | ) |
RBG startup table entry.
struct random_bit_generator rbg |
The RBG.
Definition at line 63 of file rbg.c.
Referenced by rbg_generate(), rbg_shutdown(), and rbg_startup().