public class DualECSP800DRBG extends java.lang.Object implements SP80090DRBG
Constructor and Description |
---|
DualECSP800DRBG(Digest digest,
int securityStrength,
EntropySource entropySource,
byte[] personalizationString,
byte[] nonce)
Construct a SP800-90A Dual EC DRBG.
|
DualECSP800DRBG(DualECPoints[] pointSet,
Digest digest,
int securityStrength,
EntropySource entropySource,
byte[] personalizationString,
byte[] nonce)
Construct a SP800-90A Dual EC DRBG.
|
Modifier and Type | Method and Description |
---|---|
int |
generate(byte[] output,
byte[] additionalInput,
boolean predictionResistant)
Populate a passed in array with random data.
|
int |
getBlockSize()
Return the block size (in bits) of the DRBG.
|
void |
reseed(byte[] additionalInput)
Reseed the DRBG.
|
public DualECSP800DRBG(Digest digest, int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce)
Minimum entropy requirement is the security strength requested.
digest
- source digest to use with the DRB stream.securityStrength
- security strength required (in bits)entropySource
- source of entropy to use for seeding/reseeding.personalizationString
- personalization string to distinguish this DRBG (may be null).nonce
- nonce to further distinguish this DRBG (may be null).public DualECSP800DRBG(DualECPoints[] pointSet, Digest digest, int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce)
Minimum entropy requirement is the security strength requested.
pointSet
- an array of points to choose from, in order of increasing security strengthdigest
- source digest to use with the DRB stream.securityStrength
- security strength required (in bits)entropySource
- source of entropy to use for seeding/reseeding.personalizationString
- personalization string to distinguish this DRBG (may be null).nonce
- nonce to further distinguish this DRBG (may be null).public int getBlockSize()
getBlockSize
in interface SP80090DRBG
public int generate(byte[] output, byte[] additionalInput, boolean predictionResistant)
generate
in interface SP80090DRBG
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.public void reseed(byte[] additionalInput)
reseed
in interface SP80090DRBG
additionalInput
- additional input to be added to the DRBG in this step.