## Uses of Interface
com.southernstorm.noise.protocol.DHState

- Packages that use DHState
  Package | Description
  --- | ---
  com.southernstorm.noise.protocol | Provides classes for communicating via the Noise protocol.

- - ### Uses of DHState in com.southernstorm.noise.protocol

    Classes in com.southernstorm.noise.protocol that implement DHState
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `Curve25519DHState` Implementation of the Curve25519 algorithm for the Noise protocol.
    `(package private) class` | `MLKEMDHState` Implementation of the MLKEM algorithm for the Noise protocol.

    Methods in com.southernstorm.noise.protocol that return DHState
    Modifier and Type | Method and Description
    --- | ---
    `DHState` | DHState.`clone()` I2P
    `DHState` | HandshakeState.`getLocalEphemeralKeyPair()` Gets the keypair object for the local ephemeral key.
    `DHState` | HandshakeState.`getLocalHybridKeyPair()` Gets the keypair object for the local hybrid key.
    `DHState` | HandshakeState.`getLocalKeyPair()` Gets the keypair object for the local static key.
    `DHState` | HandshakeState.`getRemoteHybridKeyPair()` Gets the keypair object for the remote hybrid key.
    `DHState` | HandshakeState.`getRemotePublicKey()` Gets the public key object for the remote static key.

    Methods in com.southernstorm.noise.protocol with parameters of type DHState
    Modifier and Type | Method and Description
    --- | ---
    `void` | DHState.`calculate(byte[] sharedKey, int offset, DHState publicDH)` Performs a Diffie-Hellman calculation with this object as the private key.
    `void` | MLKEMDHState.`calculate(byte[] sharedKey, int offset, DHState publicDH)` Side effect: If we are Bob, copies the ciphertext to our public key so it may be written out in the message.
    `void` | Curve25519DHState.`calculate(byte[] sharedKey, int offset, DHState publicDH)`
    `void` | DHState.`copyFrom(DHState other)` Copies the key values from another DH object of the same type.
    `void` | MLKEMDHState.`copyFrom(DHState other)`
    `void` | Curve25519DHState.`copyFrom(DHState other)`
    `void` | SymmetricState.`mixPublicKey(DHState dh)` Mixes a pre-supplied public key into the handshake hash.
    `void` | SymmetricState.`mixPublicKeyIntoCK(DHState dh)` Mixes a pre-supplied public key into the chaining key.