## net.i2p.crypto
Class YKGenerator

    java.lang.Object
      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()`

Method Summary
`static BigInteger[]` `getNextYK()`
`static void` `main(String[] args)`

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

    YKGenerator()

Method Detail

### getNextYK

    public static BigInteger[] getNextYK()

  Returns:
    rv[0] = Y; rv[1] = K

### main

    public static void main(String[] args)