org.bouncycastle.crypto.agreement

## Class ECDHBasicAgreement

- java.lang.Object
- - org.bouncycastle.crypto.agreement.ECDHBasicAgreement

All Implemented Interfaces:
  BasicAgreement

    public class ECDHBasicAgreement
    extends java.lang.Object
    implements BasicAgreement

P1363 7.2.1 ECSVDP-DH ECSVDP-DH is Elliptic Curve Secret Value Derivation Primitive, Diffie-Hellman version. It is based on the work of [DH76], [Mil86], and [Kob87]. This primitive derives a shared secret value from one party's private key and another party's public key, where both have the same set of EC domain parameters. If two parties correctly execute this primitive, they will produce the same output. This primitive can be invoked by a scheme to derive a shared secret key; specifically, it may be used with the schemes ECKAS-DH1 and DL/ECKAS-DH2. It assumes that the input keys are valid (see also Section 7.2.2).

### Constructor Summary

Constructors
Constructor and Description
`ECDHBasicAgreement()`

### Method Summary

Methods
`java.math.BigInteger` `calculateAgreement(CipherParameters pubKey)` given a public key from a given party calculate the next message in the agreement sequence.
`void` `init(CipherParameters key)` initialise the agreement engine.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ECDHBasicAgreement

    public ECDHBasicAgreement()

### Method Detail

#### init

    public void init(CipherParameters key)

Description copied from interface: `BasicAgreement`
initialise the agreement engine.

Specified by:
  `init` in interface `BasicAgreement`

#### calculateAgreement

    public java.math.BigInteger calculateAgreement(CipherParameters pubKey)

Description copied from interface: `BasicAgreement`
given a public key from a given party calculate the next message in the agreement sequence.

Specified by:
  `calculateAgreement` in interface `BasicAgreement`