| Modifier and Type | Field and Description |
|---|---|
| private BlockCipher | |
| private EntropySource | |
| private boolean | |
| private byte[] | |
| private int | |
| private long | |
| private int | |
| private int | |
| private byte[] | |
| private static final int | |
| private static final long | |
| private static final byte[] | |
| private static final Map | |
| private static final Map | |
| private static final Map | |
| private static final int | |
| private static final long |
| Access | Constructor and Description |
|---|---|
| public | CTRSP800DRBG(BlockCipher
underlying block cipher to use to support DRBG engine, int size of the key to use with the block cipher. keySizeInBits, int security strength required (in bits) securityStrength, EntropySource source of entropy to use for seeding/reseeding. entropySource, byte[] personalization string to distinguish this DRBG (may be null). personalizationString, byte[] nonce to further distinguish this DRBG (may be null). nonce)Construct a SP800-90A CTR DRBG. |
| Modifier and Type | Method and Description |
|---|---|
| private void | |
| private void | |
| private byte[] | |
| private void | |
| public VariantInternalKatTest | createReseedSelfTest(FipsAlgorithm
the FipsAlgorithm type algorithm)Implements org. |
| public VariantInternalKatTest | createSelfTest(FipsAlgorithm algorithm)
Implements org. |
| private void | |
| private void | |
| private void | |
| private void | |
| protected void | finalize()
Overrides java. |
| public int | Returns: number of bits generated, -1 if a reseed required.output array for generated bits. output, byte[] additional input to be added to the DRBG in this step. additionalInput, boolean true if a reseed should be forced, false otherwise. predictionResistant)Implements org. |
| public int | Returns: the number of bits produced on each internal round of the DRBG.Implements org. |
| private byte[] | |
| private int | |
| private int | |
| private int | |
| public int | Returns: the security strength (in bits) of the DRBG.Implements org. |
| private void | |
| private boolean | |
| private void | padKey(byte[] keyMaster, int keyOff, byte[] tmp, int tmpOff)
Pad out a key for TDEA, setting odd parity for each byte. |
| public void | reseed(byte[]
additional input to be added to the DRBG in this step. additionalInput)Implements org. |
| private void |
| _engine | back to summary |
|---|---|
| private BlockCipher _engine | |
| _entropySource | back to summary |
|---|---|
| private EntropySource _entropySource | |
| _isTDEA | back to summary |
|---|---|
| private boolean _isTDEA | |
| _Key | back to summary |
|---|---|
| private byte[] _Key | |
| _keySizeInBits | back to summary |
|---|---|
| private int _keySizeInBits | |
| _reseedCounter | back to summary |
|---|---|
| private long _reseedCounter | |
| _securityStrength | back to summary |
|---|---|
| private int _securityStrength | |
| _seedLength | back to summary |
|---|---|
| private int _seedLength | |
| _V | back to summary |
|---|---|
| private byte[] _V | |
| AES_MAX_BITS_REQUEST | back to summary |
|---|---|
| private static final int AES_MAX_BITS_REQUEST | |
| AES_RESEED_MAX | back to summary |
|---|---|
| private static final long AES_RESEED_MAX | |
| K_BITS | back to summary |
|---|---|
| private static final byte[] K_BITS | |
| kats | back to summary |
|---|---|
| private static final Map<String, byte[][]> kats | |
| reseedKats | back to summary |
|---|---|
| private static final Map<String, byte[][]> reseedKats | |
| reseedValues | back to summary |
|---|---|
| private static final Map<String, byte[][]> reseedValues | |
| TDEA_MAX_BITS_REQUEST | back to summary |
|---|---|
| private static final int TDEA_MAX_BITS_REQUEST | |
| TDEA_RESEED_MAX | back to summary |
|---|---|
| private static final long TDEA_RESEED_MAX | |
| CTRSP800DRBG | back to summary |
|---|---|
| public CTRSP800DRBG(BlockCipher engine, int keySizeInBits, int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce) Construct a SP800-90A CTR DRBG. Minimum entropy requirement is the security strength requested.
| |
| addOneTo | back to summary |
|---|---|
| private void addOneTo(byte[] longer) | |
| BCC | back to summary |
|---|---|
| private void BCC(byte[] bccOut, KeyParameter k, byte[] iV, byte[] data) | |
| Block_Cipher_df | back to summary |
|---|---|
| private byte[] Block_Cipher_df(byte[] inputString, int bitLength) | |
| copyIntToByteArray | back to summary |
|---|---|
| private void copyIntToByteArray(byte[] buf, int value, int offSet) | |
| createReseedSelfTest | back to summary |
|---|---|
| public VariantInternalKatTest createReseedSelfTest(FipsAlgorithm algorithm) Implements org. Doc from org. Return a KAT for the DRBG - used prior to reseed.
| |
| createSelfTest | back to summary |
|---|---|
| public VariantInternalKatTest createSelfTest(FipsAlgorithm algorithm) Implements org. Doc from org. Perform a instantiate/generate/reseed test.
| |
| CTR_DRBG_Instantiate_algorithm | back to summary |
|---|---|
| private void CTR_DRBG_Instantiate_algorithm(byte[] personalisationString, byte[] nonce) | |
| CTR_DRBG_Reseed_algorithm | back to summary |
|---|---|
| private void CTR_DRBG_Reseed_algorithm(byte[] additionalInput) | |
| CTR_DRBG_Update | back to summary |
|---|---|
| private void CTR_DRBG_Update(byte[] seedMaterial) | |
| expandKey | back to summary |
|---|---|
| private void expandKey(byte[] key) Note that the input key must already be large enough to hold its expanded form | |
| finalize | back to summary |
|---|---|
| protected void finalize() throws Throwable Overrides java. Doc from java. Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
A subclass overrides the
When running in a Java virtual machine in which finalization has been
disabled or removed, the garbage collector will never call
The general contract of
The
The Java programming language does not guarantee which thread will
invoke the
After the
The
Any exception thrown by the | |
| generate | back to summary |
|---|---|
| public int generate(byte[] output, byte[] additionalInput, boolean predictionResistant) Implements org. Populate a passed in array with random data.
| |
| getBlockSize | back to summary |
|---|---|
| public int getBlockSize() Implements org. Return the block size (in bits) of the DRBG.
| |
| getEntropy | back to summary |
|---|---|
| private byte[] getEntropy() | |
| getExpandedKeySizeInBytes | back to summary |
|---|---|
| private int getExpandedKeySizeInBytes() | |
| getKeySizeInBytes | back to summary |
|---|---|
| private int getKeySizeInBytes() | |
| getMaxSecurityStrength | back to summary |
|---|---|
| private int getMaxSecurityStrength(BlockCipher cipher, int keySizeInBits) | |
| getSecurityStrength | back to summary |
|---|---|
| public int getSecurityStrength() Implements org. Return the security strength of the DRBG.
| |
| init | back to summary |
|---|---|
| private void init(int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce) | |
| isTDEA | back to summary |
|---|---|
| private boolean isTDEA(BlockCipher cipher) | |
| padKey | back to summary |
|---|---|
| private void padKey(byte[] keyMaster, int keyOff, byte[] tmp, int tmpOff) Pad out a key for TDEA, setting odd parity for each byte. | |
| reseed | back to summary |
|---|---|
| public void reseed(byte[] additionalInput) Implements org. Reseed the DRBG.
| |
| XOR | back to summary |
|---|---|
| private void XOR(byte[] out, byte[] a, byte[] b, int bOff) | |