Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Fields](https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec#lfields) \| [Inherited Fields](https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec#inhfields) \| [Inherited Methods](https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec#inhmethods)

# KemParameterSpec

*** ** * ** ***

` public class KemParameterSpec `   
` ` ` extends https://developer.android.com/reference/java/security/spec/NamedParameterSpec ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.security.spec.NamedParameterSpec](https://developer.android.com/reference/java/security/spec/NamedParameterSpec) ||
|   | ↳ | android.crypto.hpke.KemParameterSpec |

<br />

*** ** * ** ***

Specifies algorithm parameters for the KEM component of an HPKE suite which are determined by standard names as per RFC 9180.

These parameters can be composed into a full HKPE suite name using `https://developer.android.com/reference/android/crypto/hpke/Hpke#getSuiteName(android.crypto.hpke.KemParameterSpec,%20android.crypto.hpke.KdfParameterSpec,%20android.crypto.hpke.AeadParameterSpec)`.

Note that currently only `DHKEM_X25519_HKDF_SHA256` is implemented.
**See also:**

- `https://developer.android.com/reference/java/security/spec/NamedParameterSpec`
- [RFC 9180 Section 7.1](https://www.rfc-editor.org/rfc/rfc9180.html#section-7.1)

## Summary

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec` | `https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec#DHKEM_P256_HKDF_SHA256` <br /> |
| ` public static final https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec` | `https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec#DHKEM_P384_HKDF_SHA384` <br /> |
| ` public static final https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec` | `https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec#DHKEM_P521_HKDF_SHA256` <br /> |
| ` public static final https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec` | `https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec#DHKEM_X25519_HKDF_SHA256` <br /> |
| ` public static final https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec` | `https://developer.android.com/reference/android/crypto/hpke/KemParameterSpec#DHKEM_X448_HKDF_SHA512` <br /> |

### Inherited fields

From class `https://developer.android.com/reference/java/security/spec/NamedParameterSpec` ` public static final https://developer.android.com/reference/java/security/spec/NamedParameterSpec` `https://developer.android.com/reference/java/security/spec/NamedParameterSpec#ED25519`

The Ed25519 parameters
` public static final https://developer.android.com/reference/java/security/spec/NamedParameterSpec` `https://developer.android.com/reference/java/security/spec/NamedParameterSpec#ED448`

The Ed448 parameters
` public static final https://developer.android.com/reference/java/security/spec/NamedParameterSpec` `https://developer.android.com/reference/java/security/spec/NamedParameterSpec#ML_DSA_65`

The ML-DSA-65 parameters
` public static final https://developer.android.com/reference/java/security/spec/NamedParameterSpec` `https://developer.android.com/reference/java/security/spec/NamedParameterSpec#ML_DSA_87`

The ML-DSA-87 parameters
` public static final https://developer.android.com/reference/java/security/spec/NamedParameterSpec` `https://developer.android.com/reference/java/security/spec/NamedParameterSpec#X25519`

The X25519 parameters
` public static final https://developer.android.com/reference/java/security/spec/NamedParameterSpec` `https://developer.android.com/reference/java/security/spec/NamedParameterSpec#X448`

The X448 parameters

### Inherited methods

From class ` https://developer.android.com/reference/java/security/spec/NamedParameterSpec ` ` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/security/spec/NamedParameterSpec#getName()() `

Returns the standard name that determines the algorithm parameters.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Fields

### DHKEM_P256_HKDF_SHA256

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final KemParameterSpec DHKEM_P256_HKDF_SHA256
```

<br />

<br />

### DHKEM_P384_HKDF_SHA384

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final KemParameterSpec DHKEM_P384_HKDF_SHA384
```

<br />

<br />

### DHKEM_P521_HKDF_SHA256

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final KemParameterSpec DHKEM_P521_HKDF_SHA256
```

<br />

<br />

### DHKEM_X25519_HKDF_SHA256

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final KemParameterSpec DHKEM_X25519_HKDF_SHA256
```

<br />

<br />

### DHKEM_X448_HKDF_SHA512

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final KemParameterSpec DHKEM_X448_HKDF_SHA512
```

<br />

<br />