net.vattp.security
Class TimerJitterEntropy

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--net.vattp.security.TimerJitterEntropy
All Implemented Interfaces:
Runnable

class TimerJitterEntropy
extends Thread

Use clock phase differences between 2 PC clocks to generate entropy.

This class provides a cryptographically strong random number generator based on user provided sources of entropy and the MD5 hash algorithm. It maintains an estimate of the amount of entropy supplied. If there is a request for secure random data, a call on nextBytes(), when there is less than 80 bits of randomness available, it will use super.getSeed() to bring the level up to 80 bits.

The calls inherited from Random and SecureRandom are implemented in terms of the strengthened functionality.

Author:
Bill Frantz
See Also:
java.util.Random, java.security.SecureRandom

Field Summary
private  boolean theIsStarted
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
TimerJitterEntropy(String name)
           
 
Method Summary
 boolean isStarted()
           
 void run()
          Enabled: If this thread was constructed using a separate Runnable run object, then that Runnable object's run method is called; otherwise, this method does nothing and returns.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

theIsStarted

private boolean theIsStarted
Constructor Detail

TimerJitterEntropy

public TimerJitterEntropy(String name)
Method Detail

isStarted

public boolean isStarted()

run

public final void run()
Description copied from class: Thread
Enabled: If this thread was constructed using a separate Runnable run object, then that Runnable object's run method is called; otherwise, this method does nothing and returns.

Subclasses of Thread should override this method.

Specified by:
run in interface Runnable
Overrides:
run in class Thread
See Also:
java.lang.Thread#start(), java.lang.Thread#stop(), java.lang.Thread#Thread(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String), java.lang.Runnable#run()


comments?