randomdata
javacard.security
Class RandomData
public abstract class RandomDataextends Object
The RandomData abstract class is the base class for random number generation. Implementations of RandomData algorithms must extend this class and implement all the abstract methods.
Field Summary | |
---|---|
static byte | ALG_PSEUDO_RANDOM Utility pseudo-random number generation algorithms. |
static byte | ALG_SECURE_RANDOM Cryptographically secure random number generation algorithms. |
Constructor Summary | |
---|---|
protected | RandomData () Protected constructor for subclassing. |
Method Summary | |
---|---|
abstract void | generateData (byte[] buffer,short offset,short length) Generates random data. |
static RandomData | getInstance (byte algorithm) Creates a RandomData instance of the selected algorithm. |
abstract void | setSeed (byte[] buffer,short offset,short length) Seeds the random data generator. |
Methods inherited from class java.lang.Object |
---|
equals |
Field Detail |
---|
ALG_PSEUDO_RANDOM
public static final byte ALG_PSEUDO_RANDOM
Utility pseudo-random number generation algorithms. The random number sequence generated by this algorithm need not be the same even if seeded with the same seed data.
Even if a transaction is in progress, the update of the internal state
shall not participate in the transaction.
See Also:Constant Field Values
ALG_SECURE_RANDOM
public static final byte ALG_SECURE_RANDOM
Cryptographically secure random number generation algorithms.
See Also:Constant Field Values
Constructor Detail |
---|
RandomData
protected RandomData()
Protected constructor for subclassing.
Method Detail |
---|
getInstance
public static final RandomDatagetInstance(byte algorithm) throws CryptoException
Creates a RandomData instance of the selected algorithm. The pseudo random RandomData instance's seed is initialized to a internal default value.
Parameters:algorithm - the desired random number algorithm. Valid codes listed in ALG_* constants above. See ALG_PSEUDO_RANDOM .
Returns:the RandomData object instance of the requested algorithm
Throws: CryptoException- with the following reason codes:
- CryptoException.NO_SUCH_ALGORITHM if the requested algorithm is not supported.
generateData
public abstract void generateData(byte[] buffer, short offset, short length) throws CryptoException
Generates random data.
Parameters:buffer - the output buffer
offset - the offset into the output buffer
length - the length of random data to generate
Throws: CryptoException- with the following reason codes:
- CryptoException.ILLEGAL_VALUE if the length parameter is zero.
setSeed
public abstract void setSeed(byte[] buffer, short offset, short length)
Seeds the random data generator.
Parameters:buffer - the input buffer
offset - the offset into the input buffer
length - the length of the seed data