package net.i2p.crypto; /** * Allow various components with some entropy to feed that entropy back * into some PRNG. The quality of the entropy provided varies, so anything * harvesting should discriminate based on the offered "source" of the * entropy, silently discarding insufficient entropy sources. * */ public interface EntropyHarvester { /** * Feed the entropy pools with data[offset:offset+len] * * @param source origin of the entropy, allowing the harvester to * determine how much to value the data * @param offset index into the data array to start * @param len how many bytes to use */ void feedEntropy(String source, byte data[], int offset, int len); /** * Feed the entropy pools with the bits in the data * * @param source origin of the entropy, allowing the harvester to * determine how much to value the data * @param bitoffset bit index into the data array to start * (using java standard big-endian) * @param bits how many bits to use */ void feedEntropy(String source, long data, int bitoffset, int bits); }