Package gnu.crypto.prng
Class FortunaStandalone.Generator
java.lang.Object
gnu.crypto.prng.BasePRNGStandalone
gnu.crypto.prng.FortunaStandalone.Generator
- All Implemented Interfaces:
IRandomStandalone,Serializable,Cloneable
- Enclosing class:
FortunaStandalone
The Fortuna generator function. The generator is a PRNG in its own
right; Fortuna itself is basically a wrapper around this generator
that manages reseeding in a secure way.
- See Also:
-
Field Summary
Fields inherited from class gnu.crypto.prng.BasePRNGStandalone
buffer, initialised, name, ndx -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddRandomByte(byte b) Supplement, or possibly replace, the random state of this PRNG with a random byte.final voidaddRandomBytes(byte[] seed, int offset, int length) Supplement, or possibly replace, the random state of this PRNG with a sequence of new random bytes.final voidfinal bytenextByte()Returns the next 8 bits of random data generated from this instance.final voidnextBytes(byte[] out, int offset, int length) Fills the designated byte array, starting from byte at indexoffset, for a maximum oflengthbytes with the output of this generator instance.voidMethods inherited from class gnu.crypto.prng.BasePRNGStandalone
addRandomBytes, clone, init, isInitialised, name, nextBytes
-
Constructor Details
-
Generator
public Generator()
-
-
Method Details
-
nextByte
public final byte nextByte()Description copied from interface:IRandomStandaloneReturns the next 8 bits of random data generated from this instance.
- Specified by:
nextBytein interfaceIRandomStandalone- Overrides:
nextBytein classBasePRNGStandalone- Returns:
- the next 8 bits of random data generated from this instance.
-
nextBytes
public final void nextBytes(byte[] out, int offset, int length) Description copied from interface:IRandomStandaloneFills the designated byte array, starting from byte at index
offset, for a maximum oflengthbytes with the output of this generator instance.- Specified by:
nextBytesin interfaceIRandomStandalone- Overrides:
nextBytesin classBasePRNGStandalone- Parameters:
out- the placeholder to contain the generated random bytes.offset- the starting index in out to consider. This method does nothing if this parameter is not within0andout.length.length- the maximum number of required random bytes. This method does nothing if this parameter is less than1.
-
addRandomByte
public final void addRandomByte(byte b) Description copied from interface:IRandomStandaloneSupplement, or possibly replace, the random state of this PRNG with a random byte.
Implementations are not required to implement this method in any meaningful way; this may be a no-operation, and implementations may throw an
UnsupportedOperationException.- Specified by:
addRandomBytein interfaceIRandomStandalone- Overrides:
addRandomBytein classBasePRNGStandalone- Parameters:
b- The byte to add.
-
addRandomBytes
public final void addRandomBytes(byte[] seed, int offset, int length) Description copied from interface:IRandomStandaloneSupplement, or possibly replace, the random state of this PRNG with a sequence of new random bytes.
Implementations are not required to implement this method in any meaningful way; this may be a no-operation, and implementations may throw an
UnsupportedOperationException.- Specified by:
addRandomBytesin interfaceIRandomStandalone- Overrides:
addRandomBytesin classBasePRNGStandalone- Parameters:
seed- The buffer of new random bytes to add.offset- The offset from whence to begin reading random bytes.length- The number of random bytes to add.
-
fillBlock
public final void fillBlock()- Specified by:
fillBlockin classBasePRNGStandalone
-
setup
- Specified by:
setupin classBasePRNGStandalone
-