Peripheral hardware random number generator interface. More...

Detailed Description

The HWRNG interface abstracts means provided by MCU peripherals to create random number. On most platforms, these peripherals are called something like 'hardware random number generator' or 'pseudo random number generator'. The quality of the created random data does differ quite a bit between different MCUs, so please refer to your MCUs reference manual for information on this!

Note
Refer to your platforms MCU reference manual for information on the quality of the used (pseudo) random number generator!

Files

file  hwrng.h
 Hardware random number generator driver interface.
 

Functions

void hwrng_init (void)
 Initialize the hardware random number generator. More...
 
void hwrng_read (void *buf, unsigned int num)
 Read N bytes of random data from the hardware device. More...
 

Function Documentation

void hwrng_init ( void  )

On some platforms, the random number generator needs some global initialization before it can be used. This should happen in this function if it would impose too much overhead to do this everytime the hwrng_read function is called. The device should however be put into power-off mode after initialization and will be powered on and of when hwrng_read is called.

void hwrng_read ( void *  buf,
unsigned int  num 
)

The read function should power on the HWRNG MCU peripheral, read the given number of random bytes and than put the peripheral back to sleep.

Parameters
[in]bufdestination buffer to write the bytes to
[in]numnumber of bytes to get from device