net.i2p.crypto
Class YKGenerator

java.lang.Object
  extended by net.i2p.crypto.YKGenerator

 class YKGenerator
extends Object

Precalculate the Y and K for ElGamal encryption operations. This class precalcs a set of values on its own thread, using those transparently when a new instance is created. By default, the minimum threshold for creating new values for the pool is 20, and the max pool size is 50. Whenever the pool has less than the minimum, it fills it up again to the max. There is a delay after each precalculation so that the CPU isn't hosed during startup. These three parameters are controlled by java environmental variables and can be adjusted via: -Dcrypto.yk.precalc.min=40 -Dcrypto.yk.precalc.max=100 -Dcrypto.yk.precalc.delay=60000 (delay is milliseconds) To disable precalculation, set min to 0

Author:
jrandom

Field Summary
static int DEFAULT_YK_PRECALC_DELAY
           
static int DEFAULT_YK_PRECALC_MAX
           
static int DEFAULT_YK_PRECALC_MIN
           
static String PROP_YK_PRECALC_DELAY
           
static String PROP_YK_PRECALC_MAX
           
static String PROP_YK_PRECALC_MIN
           
 
Constructor Summary
YKGenerator(I2PAppContext context)
           
 
Method Summary
 BigInteger[] getNextYK()
           
 void shutdown()
          Note that this stops the precalc thread and it cannot be restarted.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_YK_PRECALC_MIN

public static final String PROP_YK_PRECALC_MIN
See Also:
Constant Field Values

PROP_YK_PRECALC_MAX

public static final String PROP_YK_PRECALC_MAX
See Also:
Constant Field Values

PROP_YK_PRECALC_DELAY

public static final String PROP_YK_PRECALC_DELAY
See Also:
Constant Field Values

DEFAULT_YK_PRECALC_MIN

public static final int DEFAULT_YK_PRECALC_MIN
See Also:
Constant Field Values

DEFAULT_YK_PRECALC_MAX

public static final int DEFAULT_YK_PRECALC_MAX
See Also:
Constant Field Values

DEFAULT_YK_PRECALC_DELAY

public static final int DEFAULT_YK_PRECALC_DELAY
See Also:
Constant Field Values
Constructor Detail

YKGenerator

public YKGenerator(I2PAppContext context)
Method Detail

shutdown

public void shutdown()
Note that this stops the precalc thread and it cannot be restarted.

Since:
0.8.8

getNextYK

public BigInteger[] getNextYK()
Returns:
rv[0] = Y; rv[1] = K