package org.bouncycastle.crypto.prng.drbg;
Interface to SP800-90A deterministic random bit generators.
/**
* Interface to SP800-90A deterministic random bit generators.
*/
public interface SP80090DRBG
{
Return the block size of the DRBG.
Returns: the block size (in bits) produced by each round of the DRBG.
/**
* Return the block size of the DRBG.
*
* @return the block size (in bits) produced by each round of the DRBG.
*/
int getBlockSize();
Populate a passed in array with random data.
Params: - output – output array for generated bits.
- additionalInput – additional input to be added to the DRBG in this step.
- predictionResistant – true if a reseed should be forced, false otherwise.
Returns: number of bits generated, -1 if a reseed required.
/**
* Populate a passed in array with random data.
*
* @param output output array for generated bits.
* @param additionalInput additional input to be added to the DRBG in this step.
* @param predictionResistant true if a reseed should be forced, false otherwise.
*
* @return number of bits generated, -1 if a reseed required.
*/
int generate(byte[] output, byte[] additionalInput, boolean predictionResistant);
Reseed the DRBG.
Params: - additionalInput – additional input to be added to the DRBG in this step.
/**
* Reseed the DRBG.
*
* @param additionalInput additional input to be added to the DRBG in this step.
*/
void reseed(byte[] additionalInput);
}