---
title: SecureEnclave.P256.KeyAgreement
framework: cryptokit
role: symbol
role_heading: Enumeration
path: cryptokit/secureenclave/p256/keyagreement
---

# SecureEnclave.P256.KeyAgreement

A mechanism used to create a shared secret between two users by performing NIST P-256 elliptic curve Diffie Hellman (ECDH) key exchange within the Secure Enclave.

## Declaration

```swift
enum KeyAgreement
```

## Topics

### Using keys

- [SecureEnclave.P256.KeyAgreement.PrivateKey](cryptokit/secureenclave/p256/keyagreement/privatekey.md)

## Relationships

### Conforms To

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

## See Also

### Performing operations

- [SecureEnclave.P256.Signing](cryptokit/secureenclave/p256/signing.md)
