Fdecapsulate
Bun

function

crypto.decapsulate

function decapsulate(
ciphertext: ArrayBufferLike | ArrayBufferView<ArrayBufferLike>
): NonSharedBuffer;

Key decapsulation using a KEM algorithm with a private key.

Supported key types and their KEM algorithms are:

  • 'rsa' RSA Secret Value Encapsulation
  • 'ec' DHKEM(P-256, HKDF-SHA256), DHKEM(P-384, HKDF-SHA256), DHKEM(P-521, HKDF-SHA256)
  • 'x25519' DHKEM(X25519, HKDF-SHA256)
  • 'x448' DHKEM(X448, HKDF-SHA512)
  • 'ml-kem-512' ML-KEM
  • 'ml-kem-768' ML-KEM
  • 'ml-kem-1024' ML-KEM

If key is not a KeyObject, this function behaves as if key had been passed to crypto.createPrivateKey().

If the callback function is provided this function uses libuv's threadpool.

function decapsulate(
ciphertext: ArrayBufferLike | ArrayBufferView<ArrayBufferLike>,
callback: (err: Error, sharedKey: NonSharedBuffer) => void
): void;

Key decapsulation using a KEM algorithm with a private key.

Supported key types and their KEM algorithms are:

  • 'rsa' RSA Secret Value Encapsulation
  • 'ec' DHKEM(P-256, HKDF-SHA256), DHKEM(P-384, HKDF-SHA256), DHKEM(P-521, HKDF-SHA256)
  • 'x25519' DHKEM(X25519, HKDF-SHA256)
  • 'x448' DHKEM(X448, HKDF-SHA512)
  • 'ml-kem-512' ML-KEM
  • 'ml-kem-768' ML-KEM
  • 'ml-kem-1024' ML-KEM

If key is not a KeyObject, this function behaves as if key had been passed to crypto.createPrivateKey().

If the callback function is provided this function uses libuv's threadpool.

Referenced types

interface RawPrivateKeyInput