package com.google.bitcoin.bouncycastle.crypto.prng;
/**
* Generic interface for objects generating random bytes.
*/
public interface RandomGenerator
{
/**
* Add more seed material to the generator.
*
* @param seed a byte array to be mixed into the generator's state.
*/
void addSeedMaterial(byte[] seed);
/**
* Add more seed material to the generator.
*
* @param seed a long value to be mixed into the generator's state.
*/
void addSeedMaterial(long seed);
/**
* Fill bytes with random values.
*
* @param bytes byte array to be filled.
*/
void nextBytes(byte[] bytes);
/**
* Fill part of bytes with random values.
*
* @param bytes byte array to be filled.
* @param start index to start filling at.
* @param len length of segment to fill.
*/
void nextBytes(byte[] bytes, int start, int len);
}