compact2

# Package javax.crypto.interfaces

Provides interfaces for Diffie-Hellman keys as defined in RSA Laboratories' PKCS #3.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  DHKey | The interface to a Diffie-Hellman key.
  DHPrivateKey | The interface to a Diffie-Hellman private key.
  DHPublicKey | The interface to a Diffie-Hellman public key.
  PBEKey | The interface to a PBE key.

## Package javax.crypto.interfaces Description

Provides interfaces for Diffie-Hellman keys as defined in RSA Laboratories' PKCS #3.

Note that these interfaces are intended only for key implementations whose key material is accessible and available. These interfaces are not intended for key implementations whose key material resides in inaccessible, protected storage (such as in a hardware device).

For more developer information on how to use these interfaces, including information on how to design `Key` classes for hardware devices, please refer to the cryptographic provider developer guide:

- How to Implement a Provider for the JavaTM Cryptography Architecture

## Package Specification

- PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4, November 1993.

## Related Documentation

For further documentation, please see:

- JavaTM Cryptography Architecture API Specification and Reference

Since:
  1.4

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.