## gnu.crypto.prng
Class FortunaStandalone.Generator

    java.lang.Object
      gnu.crypto.prng.BasePRNGStandalone
          gnu.crypto.prng.FortunaStandalone.Generator

All Implemented Interfaces:
  IRandomStandalone, 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.

Field Summary

Fields inherited from class gnu.crypto.prng.BasePRNGStandalone
`buffer, initialised, name, ndx`

Constructor Summary
`FortunaStandalone.Generator()`

Method Summary
`void` `addRandomByte(byte b)` Supplement, or possibly replace, the random state of this PRNG with a random byte.
`void` `addRandomBytes(byte[] seed, int offset, int length)` Supplement, or possibly replace, the random state of this PRNG with a sequence of new random bytes.
`void` `fillBlock()`
`byte` `nextByte()` Returns the next 8 bits of random data generated from this instance.
`void` `nextBytes(byte[] out, int offset, int length)` Fills the designated byte array, starting from byte at index `offset`, for a maximum of `length` bytes with the output of this generator instance.
`void` `setup(Map attributes)`

Methods inherited from class gnu.crypto.prng.BasePRNGStandalone
`addRandomBytes, clone, init, isInitialised, name, nextBytes`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FortunaStandalone.Generator

    public FortunaStandalone.Generator()

Method Detail

### 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 attributes)

  Specified by:
    `setup` in class `BasePRNGStandalone`