# DiffieHellmanKeyPair Class Reference
[Diffie-Hellman Key Agreement Method (RFC-2631) implementation]

Inheritance diagram for DiffieHellmanKeyPair:
[legend]

List of all members.

## Public Member Functions

| __construct (DiffieHellmanParameters $parameters)
| setPrivate (BigInteger $private)
| getPrivate ()
| setPublic (BigInteger $public)
| getPublic ()
| makeSharedKey (BigInteger $otherSitePublic)

## Static Public Member Functions

static | create (DiffieHellmanParameters $parameters)
static | generate (DiffieHellmanParameters $parameters, RandomSource $randomSource)

## Private Attributes

| $private = null
| $public = null
| $parameters = null

## Detailed Description

See also:
  http://tools.ietf.org/html/rfc2631

Definition at line 17 of file DiffieHellmanKeyPair.class.php.

## Constructor & Destructor Documentation

DiffieHellmanKeyPair::__construct | ( | DiffieHellmanParameters $ | parameters | ) |

Definition at line 23 of file DiffieHellmanKeyPair.class.php.

## Member Function Documentation

static DiffieHellmanKeyPair::create | ( | DiffieHellmanParameters $ | parameters | ) | `[static]`

Returns:
  DiffieHellmanKeyPair

Definition at line 31 of file DiffieHellmanKeyPair.class.php.

static DiffieHellmanKeyPair::generate | ( | DiffieHellmanParameters $ | parameters,
|  | RandomSource $ | randomSource |
| ) |  |  | `[static]`

Returns:
  DiffieHellmanKeyPair

Definition at line 39 of file DiffieHellmanKeyPair.class.php.

References DiffieHellmanParameters::getGen(), and DiffieHellmanParameters::getModulus().

Referenced by OpenIdConsumer::associate().

Here is the call graph for this function:

DiffieHellmanKeyPair::getPrivate | ( |  | ) |

Returns:
  BigInteger

Implements KeyPair.

Definition at line 73 of file DiffieHellmanKeyPair.class.php.

DiffieHellmanKeyPair::getPublic | ( |  | ) |

Returns:
  BigInteger

Implements KeyPair.

Definition at line 90 of file DiffieHellmanKeyPair.class.php.

DiffieHellmanKeyPair::makeSharedKey | ( | BigInteger $ | otherSitePublic | ) |

Returns:
  BigInteger

Definition at line 98 of file DiffieHellmanKeyPair.class.php.

References Assert::brothers(), and BigInteger::modPow().

Here is the call graph for this function:

DiffieHellmanKeyPair::setPrivate | ( | BigInteger $ | private | ) |

Returns:
  DiffieHellmanKeyPair

Definition at line 64 of file DiffieHellmanKeyPair.class.php.

DiffieHellmanKeyPair::setPublic | ( | BigInteger $ | public | ) |

Returns:
  DiffieHellmanKeyPair

Definition at line 81 of file DiffieHellmanKeyPair.class.php.

## Member Data Documentation

DiffieHellmanKeyPair::$parameters = null`[private]`

Definition at line 21 of file DiffieHellmanKeyPair.class.php.

DiffieHellmanKeyPair::$private = null`[private]`

Definition at line 19 of file DiffieHellmanKeyPair.class.php.

DiffieHellmanKeyPair::$public = null`[private]`

Definition at line 20 of file DiffieHellmanKeyPair.class.php.

The documentation for this class was generated from the following file:

- main/Crypto/DiffieHellmanKeyPair.class.php