Class FortunaStandalone.Generator

java.lang.Object
gnu.crypto.prng.BasePRNGStandalone
gnu.crypto.prng.FortunaStandalone.Generator
All Implemented Interfaces:
IRandomStandalone, Serializable, Cloneable
Enclosing class:
FortunaStandalone

public static class FortunaStandalone.Generator extends BasePRNGStandalone implements Cloneable
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:
  • Constructor Details

    • Generator

      public Generator()
  • Method Details

    • nextByte

      public final byte nextByte()
      Description copied from interface: IRandomStandalone

      Returns the next 8 bits of random data generated from this instance.

      Specified by:
      nextByte in interface IRandomStandalone
      Overrides:
      nextByte in class BasePRNGStandalone
      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: IRandomStandalone

      Fills the designated byte array, starting from byte at index offset, for a maximum of length bytes with the output of this generator instance.

      Specified by:
      nextBytes in interface IRandomStandalone
      Overrides:
      nextBytes in class BasePRNGStandalone
      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 within 0 and out.length.
      length - the maximum number of required random bytes. This method does nothing if this parameter is less than 1.
    • addRandomByte

      public final void addRandomByte(byte b)
      Description copied from interface: IRandomStandalone

      Supplement, 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:
      addRandomByte in interface IRandomStandalone
      Overrides:
      addRandomByte in class BasePRNGStandalone
      Parameters:
      b - The byte to add.
    • addRandomBytes

      public final void addRandomBytes(byte[] seed, int offset, int length)
      Description copied from interface: IRandomStandalone

      Supplement, 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:
      addRandomBytes in interface IRandomStandalone
      Overrides:
      addRandomBytes in class BasePRNGStandalone
      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:
      fillBlock in class BasePRNGStandalone
    • setup

      public void setup(Map<String,byte[]> attributes)
      Specified by:
      setup in class BasePRNGStandalone