com.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

## gnu.javax.net.ssl.provider Class DiffieHellman

```java.lang.Object
gnu.javax.net.ssl.provider.DiffieHellman
```

final class DiffieHellman
extends java.lang.Object

Simple implementation of two-party Diffie-Hellman key agreement.

The primes used in this class are from the following documents:

• D. Harkins and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409.
• T. Kivinen and M. Kojo, "More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)", RFC 3526.
• The generator for all these primes is 2.

 Field Summary `(package private) static java.math.BigInteger` `DH_G`           The generator for all Diffie Hellman groups below. `(package private) static java.math.BigInteger` `GROUP_1`           p = 2^768 - 2 ^704 - 1 + 2^64 * { [2^638 pi] + 149686 } `(package private) static java.math.BigInteger` `GROUP_14`           p = 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 }. `(package private) static java.math.BigInteger` `GROUP_15`           p = 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 }. `(package private) static java.math.BigInteger` `GROUP_16`           p = 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 }. `(package private) static java.math.BigInteger` `GROUP_17` `(package private) static java.math.BigInteger` `GROUP_18`           p = 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 }. `(package private) static java.math.BigInteger` `GROUP_2`           p = 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 } `(package private) static java.math.BigInteger` `GROUP_5`           This prime p = 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 }.
 Constructor Summary `(package private)` `DiffieHellman()`
 Method Summary `(package private) static gnu.javax.crypto.key.dh.GnuDHPrivateKey` `getParams()`           Get the system's Diffie-Hellman parameters, in which g is 2 and p is determined by the property `"jessie.keypool.dh.group"`.
 Methods inherited from class java.lang.Object `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

 Field Detail

### DH_G

`static final java.math.BigInteger DH_G`
The generator for all Diffie Hellman groups below.

### GROUP_1

`static final java.math.BigInteger GROUP_1`
p = 2^768 - 2 ^704 - 1 + 2^64 * { [2^638 pi] + 149686 }

### GROUP_2

`static final java.math.BigInteger GROUP_2`
p = 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }

### GROUP_5

`static final java.math.BigInteger GROUP_5`
This prime p = 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 }.

### GROUP_14

`static final java.math.BigInteger GROUP_14`
p = 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 }.

### GROUP_15

`static final java.math.BigInteger GROUP_15`
p = 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 }.

### GROUP_16

`static final java.math.BigInteger GROUP_16`
p = 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 }.

### GROUP_17

`static final java.math.BigInteger GROUP_17`

### GROUP_18

`static final java.math.BigInteger GROUP_18`
p = 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 }.

This value, while quite large, is estimated to provide the equivalent cryptographic strength of a symmetric key between 190 and 320 bits.

 Constructor Detail

### DiffieHellman

`DiffieHellman()`
 Method Detail

### getParams

`static gnu.javax.crypto.key.dh.GnuDHPrivateKey getParams()`
Get the system's Diffie-Hellman parameters, in which g is 2 and p is determined by the property `"jessie.keypool.dh.group"`. The default value for p is 18, corresponding to `GROUP_18` 55 .