Expand description
An implementation of the crypographic random number generator CTR_DRBG as defined by NIST SP 800-90A Rev. 1.
CTR_DRBG is a Cryptographically Secure Pseudorandom Number Generator (CSPRNG) that may be used for generating sensitive data such as encryption keys. The implementation uses the AES-256 block cipher and derivation function to generate random bytes.
§Quick Example
A simple way to obtain crypographic random random data is to use
the
LocalCtrDrbg::default()
function. This returns a handle to a thread-local instance of
CtrDrbg pre-allocated to use entropy supplied by
the OS. The std feature is required for this approach.
use drbg::thread::LocalCtrDrbg;
let drbg = LocalCtrDrbg::default();
let mut random_data = [0u8; 32];
drbg.fill_bytes(&mut random_data, None)?;Otherwise an instance may be constructed by hand using the
CtrBuilder class. This approach doesn’t
require the std feature. It also allows the caller to configure
the instance with different input parameters.