|
Bouncy Castle Cryptography Library 1.79 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.bouncycastle.crypto.prng.SP800SecureRandomBuilder
Builder class for making SecureRandom objects based on SP 800-90A Deterministic Random Bit Generators (DRBG).
Constructor Summary | |
SP800SecureRandomBuilder()
Basic constructor, creates a builder using an EntropySourceProvider based on the default SecureRandom with predictionResistant set to false. |
|
SP800SecureRandomBuilder(EntropySourceProvider entropySourceProvider)
Create a builder which makes creates the SecureRandom objects from a specified entropy source provider. |
|
SP800SecureRandomBuilder(java.security.SecureRandom entropySource,
boolean predictionResistant)
Construct a builder with an EntropySourceProvider based on the passed in SecureRandom and the passed in value for prediction resistance. |
Method Summary | |
SP800SecureRandom |
buildCTR(BlockCipher cipher,
int keySizeInBits,
byte[] nonce,
boolean predictionResistant)
Build a SecureRandom based on a SP 800-90A CTR DRBG. |
SP800SecureRandom |
buildHash(Digest digest,
byte[] nonce,
boolean predictionResistant)
Build a SecureRandom based on a SP 800-90A Hash DRBG. |
SP800SecureRandom |
buildHMAC(Mac hMac,
byte[] nonce,
boolean predictionResistant)
Build a SecureRandom based on a SP 800-90A HMAC DRBG. |
SP800SecureRandomBuilder |
setEntropyBitsRequired(int entropyBitsRequired)
Set the amount of entropy bits required for seeding and reseeding DRBGs used in building SecureRandom objects. |
SP800SecureRandomBuilder |
setPersonalizationString(byte[] personalizationString)
Set the personalization string for DRBG SecureRandoms created by this builder |
SP800SecureRandomBuilder |
setSecurityStrength(int securityStrength)
Set the security strength required for DRBGs used in building SecureRandom objects. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SP800SecureRandomBuilder()
Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if the default SecureRandom does for its generateSeed() call.
public SP800SecureRandomBuilder(java.security.SecureRandom entropySource, boolean predictionResistant)
Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if the passed in SecureRandom does for its generateSeed() call.
entropySource
- the SecureRandom acting as a source of entropy for DRBGs made by this builder.predictionResistant
- true if the SecureRandom seeder can be regarded as predictionResistant.public SP800SecureRandomBuilder(EntropySourceProvider entropySourceProvider)
Note: If this constructor is used any calls to setSeed() in the resulting SecureRandom will be ignored.
entropySourceProvider
- a provider of EntropySource objects.Method Detail |
public SP800SecureRandomBuilder setPersonalizationString(byte[] personalizationString)
personalizationString
- the personalisation string for the underlying DRBG.public SP800SecureRandomBuilder setSecurityStrength(int securityStrength)
securityStrength
- the security strength (in bits)public SP800SecureRandomBuilder setEntropyBitsRequired(int entropyBitsRequired)
entropyBitsRequired
- the number of bits of entropy to be requested from the entropy source on each seed/reseed.public SP800SecureRandom buildHash(Digest digest, byte[] nonce, boolean predictionResistant)
digest
- digest algorithm to use in the DRBG underneath the SecureRandom.nonce
- nonce value to use in DRBG construction.predictionResistant
- specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes.public SP800SecureRandom buildCTR(BlockCipher cipher, int keySizeInBits, byte[] nonce, boolean predictionResistant)
cipher
- the block cipher to base the DRBG on.keySizeInBits
- key size in bits to be used with the block cipher.nonce
- nonce value to use in DRBG construction.predictionResistant
- specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes.public SP800SecureRandom buildHMAC(Mac hMac, byte[] nonce, boolean predictionResistant)
hMac
- HMAC algorithm to use in the DRBG underneath the SecureRandom.nonce
- nonce value to use in DRBG construction.predictionResistant
- specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes.
|
Bouncy Castle Cryptography Library 1.79 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |