---
title: HPKEDiffieHellmanPublicKey
framework: cryptokit
role: symbol
role_heading: Protocol
path: cryptokit/hpkediffiehellmanpublickey
---

# HPKEDiffieHellmanPublicKey

A type that represents the public key in a Diffie-Hellman key exchange.

## Declaration

```swift
@preconcurrency protocol HPKEDiffieHellmanPublicKey : HPKEPublicKeySerialization
```

## Topics

### Associated Types

- [EphemeralPrivateKey](cryptokit/hpkediffiehellmanpublickey/ephemeralprivatekey.md)

## Relationships

### Inherits From

- [HPKEPublicKeySerialization](cryptokit/hpkepublickeyserialization.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Conforming Types

- [Curve25519.KeyAgreement.PublicKey](cryptokit/curve25519/keyagreement/publickey.md)
- [P256.KeyAgreement.PublicKey](cryptokit/p256/keyagreement/publickey.md)
- [P384.KeyAgreement.PublicKey](cryptokit/p384/keyagreement/publickey.md)
- [P521.KeyAgreement.PublicKey](cryptokit/p521/keyagreement/publickey.md)
