Serialized Form

Package org.hd.d.efs

Class org.hd.d.efs.EntropyPool extends implements Serializable

serialVersionUID: -8340547627041895636L

Serialized Fields


int maxPoolSizeBits
Max pool size in bits; strictly positive.


int poolLengthBytes
Length of the pool in bytes.

guarantor guarantor
Underlying SecureRandom implementation used as 'guarantor'; can be null. Any seed provided is passed to this generator if not null (and some other reseeding is done from time to time).

All output is XORed with this generator (if non-null) to provide a minimum guarantee of security and output purity, etc.

This generator may not be trustworthy and we should try not to leak entropy (or internal state) into it nor otherwise trust it completely.

externalEntropySource externalEntropySource
If non-null, this is a URL from which we can get emergency entropy; null by default. It had better be non-observable, and we may, for example, attempt get data in fairly big chunks and compress it to make sure that it at least looks random.

This can be a file: URL, in which case, if /dev/random, it may work on all newish Solaris and Linux boxes and on Windows due to an emulation.

URL is assumed to be immutable, so no defensive copying is needed.

Reads from the URL will be in chunks of


boolean injectEmergencyBitsIfPoolEmpty
If true, inject emergency entropy when extracting bits from empty pool. Setting this true is expensive, but should essentially guarantee that any retrieved block of bytes or other `random' quantity contains some unguessable bits.


int initialEntropyBits
Note initial entropy to try to inject; never negative.


long _iCE_count
Counter private to injectCheapEntropyTimeAndCount; hopefully with many bits somewhat random.


int _aE_count
Private insert location for addEntropy(); never negative.


long _nBU_count
Private counter for nextBytes().

Class org.hd.d.efs.Whitener extends implements Serializable

Serialized Fields

mainSource mainSource
This is the main random number source; never null.

whitenerSource whitenerSource
This is the whitener random number source; never null. This must not be the same as or numerically derived from the mainSource.

Package org.hd.d.efs.servlet

Class org.hd.d.efs.servlet.GathererServlet extends javax.servlet.http.HttpServlet implements Serializable

Serialized Fields


java.lang.String[] poolNames
Names of pools to be maintained. Overridden if need be by init().


java.lang.String seedSubDir
Name of directory inside WAR temp dir to store seed files. Overridden if need be by init().