SPRUJB6B November 2024 – May 2025 AM2612
The 'Reseed' operation steps for the [SP 800-90A] AES-256 DRBG for TRNG configuration with BC_DF are as follows:
After this, the engine is ready to handle a new 'Generate' request using the [16] REQUEST_DATA register bit (see Section 7.4.4.6.1.2.4, SP 800-90A DRBG 'Generate' Operation). The first output for these requests will take a while, as the Noise Source must first generate 'Reseed' entropy for the DRBG BC_DF function.
For the SP 800-90A DRBG, a 'Reseed' is not needed when starting up. The start-up procedure automatically performs an 'Initialize' function that is equivalent to a 'Reseed' (with the difference that Key and 'V' values are initialized to zero at the start). See Section 7.4.4.6.1.2.2, SP 800-90A DRBG 'Initialize' Operation, for more information.
Performing a 'Reseed' does not clear the 'data_blocks' counter (in [31-20] DATA_BLOCKS register field). If the counter is non-zero after the 'Reseed', the number of blocks indicated in the counter will be generated. As any data stored in the output register and random data buffer is thrown away during the 'Reseed', the total number of blocks will not match the number of blocks originally requested. It is highly advisable to either wait until 'data_blocks' is zero or force that field to zero before requesting a 'Reseed'.