Package org.bouncycastle.crypto

## Interface BasicAgreement

- All Known Subinterfaces:
    `StagedAgreement`
  All Known Implementing Classes:
    `DHBasicAgreement`, `ECDHBasicAgreement`, `ECDHCBasicAgreement`, `ECDHCStagedAgreement`, `ECMQVBasicAgreement`, `MQVBasicAgreement`

      public interface BasicAgreement

  The basic interface that basic Diffie-Hellman implementations conforms to.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.math.BigInteger` | `calculateAgreement​(CipherParameters pubKey)` | given a public key from a given party calculate the next message in the agreement sequence.
    `int` | `getFieldSize()` | return the field size for the agreement algorithm in bytes.
    `void` | `init​(CipherParameters param)` | initialise the agreement engine.

- - ### Method Detail

    - #### init

          void init​(CipherParameters param)

      initialise the agreement engine.

    - #### getFieldSize

          int getFieldSize()

      return the field size for the agreement algorithm in bytes.

    - #### calculateAgreement

          java.math.BigInteger calculateAgreement​(CipherParameters pubKey)

      given a public key from a given party calculate the next message in the agreement sequence.