From 24bc9a4fd9d427306822a01e59aae6f8381d03de Mon Sep 17 00:00:00 2001 From: dajiaji Date: Sun, 10 Nov 2024 07:00:00 +0000 Subject: [PATCH] deploy: 5ba3fb5e1ff1ebb7953c160f6514bd1f34596e1b --- .../docs/classes/Chacha20Poly1305.html | 12 +++---- common/docs/classes/DecapError.html | 4 +-- common/docs/classes/DeriveKeyPairError.html | 4 +-- common/docs/classes/DeserializeError.html | 4 +-- common/docs/classes/Dhkem.html | 32 ++++++++--------- common/docs/classes/Ec.html | 4 +-- common/docs/classes/EncapError.html | 4 +-- common/docs/classes/ExportError.html | 4 +-- common/docs/classes/HkdfSha256Native.html | 26 +++++++------- common/docs/classes/HkdfSha384Native.html | 26 +++++++------- common/docs/classes/HkdfSha512Native.html | 26 +++++++------- common/docs/classes/HpkeError.html | 4 +-- common/docs/classes/Hybridkem.html | 32 ++++++++--------- common/docs/classes/InvalidParamError.html | 4 +-- .../classes/MessageLimitReachedError.html | 4 +-- common/docs/classes/NativeAlgorithm.html | 4 +-- common/docs/classes/NotSupportedError.html | 4 +-- common/docs/classes/OpenError.html | 4 +-- common/docs/classes/SealError.html | 4 +-- common/docs/classes/SerializeError.html | 4 +-- common/docs/classes/ValidationError.html | 4 +-- common/docs/classes/XCryptoKey.html | 12 +++---- common/docs/functions/base64UrlToBytes.html | 2 +- common/docs/functions/concat.html | 2 +- common/docs/functions/hexToBytes.html | 2 +- common/docs/functions/i2Osp.html | 2 +- common/docs/functions/isCryptoKeyPair.html | 2 +- common/docs/functions/isDeno.html | 2 +- common/docs/functions/isDenoV1.html | 2 +- .../docs/functions/kemToKeyGenAlgorithm.html | 2 +- common/docs/functions/loadCrypto.html | 2 +- common/docs/functions/loadSubtleCrypto.html | 2 +- common/docs/functions/xor.html | 2 +- .../interfaces/AeadEncryptionContext.html | 6 ++-- common/docs/interfaces/AeadInterface.html | 12 +++---- common/docs/interfaces/DhkemInterface.html | 30 ++++++++-------- common/docs/interfaces/DhkemPrimitives.html | 4 +-- .../docs/interfaces/JsonWebKeyExtended.html | 6 ++-- common/docs/interfaces/KdfInterface.html | 22 ++++++------ common/docs/interfaces/KemInterface.html | 30 ++++++++-------- common/docs/interfaces/KeyScheduleParams.html | 6 ++-- common/docs/interfaces/PreSharedKey.html | 6 ++-- .../interfaces/RecipientContextParams.html | 12 +++---- .../docs/interfaces/SenderContextParams.html | 12 +++---- common/docs/types/AeadId.html | 2 +- common/docs/types/KdfId.html | 2 +- common/docs/types/KemId.html | 2 +- common/docs/types/Mode.html | 2 +- common/docs/variables/AEAD_USAGES.html | 2 +- common/docs/variables/AeadId-1.html | 2 +- common/docs/variables/EMPTY.html | 2 +- common/docs/variables/INPUT_LENGTH_LIMIT.html | 2 +- common/docs/variables/KEM_USAGES.html | 2 +- common/docs/variables/KdfId-1.html | 2 +- common/docs/variables/KemId-1.html | 2 +- common/docs/variables/LABEL_DKP_PRK.html | 2 +- common/docs/variables/LABEL_SK.html | 2 +- common/docs/variables/MINIMUM_PSK_LENGTH.html | 2 +- common/docs/variables/Mode-1.html | 2 +- .../docs/variables/SUITE_ID_HEADER_KEM.html | 2 +- core/docs/classes/Aes128Gcm.html | 12 +++---- core/docs/classes/Aes256Gcm.html | 12 +++---- core/docs/classes/CipherSuite.html | 18 +++++----- core/docs/classes/DecapError.html | 4 +-- core/docs/classes/DeriveKeyPairError.html | 4 +-- core/docs/classes/DeserializeError.html | 4 +-- core/docs/classes/DhkemP256HkdfSha256.html | 22 ++++++------ core/docs/classes/DhkemP384HkdfSha384.html | 22 ++++++------ core/docs/classes/DhkemP521HkdfSha512.html | 22 ++++++------ core/docs/classes/DhkemX25519HkdfSha256.html | 32 ++++++++--------- core/docs/classes/DhkemX448HkdfSha512.html | 32 ++++++++--------- core/docs/classes/EncapError.html | 4 +-- core/docs/classes/ExportError.html | 4 +-- core/docs/classes/ExportOnly.html | 12 +++---- core/docs/classes/HkdfSha256.html | 26 +++++++------- core/docs/classes/HkdfSha384.html | 26 +++++++------- core/docs/classes/HkdfSha512.html | 26 +++++++------- core/docs/classes/HpkeError.html | 4 +-- core/docs/classes/InvalidParamError.html | 4 +-- .../classes/MessageLimitReachedError.html | 4 +-- core/docs/classes/NotSupportedError.html | 4 +-- core/docs/classes/OpenError.html | 4 +-- core/docs/classes/SealError.html | 4 +-- core/docs/classes/SerializeError.html | 4 +-- core/docs/classes/ValidationError.html | 4 +-- .../interfaces/AeadEncryptionContext.html | 6 ++-- core/docs/interfaces/AeadInterface.html | 12 +++---- core/docs/interfaces/CipherSuiteParams.html | 8 ++--- .../interfaces/CipherSuiteSealResponse.html | 6 ++-- core/docs/interfaces/EncryptionContext.html | 8 ++--- core/docs/interfaces/JsonWebKeyExtended.html | 6 ++-- core/docs/interfaces/KdfInterface.html | 22 ++++++------ core/docs/interfaces/KemInterface.html | 30 ++++++++-------- core/docs/interfaces/PreSharedKey.html | 6 ++-- .../interfaces/RecipientContextParams.html | 12 +++---- core/docs/interfaces/SenderContext.html | 10 +++--- core/docs/interfaces/SenderContextParams.html | 12 +++---- core/docs/types/AeadId.html | 2 +- core/docs/types/KdfId.html | 2 +- core/docs/types/KemId.html | 2 +- core/docs/types/RecipientContext.html | 2 +- core/docs/variables/AeadId-1.html | 2 +- core/docs/variables/KdfId-1.html | 2 +- core/docs/variables/KemId-1.html | 2 +- .../classes/DhkemSecp256k1HkdfSha256.html | 32 ++++++++--------- .../docs/classes/DhkemX25519HkdfSha256.html | 32 ++++++++--------- dhkem-x25519/docs/classes/HkdfSha256.html | 24 ++++++------- dhkem-x25519/docs/classes/X25519.html | 4 +-- .../docs/classes/DhkemX448HkdfSha512.html | 32 ++++++++--------- dhkem-x448/docs/classes/HkdfSha512.html | 24 ++++++------- dhkem-x448/docs/classes/X448.html | 4 +-- docs/classes/CipherSuite.html | 24 ++++++------- docs/classes/DecapError.html | 4 +-- docs/classes/DeriveKeyPairError.html | 4 +-- docs/classes/DeserializeError.html | 4 +-- docs/classes/EncapError.html | 4 +-- docs/classes/ExportError.html | 4 +-- docs/classes/HpkeError.html | 4 +-- docs/classes/InvalidParamError.html | 4 +-- docs/classes/MessageLimitReachedError.html | 4 +-- docs/classes/NotSupportedError.html | 4 +-- docs/classes/OpenError.html | 4 +-- docs/classes/SealError.html | 4 +-- docs/classes/SerializeError.html | 4 +-- docs/classes/ValidationError.html | 4 +-- docs/interfaces/AeadEncryptionContext.html | 6 ++-- docs/interfaces/AeadInterface.html | 12 +++---- docs/interfaces/CipherSuiteParams.html | 8 ++--- docs/interfaces/CipherSuiteSealResponse.html | 6 ++-- docs/interfaces/EncryptionContext.html | 8 ++--- docs/interfaces/KdfInterface.html | 22 ++++++------ docs/interfaces/KemInterface.html | 30 ++++++++-------- docs/interfaces/PreSharedKey.html | 6 ++-- docs/interfaces/RecipientContextParams.html | 12 +++---- docs/interfaces/SenderContext.html | 10 +++--- docs/interfaces/SenderContextParams.html | 12 +++---- docs/types/Aead.html | 2 +- docs/types/AeadId.html | 2 +- docs/types/Kdf.html | 2 +- docs/types/KdfId.html | 2 +- docs/types/Kem.html | 2 +- docs/types/KemId.html | 2 +- docs/types/RecipientContext.html | 2 +- docs/variables/Aead-1.html | 2 +- docs/variables/AeadId-1.html | 2 +- docs/variables/Kdf-1.html | 2 +- docs/variables/KdfId-1.html | 2 +- docs/variables/Kem-1.html | 2 +- docs/variables/KemId-1.html | 2 +- hybridkem-x-wing/docs/classes/XWing.html | 34 +++++++++---------- .../docs/classes/HybridkemX25519Kyber768.html | 22 ++++++------ 151 files changed, 667 insertions(+), 667 deletions(-) diff --git a/chacha20poly1305/docs/classes/Chacha20Poly1305.html b/chacha20poly1305/docs/classes/Chacha20Poly1305.html index 06dd485a5..302d60245 100644 --- a/chacha20poly1305/docs/classes/Chacha20Poly1305.html +++ b/chacha20poly1305/docs/classes/Chacha20Poly1305.html @@ -7,17 +7,17 @@

This class is implemented using @noble/ciphers.

-

Implements

Constructors

Implements

  • AeadInterface

Constructors

Properties

id: AeadId = AeadId.Chacha20Poly1305

AeadId.Chacha20Poly1305 (0x0003)

-
keySize: number = 32

32

-
nonceSize: number = 12

12

-
tagSize: number = 16

16

-

Methods

  • Creates an AEAD encryption context which has seal/open operation.

    +
keySize: number = 32

32

+
nonceSize: number = 12

12

+
tagSize: number = 16

16

+

Methods

  • Creates an AEAD encryption context which has seal/open operation.

    Parameters

    • key: ArrayBuffer

      A byte string of the raw key.

    Returns AeadEncryptionContext

    An AEAD encryption context.

    -
+
diff --git a/common/docs/classes/DecapError.html b/common/docs/classes/DecapError.html index 261c5986d..8c59901bd 100644 --- a/common/docs/classes/DecapError.html +++ b/common/docs/classes/DecapError.html @@ -1,7 +1,7 @@ DecapError | @hpke/common

Class DecapError

decap() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/DeriveKeyPairError.html b/common/docs/classes/DeriveKeyPairError.html index 8bda01de3..13b98a6be 100644 --- a/common/docs/classes/DeriveKeyPairError.html +++ b/common/docs/classes/DeriveKeyPairError.html @@ -1,7 +1,7 @@ DeriveKeyPairError | @hpke/common

Class DeriveKeyPairError

Key pair derivation failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/DeserializeError.html b/common/docs/classes/DeserializeError.html index eaea6b304..0cfdbb681 100644 --- a/common/docs/classes/DeserializeError.html +++ b/common/docs/classes/DeserializeError.html @@ -1,7 +1,7 @@ DeserializeError | @hpke/common

Class DeserializeError

Public or private key deserialization failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/Dhkem.html b/common/docs/classes/Dhkem.html index b739eba4b..e9c1db2a4 100644 --- a/common/docs/classes/Dhkem.html +++ b/common/docs/classes/Dhkem.html @@ -1,5 +1,5 @@ Dhkem | @hpke/common

The KEM interface.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

encSize: number = 0

The length in bytes of an encapsulated key produced by this KEM (Nenc).

-
id: KemId

The KEM identifier.

-
privateKeySize: number = 0

The length in bytes of an encoded private key for this KEM (Nsk).

-
publicKeySize: number = 0

The length in bytes of an encoded public key for this KEM (Npk).

-
secretSize: number = 0

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

-

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

encSize: number = 0

The length in bytes of an encapsulated key produced by this KEM (Nenc).

+
id: KemId

The KEM identifier.

+
privateKeySize: number = 0

The length in bytes of an encoded private key for this KEM (Nsk).

+
publicKeySize: number = 0

The length in bytes of an encoded public key for this KEM (Npk).

+
secretSize: number = 0

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

+

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +

Returns Promise<CryptoKey>

A public or private CryptoKey.

+
diff --git a/common/docs/classes/Ec.html b/common/docs/classes/Ec.html index 91c5a34a5..5c48b943b 100644 --- a/common/docs/classes/Ec.html +++ b/common/docs/classes/Ec.html @@ -1,4 +1,4 @@ -Ec | @hpke/common

Hierarchy (view full)

Implements

Constructors

constructor +Ec | @hpke/common

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

_api: SubtleCrypto = undefined

Methods

+

Constructors

Properties

_api: SubtleCrypto = undefined

Methods

diff --git a/common/docs/classes/EncapError.html b/common/docs/classes/EncapError.html index 1073178c6..1723cb83e 100644 --- a/common/docs/classes/EncapError.html +++ b/common/docs/classes/EncapError.html @@ -1,7 +1,7 @@ EncapError | @hpke/common

Class EncapError

encap() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/ExportError.html b/common/docs/classes/ExportError.html index 94084b291..1d51c20bb 100644 --- a/common/docs/classes/ExportError.html +++ b/common/docs/classes/ExportError.html @@ -1,7 +1,7 @@ ExportError | @hpke/common

Class ExportError

Secret export failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/HkdfSha256Native.html b/common/docs/classes/HkdfSha256Native.html index ccccec0f0..46dddeaf6 100644 --- a/common/docs/classes/HkdfSha256Native.html +++ b/common/docs/classes/HkdfSha256Native.html @@ -1,4 +1,4 @@ -HkdfSha256Native | @hpke/common

Class HkdfSha256Native

Hierarchy

  • HkdfNative
    • HkdfSha256Native

Constructors

constructor +HkdfSha256Native | @hpke/common

Class HkdfSha256Native

Hierarchy

  • HkdfNative
    • HkdfSha256Native

Constructors

Properties

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

-
hashSize: number = 32

32

-
id: KdfId = KdfId.HkdfSha256

KdfId.HkdfSha256 (0x0001)

-

Methods

  • Returns Promise<void>

  • Builds a labeled input keying material.

    +

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

+
hashSize: number = 32

32

+
id: KdfId = KdfId.HkdfSha256

KdfId.HkdfSha256 (0x0001)

+

Methods

  • Returns Promise<void>

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    +
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    +
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    +
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    +
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/common/docs/classes/HkdfSha384Native.html b/common/docs/classes/HkdfSha384Native.html index dd3b1a89f..d7452395c 100644 --- a/common/docs/classes/HkdfSha384Native.html +++ b/common/docs/classes/HkdfSha384Native.html @@ -1,4 +1,4 @@ -HkdfSha384Native | @hpke/common

Class HkdfSha384Native

Hierarchy

  • HkdfNative
    • HkdfSha384Native

Constructors

constructor +HkdfSha384Native | @hpke/common

Class HkdfSha384Native

Hierarchy

  • HkdfNative
    • HkdfSha384Native

Constructors

Properties

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

-
hashSize: number = 48

48

-
id: KdfId = KdfId.HkdfSha384

KdfId.HkdfSha384 (0x0002)

-

Methods

  • Returns Promise<void>

  • Builds a labeled input keying material.

    +

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

+
hashSize: number = 48

48

+
id: KdfId = KdfId.HkdfSha384

KdfId.HkdfSha384 (0x0002)

+

Methods

  • Returns Promise<void>

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    +
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    +
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    +
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    +
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/common/docs/classes/HkdfSha512Native.html b/common/docs/classes/HkdfSha512Native.html index f8d884c25..e21acf5ae 100644 --- a/common/docs/classes/HkdfSha512Native.html +++ b/common/docs/classes/HkdfSha512Native.html @@ -1,4 +1,4 @@ -HkdfSha512Native | @hpke/common

Class HkdfSha512Native

Hierarchy

  • HkdfNative
    • HkdfSha512Native

Constructors

constructor +HkdfSha512Native | @hpke/common

Class HkdfSha512Native

Hierarchy

  • HkdfNative
    • HkdfSha512Native

Constructors

Properties

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

-
hashSize: number = 64

64

-
id: KdfId = KdfId.HkdfSha512

KdfId.HkdfSha512 (0x0003)

-

Methods

  • Returns Promise<void>

  • Builds a labeled input keying material.

    +

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

+
hashSize: number = 64

64

+
id: KdfId = KdfId.HkdfSha512

KdfId.HkdfSha512 (0x0003)

+

Methods

  • Returns Promise<void>

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    +
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    +
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    +
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    +
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/common/docs/classes/HpkeError.html b/common/docs/classes/HpkeError.html index a0c2fcc25..95abb61a6 100644 --- a/common/docs/classes/HpkeError.html +++ b/common/docs/classes/HpkeError.html @@ -1,7 +1,7 @@ HpkeError | @hpke/common

Class HpkeError

The base error class of hpke-js.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/Hybridkem.html b/common/docs/classes/Hybridkem.html index 6c0eaf7fa..bd081e969 100644 --- a/common/docs/classes/Hybridkem.html +++ b/common/docs/classes/Hybridkem.html @@ -1,5 +1,5 @@ Hybridkem | @hpke/common

Class Hybridkem

The KEM interface.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

encSize: number = 0

The length in bytes of an encapsulated key produced by this KEM (Nenc).

-
id: KemId = KemId.NotAssigned

The KEM identifier.

-
name: string = ""
privateKeySize: number = 0

The length in bytes of an encoded private key for this KEM (Nsk).

-
publicKeySize: number = 0

The length in bytes of an encoded public key for this KEM (Npk).

-
secretSize: number = 0

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

-

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

encSize: number = 0

The length in bytes of an encapsulated key produced by this KEM (Nenc).

+
id: KemId = KemId.NotAssigned

The KEM identifier.

+
name: string = ""
privateKeySize: number = 0

The length in bytes of an encoded private key for this KEM (Nsk).

+
publicKeySize: number = 0

The length in bytes of an encoded public key for this KEM (Npk).

+
secretSize: number = 0

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

+

Methods

  • Derives a key pair from the byte string ikm.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +

Returns Promise<CryptoKey>

A public or private CryptoKey.

+
diff --git a/common/docs/classes/InvalidParamError.html b/common/docs/classes/InvalidParamError.html index cb4b0fc6d..61f8f5258 100644 --- a/common/docs/classes/InvalidParamError.html +++ b/common/docs/classes/InvalidParamError.html @@ -1,7 +1,7 @@ InvalidParamError | @hpke/common

Class InvalidParamError

Invalid parameter.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/MessageLimitReachedError.html b/common/docs/classes/MessageLimitReachedError.html index 9289f5bff..fb05e8f99 100644 --- a/common/docs/classes/MessageLimitReachedError.html +++ b/common/docs/classes/MessageLimitReachedError.html @@ -1,7 +1,7 @@ MessageLimitReachedError | @hpke/common

Class MessageLimitReachedError

Sequence number overflow on the encryption context.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/NativeAlgorithm.html b/common/docs/classes/NativeAlgorithm.html index f328e3fa5..3cad3db3a 100644 --- a/common/docs/classes/NativeAlgorithm.html +++ b/common/docs/classes/NativeAlgorithm.html @@ -1,4 +1,4 @@ -NativeAlgorithm | @hpke/common

Class NativeAlgorithm

Hierarchy (view full)

  • NativeAlgorithm

Constructors

constructor +NativeAlgorithm | @hpke/common

Class NativeAlgorithm

Hierarchy (view full)

  • NativeAlgorithm

Constructors

Properties

Methods

Constructors

Properties

_api: SubtleCrypto = undefined

Methods

+

Constructors

Properties

_api: SubtleCrypto = undefined

Methods

diff --git a/common/docs/classes/NotSupportedError.html b/common/docs/classes/NotSupportedError.html index 28ceec5e8..8a35c0cfc 100644 --- a/common/docs/classes/NotSupportedError.html +++ b/common/docs/classes/NotSupportedError.html @@ -1,7 +1,7 @@ NotSupportedError | @hpke/common

Class NotSupportedError

Not supported failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/OpenError.html b/common/docs/classes/OpenError.html index d27942dc0..76d530a5a 100644 --- a/common/docs/classes/OpenError.html +++ b/common/docs/classes/OpenError.html @@ -1,7 +1,7 @@ OpenError | @hpke/common

Class OpenError

open() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/SealError.html b/common/docs/classes/SealError.html index 8a848e6df..290cef4fd 100644 --- a/common/docs/classes/SealError.html +++ b/common/docs/classes/SealError.html @@ -1,7 +1,7 @@ SealError | @hpke/common

Class SealError

seal() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/SerializeError.html b/common/docs/classes/SerializeError.html index 729cd4ed3..ff5349a50 100644 --- a/common/docs/classes/SerializeError.html +++ b/common/docs/classes/SerializeError.html @@ -1,7 +1,7 @@ SerializeError | @hpke/common

Class SerializeError

Public or private key serialization failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/ValidationError.html b/common/docs/classes/ValidationError.html index 9e1a3a8d3..89def3302 100644 --- a/common/docs/classes/ValidationError.html +++ b/common/docs/classes/ValidationError.html @@ -1,7 +1,7 @@ ValidationError | @hpke/common

Class ValidationError

KEM input or output validation failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/common/docs/classes/XCryptoKey.html b/common/docs/classes/XCryptoKey.html index 0f6b1fc93..ef879cd53 100644 --- a/common/docs/classes/XCryptoKey.html +++ b/common/docs/classes/XCryptoKey.html @@ -1,11 +1,11 @@ -XCryptoKey | @hpke/common

Class XCryptoKey

Implements

  • CryptoKey

Constructors

constructor +XCryptoKey | @hpke/common

Class XCryptoKey

Implements

  • CryptoKey

Constructors

Properties

algorithm: KeyAlgorithm
extractable: boolean = true
key: Uint8Array
type: "private" | "public"
usages: KeyUsage[]
+

Constructors

Properties

algorithm: KeyAlgorithm
extractable: boolean = true
key: Uint8Array
type: "private" | "public"
usages: KeyUsage[]
diff --git a/common/docs/functions/base64UrlToBytes.html b/common/docs/functions/base64UrlToBytes.html index 858bd6173..8af91b441 100644 --- a/common/docs/functions/base64UrlToBytes.html +++ b/common/docs/functions/base64UrlToBytes.html @@ -1,4 +1,4 @@ base64UrlToBytes | @hpke/common

Function base64UrlToBytes

  • Decodes Base64Url-encoded data.

    Parameters

    • v: string

      Base64Url-encoded string

    Returns Uint8Array

    Uint8Array

    -
+
diff --git a/common/docs/functions/concat.html b/common/docs/functions/concat.html index d71200f82..f27c8daf9 100644 --- a/common/docs/functions/concat.html +++ b/common/docs/functions/concat.html @@ -2,4 +2,4 @@

Parameters

Returns Uint8Array

Concatenated Uint8Array

-
+
diff --git a/common/docs/functions/hexToBytes.html b/common/docs/functions/hexToBytes.html index 859828243..aa529e43b 100644 --- a/common/docs/functions/hexToBytes.html +++ b/common/docs/functions/hexToBytes.html @@ -2,4 +2,4 @@

Parameters

Returns Uint8Array

Uint8Array

Error if the input is not a hex string.

-
+
diff --git a/common/docs/functions/i2Osp.html b/common/docs/functions/i2Osp.html index 1b3b60a58..5fa881ac3 100644 --- a/common/docs/functions/i2Osp.html +++ b/common/docs/functions/i2Osp.html @@ -1,2 +1,2 @@ i2Osp | @hpke/common

Function i2Osp

  • Converts integer to octet string. I2OSP implementation.

    -

    Parameters

    • n: number
    • w: number

    Returns Uint8Array

+

Parameters

Returns Uint8Array

diff --git a/common/docs/functions/isCryptoKeyPair.html b/common/docs/functions/isCryptoKeyPair.html index 1884d0cc8..c6752652a 100644 --- a/common/docs/functions/isCryptoKeyPair.html +++ b/common/docs/functions/isCryptoKeyPair.html @@ -1,2 +1,2 @@ isCryptoKeyPair | @hpke/common

Function isCryptoKeyPair

Checks whetehr the type of input is CryptoKeyPair or not.

-
  • Parameters

    • x: unknown

    Returns x is CryptoKeyPair

+
diff --git a/common/docs/functions/isDeno.html b/common/docs/functions/isDeno.html index 2724ae67f..0eeafaf95 100644 --- a/common/docs/functions/isDeno.html +++ b/common/docs/functions/isDeno.html @@ -1,3 +1,3 @@ isDeno | @hpke/common

Function isDeno

  • Checks whether the runtime is Deno or not (Node.js).

    Returns boolean

    boolean - true if the runtime is Deno, false Node.js.

    -
+
diff --git a/common/docs/functions/isDenoV1.html b/common/docs/functions/isDenoV1.html index aa80d3a1f..b3ac46a67 100644 --- a/common/docs/functions/isDenoV1.html +++ b/common/docs/functions/isDenoV1.html @@ -1 +1 @@ -isDenoV1 | @hpke/common

Function isDenoV1

+isDenoV1 | @hpke/common

Function isDenoV1

diff --git a/common/docs/functions/kemToKeyGenAlgorithm.html b/common/docs/functions/kemToKeyGenAlgorithm.html index b00695163..a8e5fa357 100644 --- a/common/docs/functions/kemToKeyGenAlgorithm.html +++ b/common/docs/functions/kemToKeyGenAlgorithm.html @@ -1,4 +1,4 @@ kemToKeyGenAlgorithm | @hpke/common

Function kemToKeyGenAlgorithm

  • Converts KemId to KeyAlgorithm.

    Parameters

    Returns KeyAlgorithm

    KeyAlgorithm

    -
+
diff --git a/common/docs/functions/loadCrypto.html b/common/docs/functions/loadCrypto.html index 10583c935..11b7f6d97 100644 --- a/common/docs/functions/loadCrypto.html +++ b/common/docs/functions/loadCrypto.html @@ -1 +1 @@ -loadCrypto | @hpke/common

Function loadCrypto

+loadCrypto | @hpke/common

Function loadCrypto

diff --git a/common/docs/functions/loadSubtleCrypto.html b/common/docs/functions/loadSubtleCrypto.html index 312f4ccab..53bdd9c6e 100644 --- a/common/docs/functions/loadSubtleCrypto.html +++ b/common/docs/functions/loadSubtleCrypto.html @@ -1 +1 @@ -loadSubtleCrypto | @hpke/common

Function loadSubtleCrypto

+loadSubtleCrypto | @hpke/common

Function loadSubtleCrypto

diff --git a/common/docs/functions/xor.html b/common/docs/functions/xor.html index 189b62239..b9de9f0ce 100644 --- a/common/docs/functions/xor.html +++ b/common/docs/functions/xor.html @@ -1,2 +1,2 @@ xor | @hpke/common

Function xor

  • XOR for Uint8Array.

    -

    Parameters

    • a: Uint8Array
    • b: Uint8Array

    Returns Uint8Array

+

Parameters

Returns Uint8Array

diff --git a/common/docs/interfaces/AeadEncryptionContext.html b/common/docs/interfaces/AeadEncryptionContext.html index 7245ad21e..8924810cb 100644 --- a/common/docs/interfaces/AeadEncryptionContext.html +++ b/common/docs/interfaces/AeadEncryptionContext.html @@ -1,14 +1,14 @@ AeadEncryptionContext | @hpke/common

Interface AeadEncryptionContext

The AEAD encryption context interface.

-
interface AeadEncryptionContext {
    open(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
    seal(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
}

Methods

interface AeadEncryptionContext {
    open(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
    seal(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
}

Methods

Methods

  • Decrypts data with an initialization vector and additional authenticated data.

    Parameters

    • iv: ArrayBuffer

      An initialization vector.

    • data: ArrayBuffer

      A plain text as bytes to be encrypted.

    • aad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

    -
  • Encrypts data with an initialization vector and additional authenticated data.

    Parameters

    • iv: ArrayBuffer

      An initialization vector.

    • data: ArrayBuffer

      A plain text as bytes to be encrypted.

    • aad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A cipher text as bytes.

    -
+
diff --git a/common/docs/interfaces/AeadInterface.html b/common/docs/interfaces/AeadInterface.html index dda424511..a8d256332 100644 --- a/common/docs/interfaces/AeadInterface.html +++ b/common/docs/interfaces/AeadInterface.html @@ -1,14 +1,14 @@ AeadInterface | @hpke/common

Interface AeadInterface

The AEAD interface.

-
interface AeadInterface {
    id: AeadId;
    keySize: number;
    nonceSize: number;
    tagSize: number;
    createEncryptionContext(key: ArrayBuffer): AeadEncryptionContext;
}

Properties

id +
interface AeadInterface {
    id: AeadId;
    keySize: number;
    nonceSize: number;
    tagSize: number;
    createEncryptionContext(key: ArrayBuffer): AeadEncryptionContext;
}

Properties

id: AeadId

The KDF identifier.

-
keySize: number

The length in bytes of an AEAD key (Nk).

-
nonceSize: number

The length in bytes of an AEAD nonce (Nn).

-
tagSize: number

The length in bytes of an AEAD authentication tag (Nt).

-

Methods

keySize: number

The length in bytes of an AEAD key (Nk).

+
nonceSize: number

The length in bytes of an AEAD nonce (Nn).

+
tagSize: number

The length in bytes of an AEAD authentication tag (Nt).

+

Methods

+
diff --git a/common/docs/interfaces/DhkemInterface.html b/common/docs/interfaces/DhkemInterface.html index 9aed1ce74..eedaa7b25 100644 --- a/common/docs/interfaces/DhkemInterface.html +++ b/common/docs/interfaces/DhkemInterface.html @@ -1,5 +1,5 @@ DhkemInterface | @hpke/common

Interface DhkemInterface

The DHKEM interface.

-
interface DhkemInterface {
    encSize: number;
    id: KemId;
    kdf: KdfInterface;
    privateKeySize: number;
    publicKeySize: number;
    secretSize: number;
    decap(params: RecipientContextParams): Promise<ArrayBuffer>;
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    encap(params: SenderContextParams): Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Properties

interface DhkemInterface {
    encSize: number;
    id: KemId;
    kdf: KdfInterface;
    privateKeySize: number;
    publicKeySize: number;
    secretSize: number;
    decap(params: RecipientContextParams): Promise<ArrayBuffer>;
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    encap(params: SenderContextParams): Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Properties

encSize: number

The length in bytes of an encapsulated key produced by this KEM (Nenc).

-
id: KemId

The KEM identifier.

-
privateKeySize: number

The length in bytes of an encoded private key for this KEM (Nsk).

-
publicKeySize: number

The length in bytes of an encoded public key for this KEM (Npk).

-
secretSize: number

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

-

Methods

id: KemId

The KEM identifier.

+
privateKeySize: number

The length in bytes of an encoded private key for this KEM (Nsk).

+
publicKeySize: number

The length in bytes of an encoded public key for this KEM (Npk).

+
secretSize: number

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

+

Methods

  • Derives a key pair from the byte string ikm.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +

Returns Promise<CryptoKey>

A public or private CryptoKey.

+
diff --git a/common/docs/interfaces/DhkemPrimitives.html b/common/docs/interfaces/DhkemPrimitives.html index 5b7f134f1..267bdee1d 100644 --- a/common/docs/interfaces/DhkemPrimitives.html +++ b/common/docs/interfaces/DhkemPrimitives.html @@ -1,4 +1,4 @@ -DhkemPrimitives | @hpke/common

Interface DhkemPrimitives

interface DhkemPrimitives {
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    derivePublicKey(key: CryptoKey): Promise<CryptoKey>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    dh(sk: CryptoKey, pk: CryptoKey): Promise<ArrayBuffer>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Implemented by

Methods

deriveKeyPair +DhkemPrimitives | @hpke/common

Interface DhkemPrimitives

interface DhkemPrimitives {
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    derivePublicKey(key: CryptoKey): Promise<CryptoKey>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    dh(sk: CryptoKey, pk: CryptoKey): Promise<ArrayBuffer>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Implemented by

Methods

  • Parameters

    • format: "raw" | "jwk"
    • key: ArrayBuffer | JsonWebKey
    • isPublic: boolean

    Returns Promise<CryptoKey>

+

Methods

  • Parameters

    • format: "raw" | "jwk"
    • key: ArrayBuffer | JsonWebKey
    • isPublic: boolean

    Returns Promise<CryptoKey>

diff --git a/common/docs/interfaces/JsonWebKeyExtended.html b/common/docs/interfaces/JsonWebKeyExtended.html index 135e309ee..245e7ad84 100644 --- a/common/docs/interfaces/JsonWebKeyExtended.html +++ b/common/docs/interfaces/JsonWebKeyExtended.html @@ -2,7 +2,7 @@ which are not supported by the current JsonWebKey. Both of them are defined for the newly defined JSON WWb Key type AKP (Algorithm Key Pair), which is used to express Public and Private Keys for use with Algorithms.

-
interface JsonWebKeyExtended {
    alg?: string;
    crv?: string;
    d?: string;
    dp?: string;
    dq?: string;
    e?: string;
    ext?: boolean;
    k?: string;
    key_ops?: string[];
    kty?: string;
    n?: string;
    oth?: RsaOtherPrimesInfo[];
    p?: string;
    priv?: string;
    pub?: string;
    q?: string;
    qi?: string;
    use?: string;
    x?: string;
    y?: string;
}

Hierarchy

Properties

interface JsonWebKeyExtended {
    alg?: string;
    crv?: string;
    d?: string;
    dp?: string;
    dq?: string;
    e?: string;
    ext?: boolean;
    k?: string;
    key_ops?: string[];
    kty?: string;
    n?: string;
    oth?: RsaOtherPrimesInfo[];
    p?: string;
    priv?: string;
    pub?: string;
    q?: string;
    qi?: string;
    use?: string;
    x?: string;
    y?: string;
}

Hierarchy

  • JsonWebKey
    • JsonWebKeyExtended

Properties

alg? crv? d? dp? @@ -23,5 +23,5 @@ x? y?

Properties

alg?: string
crv?: string
d?: string
dp?: string
dq?: string
e?: string
ext?: boolean
k?: string
key_ops?: string[]
kty?: string
n?: string
oth?: RsaOtherPrimesInfo[]
p?: string
priv?: string

The private key in base64url encoding, which is used with the 'AKP' key type.

-
pub?: string

The public key in base64url encoding, which is used with the 'AKP' key type.

-
q?: string
qi?: string
use?: string
x?: string
y?: string
+
pub?: string

The public key in base64url encoding, which is used with the 'AKP' key type.

+
q?: string
qi?: string
use?: string
x?: string
y?: string
diff --git a/common/docs/interfaces/KdfInterface.html b/common/docs/interfaces/KdfInterface.html index d926579de..e1ee06f29 100644 --- a/common/docs/interfaces/KdfInterface.html +++ b/common/docs/interfaces/KdfInterface.html @@ -1,5 +1,5 @@ KdfInterface | @hpke/common

Interface KdfInterface

The KDF interface.

-
interface KdfInterface {
    hashSize: number;
    id: KdfId;
    buildLabeledIkm(label: Uint8Array, ikm: Uint8Array): Uint8Array;
    buildLabeledInfo(label: Uint8Array, info: Uint8Array, len: number): Uint8Array;
    expand(prk: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    extract(salt: ArrayBuffer, ikm: ArrayBuffer): Promise<ArrayBuffer>;
    extractAndExpand(salt: ArrayBuffer, ikm: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    init(suiteId: Uint8Array): void;
    labeledExpand(prk: ArrayBuffer, label: Uint8Array, info: Uint8Array, len: number): Promise<ArrayBuffer>;
    labeledExtract(salt: ArrayBuffer, label: Uint8Array, ikm: Uint8Array): Promise<ArrayBuffer>;
}

Properties

interface KdfInterface {
    hashSize: number;
    id: KdfId;
    buildLabeledIkm(label: Uint8Array, ikm: Uint8Array): Uint8Array;
    buildLabeledInfo(label: Uint8Array, info: Uint8Array, len: number): Uint8Array;
    expand(prk: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    extract(salt: ArrayBuffer, ikm: ArrayBuffer): Promise<ArrayBuffer>;
    extractAndExpand(salt: ArrayBuffer, ikm: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    init(suiteId: Uint8Array): void;
    labeledExpand(prk: ArrayBuffer, label: Uint8Array, info: Uint8Array, len: number): Promise<ArrayBuffer>;
    labeledExtract(salt: ArrayBuffer, label: Uint8Array, ikm: Uint8Array): Promise<ArrayBuffer>;
}

Properties

hashSize: number

The output size of the extract() function in bytes (Nh).

-
id: KdfId

The KDF identifier.

-

Methods

id: KdfId

The KDF identifier.

+

Methods

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/common/docs/interfaces/KemInterface.html b/common/docs/interfaces/KemInterface.html index 5bac97f2d..c4d35e6c5 100644 --- a/common/docs/interfaces/KemInterface.html +++ b/common/docs/interfaces/KemInterface.html @@ -1,5 +1,5 @@ KemInterface | @hpke/common

Interface KemInterface

The KEM interface.

-
interface KemInterface {
    encSize: number;
    id: KemId;
    privateKeySize: number;
    publicKeySize: number;
    secretSize: number;
    decap(params: RecipientContextParams): Promise<ArrayBuffer>;
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    encap(params: SenderContextParams): Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Implemented by

Properties

interface KemInterface {
    encSize: number;
    id: KemId;
    privateKeySize: number;
    publicKeySize: number;
    secretSize: number;
    decap(params: RecipientContextParams): Promise<ArrayBuffer>;
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    encap(params: SenderContextParams): Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Implemented by

Properties

encSize: number

The length in bytes of an encapsulated key produced by this KEM (Nenc).

-
id: KemId

The KEM identifier.

-
privateKeySize: number

The length in bytes of an encoded private key for this KEM (Nsk).

-
publicKeySize: number

The length in bytes of an encoded public key for this KEM (Npk).

-
secretSize: number

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

-

Methods

id: KemId

The KEM identifier.

+
privateKeySize: number

The length in bytes of an encoded private key for this KEM (Nsk).

+
publicKeySize: number

The length in bytes of an encoded public key for this KEM (Npk).

+
secretSize: number

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

+

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +

Returns Promise<CryptoKey>

A public or private CryptoKey.

+
diff --git a/common/docs/interfaces/KeyScheduleParams.html b/common/docs/interfaces/KeyScheduleParams.html index 281e08cc4..89588a924 100644 --- a/common/docs/interfaces/KeyScheduleParams.html +++ b/common/docs/interfaces/KeyScheduleParams.html @@ -1,7 +1,7 @@ KeyScheduleParams | @hpke/common

Interface KeyScheduleParams

The common parameters used to setup the EncryptionContext.

-
interface KeyScheduleParams {
    info?: ArrayBuffer;
    psk?: PreSharedKey;
}

Hierarchy (view full)

Properties

interface KeyScheduleParams {
    info?: ArrayBuffer;
    psk?: PreSharedKey;
}

Hierarchy (view full)

Properties

Properties

info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

-

A pre-shared key (PSK) held by both the sender and recipient. +

A pre-shared key (PSK) held by both the sender and recipient. The PSK should have at least 32 bytes :and the maxmum length of the PSK is 128 bytes.

-
+
diff --git a/common/docs/interfaces/PreSharedKey.html b/common/docs/interfaces/PreSharedKey.html index a6a2e5727..02bcdad8a 100644 --- a/common/docs/interfaces/PreSharedKey.html +++ b/common/docs/interfaces/PreSharedKey.html @@ -1,6 +1,6 @@ PreSharedKey | @hpke/common

Interface PreSharedKey

The pre-shared key interface.

-
interface PreSharedKey {
    id: ArrayBuffer;
    key: ArrayBuffer;
}

Properties

id +
interface PreSharedKey {
    id: ArrayBuffer;
    key: ArrayBuffer;
}

Properties

Properties

id: ArrayBuffer

The key identifier.

-
key: ArrayBuffer

The body of the pre-shared key.

-
+
key: ArrayBuffer

The body of the pre-shared key.

+
diff --git a/common/docs/interfaces/RecipientContextParams.html b/common/docs/interfaces/RecipientContextParams.html index c445a1165..d50f00148 100644 --- a/common/docs/interfaces/RecipientContextParams.html +++ b/common/docs/interfaces/RecipientContextParams.html @@ -1,13 +1,13 @@ RecipientContextParams | @hpke/common

Interface RecipientContextParams

The parameters used to setup the RecipientContext.

-
interface RecipientContextParams {
    enc: ArrayBuffer;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientKey: CryptoKeyPair | CryptoKey;
    senderPublicKey?: CryptoKey;
}

Hierarchy (view full)

Properties

enc +
interface RecipientContextParams {
    enc: ArrayBuffer;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientKey: CryptoKeyPair | CryptoKey;
    senderPublicKey?: CryptoKey;
}

Hierarchy (view full)

Properties

enc: ArrayBuffer

A byte string of the encapsulated key received from a sender.

-
info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

-

A pre-shared key (PSK) held by both the sender and recipient. +

info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

+

A pre-shared key (PSK) held by both the sender and recipient. The PSK should have at least 32 bytes :and the maxmum length of the PSK is 128 bytes.

-
recipientKey: CryptoKeyPair | CryptoKey

A recipient private key or a key pair.

-
senderPublicKey?: CryptoKey

A sender public key for Auth mode.

-
+
recipientKey: CryptoKeyPair | CryptoKey

A recipient private key or a key pair.

+
senderPublicKey?: CryptoKey

A sender public key for Auth mode.

+
diff --git a/common/docs/interfaces/SenderContextParams.html b/common/docs/interfaces/SenderContextParams.html index e449746e6..9632a60ec 100644 --- a/common/docs/interfaces/SenderContextParams.html +++ b/common/docs/interfaces/SenderContextParams.html @@ -1,13 +1,13 @@ SenderContextParams | @hpke/common

Interface SenderContextParams

The parameters used to setup the SenderContext.

-
interface SenderContextParams {
    ekm?: ArrayBuffer | CryptoKeyPair;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientPublicKey: CryptoKey;
    senderKey?: CryptoKeyPair | CryptoKey;
}

Hierarchy (view full)

Properties

interface SenderContextParams {
    ekm?: ArrayBuffer | CryptoKeyPair;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientPublicKey: CryptoKey;
    senderKey?: CryptoKeyPair | CryptoKey;
}

Hierarchy (view full)

Properties

ekm?: ArrayBuffer | CryptoKeyPair

DO NOT USE. FOR DEBUGGING/TESTING PURPOSES ONLY.

-
info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

-

A pre-shared key (PSK) held by both the sender and recipient. +

info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

+

A pre-shared key (PSK) held by both the sender and recipient. The PSK should have at least 32 bytes :and the maxmum length of the PSK is 128 bytes.

-
recipientPublicKey: CryptoKey

A recipient public key.

-
senderKey?: CryptoKeyPair | CryptoKey

A sender private key or a key pair for Auth mode.

-
+
recipientPublicKey: CryptoKey

A recipient public key.

+
senderKey?: CryptoKeyPair | CryptoKey

A sender private key or a key pair for Auth mode.

+
diff --git a/common/docs/types/AeadId.html b/common/docs/types/AeadId.html index 6dd591703..8415c1d4f 100644 --- a/common/docs/types/AeadId.html +++ b/common/docs/types/AeadId.html @@ -1,2 +1,2 @@ AeadId | @hpke/common

Type Alias AeadId

AeadId: typeof AeadId[keyof typeof AeadId]

The type alias of the supported AEAD identifiers.

-
+
diff --git a/common/docs/types/KdfId.html b/common/docs/types/KdfId.html index 8f0b37fde..75b0da042 100644 --- a/common/docs/types/KdfId.html +++ b/common/docs/types/KdfId.html @@ -1,2 +1,2 @@ KdfId | @hpke/common

Type Alias KdfId

KdfId: typeof KdfId[keyof typeof KdfId]

The type alias of the supported KDF identifiers.

-
+
diff --git a/common/docs/types/KemId.html b/common/docs/types/KemId.html index 01d43561b..05970a50a 100644 --- a/common/docs/types/KemId.html +++ b/common/docs/types/KemId.html @@ -1,2 +1,2 @@ KemId | @hpke/common

Type Alias KemId

KemId: typeof KemId[keyof typeof KemId]

The type alias of the supported KEM identifiers.

-
+
diff --git a/common/docs/types/Mode.html b/common/docs/types/Mode.html index 4c84b0923..5ca5f4cb7 100644 --- a/common/docs/types/Mode.html +++ b/common/docs/types/Mode.html @@ -1,2 +1,2 @@ Mode | @hpke/common

Type Alias Mode

Mode: typeof Mode[keyof typeof Mode]

The type alias of the supported HPKE modes.

-
+
diff --git a/common/docs/variables/AEAD_USAGES.html b/common/docs/variables/AEAD_USAGES.html index cfbca1f94..ff388318e 100644 --- a/common/docs/variables/AEAD_USAGES.html +++ b/common/docs/variables/AEAD_USAGES.html @@ -1 +1 @@ -AEAD_USAGES | @hpke/common

Variable AEAD_USAGESConst

AEAD_USAGES: KeyUsage[] = ...
+AEAD_USAGES | @hpke/common

Variable AEAD_USAGESConst

AEAD_USAGES: KeyUsage[] = ...
diff --git a/common/docs/variables/AeadId-1.html b/common/docs/variables/AeadId-1.html index ff2e5865c..9e9abbfc9 100644 --- a/common/docs/variables/AeadId-1.html +++ b/common/docs/variables/AeadId-1.html @@ -1,2 +1,2 @@ AeadId | @hpke/common

Variable AeadIdConst

AeadId: {
    Aes128Gcm: 1;
    Aes256Gcm: 2;
    Chacha20Poly1305: 3;
    ExportOnly: 65535;
} = ...

The supported Authenticated Encryption with Associated Data (AEAD) identifiers.

-
+
diff --git a/common/docs/variables/EMPTY.html b/common/docs/variables/EMPTY.html index c8431fab8..5603f30e8 100644 --- a/common/docs/variables/EMPTY.html +++ b/common/docs/variables/EMPTY.html @@ -1 +1 @@ -EMPTY | @hpke/common

Variable EMPTYConst

EMPTY: Uint8Array = ...
+EMPTY | @hpke/common

Variable EMPTYConst

EMPTY: Uint8Array = ...
diff --git a/common/docs/variables/INPUT_LENGTH_LIMIT.html b/common/docs/variables/INPUT_LENGTH_LIMIT.html index 1995f5b29..c29632b20 100644 --- a/common/docs/variables/INPUT_LENGTH_LIMIT.html +++ b/common/docs/variables/INPUT_LENGTH_LIMIT.html @@ -1 +1 @@ -INPUT_LENGTH_LIMIT | @hpke/common

Variable INPUT_LENGTH_LIMITConst

INPUT_LENGTH_LIMIT = 8192
+INPUT_LENGTH_LIMIT | @hpke/common

Variable INPUT_LENGTH_LIMITConst

INPUT_LENGTH_LIMIT = 8192
diff --git a/common/docs/variables/KEM_USAGES.html b/common/docs/variables/KEM_USAGES.html index cd5b1c14b..ac25b711c 100644 --- a/common/docs/variables/KEM_USAGES.html +++ b/common/docs/variables/KEM_USAGES.html @@ -1 +1 @@ -KEM_USAGES | @hpke/common

Variable KEM_USAGESConst

KEM_USAGES: KeyUsage[] = ...
+KEM_USAGES | @hpke/common

Variable KEM_USAGESConst

KEM_USAGES: KeyUsage[] = ...
diff --git a/common/docs/variables/KdfId-1.html b/common/docs/variables/KdfId-1.html index 56be99f1d..a0bbaea9e 100644 --- a/common/docs/variables/KdfId-1.html +++ b/common/docs/variables/KdfId-1.html @@ -1,2 +1,2 @@ KdfId | @hpke/common

Variable KdfIdConst

KdfId: {
    HkdfSha256: 1;
    HkdfSha384: 2;
    HkdfSha512: 3;
} = ...

The supported Key Derivation Function (KDF) identifiers.

-
+
diff --git a/common/docs/variables/KemId-1.html b/common/docs/variables/KemId-1.html index a81461848..c728a6543 100644 --- a/common/docs/variables/KemId-1.html +++ b/common/docs/variables/KemId-1.html @@ -1,2 +1,2 @@ KemId | @hpke/common

Variable KemIdConst

KemId: {
    DhkemP256HkdfSha256: 16;
    DhkemP384HkdfSha384: 17;
    DhkemP521HkdfSha512: 18;
    DhkemSecp256k1HkdfSha256: 19;
    DhkemX25519HkdfSha256: 32;
    DhkemX448HkdfSha512: 33;
    HybridkemX25519Kyber768: 48;
    MlKem1024: 66;
    MlKem512: 64;
    MlKem768: 65;
    NotAssigned: 0;
    XWing: 25722;
} = ...

The supported Key Encapsulation Mechanism (KEM) identifiers.

-
+
diff --git a/common/docs/variables/LABEL_DKP_PRK.html b/common/docs/variables/LABEL_DKP_PRK.html index c2e28934a..81c394fe3 100644 --- a/common/docs/variables/LABEL_DKP_PRK.html +++ b/common/docs/variables/LABEL_DKP_PRK.html @@ -1 +1 @@ -LABEL_DKP_PRK | @hpke/common

Variable LABEL_DKP_PRKConst

LABEL_DKP_PRK: Uint8Array = ...
+LABEL_DKP_PRK | @hpke/common

Variable LABEL_DKP_PRKConst

LABEL_DKP_PRK: Uint8Array = ...
diff --git a/common/docs/variables/LABEL_SK.html b/common/docs/variables/LABEL_SK.html index 1bc75eefa..08177ed07 100644 --- a/common/docs/variables/LABEL_SK.html +++ b/common/docs/variables/LABEL_SK.html @@ -1 +1 @@ -LABEL_SK | @hpke/common

Variable LABEL_SKConst

LABEL_SK: Uint8Array = ...
+LABEL_SK | @hpke/common

Variable LABEL_SKConst

LABEL_SK: Uint8Array = ...
diff --git a/common/docs/variables/MINIMUM_PSK_LENGTH.html b/common/docs/variables/MINIMUM_PSK_LENGTH.html index 8d37a02e8..e14e7d910 100644 --- a/common/docs/variables/MINIMUM_PSK_LENGTH.html +++ b/common/docs/variables/MINIMUM_PSK_LENGTH.html @@ -1 +1 @@ -MINIMUM_PSK_LENGTH | @hpke/common

Variable MINIMUM_PSK_LENGTHConst

MINIMUM_PSK_LENGTH = 32
+MINIMUM_PSK_LENGTH | @hpke/common

Variable MINIMUM_PSK_LENGTHConst

MINIMUM_PSK_LENGTH = 32
diff --git a/common/docs/variables/Mode-1.html b/common/docs/variables/Mode-1.html index 0ecfb8550..81573ade9 100644 --- a/common/docs/variables/Mode-1.html +++ b/common/docs/variables/Mode-1.html @@ -1,2 +1,2 @@ Mode | @hpke/common

Variable ModeConst

Mode: {
    Auth: 2;
    AuthPsk: 3;
    Base: 0;
    Psk: 1;
} = ...

The supported HPKE modes.

-
+
diff --git a/common/docs/variables/SUITE_ID_HEADER_KEM.html b/common/docs/variables/SUITE_ID_HEADER_KEM.html index ac16dcb44..33609231c 100644 --- a/common/docs/variables/SUITE_ID_HEADER_KEM.html +++ b/common/docs/variables/SUITE_ID_HEADER_KEM.html @@ -1 +1 @@ -SUITE_ID_HEADER_KEM | @hpke/common

Variable SUITE_ID_HEADER_KEMConst

SUITE_ID_HEADER_KEM: Uint8Array = ...
+SUITE_ID_HEADER_KEM | @hpke/common

Variable SUITE_ID_HEADER_KEMConst

SUITE_ID_HEADER_KEM: Uint8Array = ...
diff --git a/core/docs/classes/Aes128Gcm.html b/core/docs/classes/Aes128Gcm.html index bb0f9201e..ebabe283d 100644 --- a/core/docs/classes/Aes128Gcm.html +++ b/core/docs/classes/Aes128Gcm.html @@ -4,17 +4,17 @@
import {
Aes128Gcm,
CipherSuite,
DhkemP256HkdfSha256,
HkdfSha256,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP256HkdfSha256(),
kdf: new HkdfSha256(),
aead: new Aes128Gcm(),
});
-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Properties

id: AeadId = AeadId.Aes128Gcm

AeadId.Aes128Gcm (0x0001)

-
keySize: number = 16

16

-
nonceSize: number = 12

12

-
tagSize: number = 16

16

-

Methods

keySize: number = 16

16

+
nonceSize: number = 12

12

+
tagSize: number = 16

16

+

Methods

+
diff --git a/core/docs/classes/Aes256Gcm.html b/core/docs/classes/Aes256Gcm.html index 5cbd3a8f3..aeea7ff53 100644 --- a/core/docs/classes/Aes256Gcm.html +++ b/core/docs/classes/Aes256Gcm.html @@ -5,17 +5,17 @@
import {
Aes256Gcm,
CipherSuite,
DhkemP256HkdfSha256,
HkdfSha256,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP256HkdfSha256(),
kdf: new HkdfSha256(),
aead: new Aes256Gcm(),
});
-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

id: AeadId = AeadId.Aes256Gcm

AeadId.Aes256Gcm (0x0002)

-
keySize: number = 32

32

-
nonceSize: number = 12

12

-
tagSize: number = 16

16

-

Methods

keySize: number = 32

32

+
nonceSize: number = 12

12

+
tagSize: number = 16

16

+

Methods

+
diff --git a/core/docs/classes/CipherSuite.html b/core/docs/classes/CipherSuite.html index e0aedf15a..823396b75 100644 --- a/core/docs/classes/CipherSuite.html +++ b/core/docs/classes/CipherSuite.html @@ -39,7 +39,7 @@
import { Aes128Gcm, HkdfSha256, CipherSuite } from "@hpke/core";
import { DhkemX25519HkdfSha256 } from "@hpke/dhkem-x25519";
const suite = new CipherSuite({
kem: new DhkemX25519HkdfSha256(),
kdf: new HkdfSha256(),
aead: new Aes128Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • CipherSuiteNative
    • CipherSuite

Constructors

Properties

Accessors

aead @@ -53,32 +53,32 @@

Constructors

Properties

_api: SubtleCrypto = undefined

Accessors

Methods

Properties

_api: SubtleCrypto = undefined

Accessors

Methods

  • Decrypts a message from a sender.

    +
  • Decrypts a message from a sender.

    If the error occurred, throws DecapError | DeserializeError | OpenError | ValidationError.

    Parameters

    • params: RecipientContextParams

      A set of parameters for building a recipient encryption context.

    • ct: ArrayBuffer

      An encrypted text as bytes to be decrypted.

    • aad: ArrayBuffer = EMPTY

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

+
diff --git a/core/docs/classes/DecapError.html b/core/docs/classes/DecapError.html index d6a99bee8..27246b562 100644 --- a/core/docs/classes/DecapError.html +++ b/core/docs/classes/DecapError.html @@ -1,7 +1,7 @@ DecapError | @hpke/core

Class DecapError

decap() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/DeriveKeyPairError.html b/core/docs/classes/DeriveKeyPairError.html index a3fb65686..b2250170a 100644 --- a/core/docs/classes/DeriveKeyPairError.html +++ b/core/docs/classes/DeriveKeyPairError.html @@ -1,7 +1,7 @@ DeriveKeyPairError | @hpke/core

Class DeriveKeyPairError

Key pair derivation failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/DeserializeError.html b/core/docs/classes/DeserializeError.html index 6fd114e61..05ceecf4d 100644 --- a/core/docs/classes/DeserializeError.html +++ b/core/docs/classes/DeserializeError.html @@ -1,7 +1,7 @@ DeserializeError | @hpke/core

Class DeserializeError

Public or private key deserialization failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/DhkemP256HkdfSha256.html b/core/docs/classes/DhkemP256HkdfSha256.html index 26b1741d1..550246985 100644 --- a/core/docs/classes/DhkemP256HkdfSha256.html +++ b/core/docs/classes/DhkemP256HkdfSha256.html @@ -5,7 +5,7 @@
import {
Aes128Gcm,
CipherSuite,
DhkemP256HkdfSha256,
HkdfSha256,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP256HkdfSha256(),
kdf: new HkdfSha256(),
aead: new Aes128Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • DhkemP256HkdfSha256Native
    • DhkemP256HkdfSha256

Constructors

Properties

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 65
id: KemId = KemId.DhkemP256HkdfSha256
privateKeySize: number = 32
publicKeySize: number = 65
secretSize: number = 32

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 65
id: KemId = KemId.DhkemP256HkdfSha256
privateKeySize: number = 32
publicKeySize: number = 65
secretSize: number = 32

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Generates an ephemeral, fixed-length symmetric key and +

  • Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Generates a key pair.

    +
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -65,14 +65,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

+
diff --git a/core/docs/classes/DhkemP384HkdfSha384.html b/core/docs/classes/DhkemP384HkdfSha384.html index 3f8ea2c70..b8b1caa6a 100644 --- a/core/docs/classes/DhkemP384HkdfSha384.html +++ b/core/docs/classes/DhkemP384HkdfSha384.html @@ -5,7 +5,7 @@
import {
Aes128Gcm,
CipherSuite,
DhkemP384HkdfSha384,
HkdfSha384,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP384HkdfSha384(),
kdf: new HkdfSha384(),
aead: new Aes128Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • DhkemP384HkdfSha384Native
    • DhkemP384HkdfSha384

Constructors

Properties

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 97
id: KemId = KemId.DhkemP384HkdfSha384
privateKeySize: number = 48
publicKeySize: number = 97
secretSize: number = 48

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 97
id: KemId = KemId.DhkemP384HkdfSha384
privateKeySize: number = 48
publicKeySize: number = 97
secretSize: number = 48

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Generates an ephemeral, fixed-length symmetric key and +

  • Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Generates a key pair.

    +
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -65,14 +65,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

+
diff --git a/core/docs/classes/DhkemP521HkdfSha512.html b/core/docs/classes/DhkemP521HkdfSha512.html index 48f3f49cc..f9557339c 100644 --- a/core/docs/classes/DhkemP521HkdfSha512.html +++ b/core/docs/classes/DhkemP521HkdfSha512.html @@ -5,7 +5,7 @@
import {
Aes256Gcm,
CipherSuite,
DhkemP521HkdfSha512,
HkdfSha512,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP521HkdfSha512(),
kdf: new HkdfSha512(),
aead: new Aes256Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • DhkemP521HkdfSha512Native
    • DhkemP521HkdfSha512

Constructors

Properties

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 133
id: KemId = KemId.DhkemP521HkdfSha512
privateKeySize: number = 64
publicKeySize: number = 133
secretSize: number = 64

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 133
id: KemId = KemId.DhkemP521HkdfSha512
privateKeySize: number = 64
publicKeySize: number = 133
secretSize: number = 64

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Generates an ephemeral, fixed-length symmetric key and +

  • Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Generates a key pair.

    +
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -65,14 +65,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

+
diff --git a/core/docs/classes/DhkemX25519HkdfSha256.html b/core/docs/classes/DhkemX25519HkdfSha256.html index 983a296be..e3de7a540 100644 --- a/core/docs/classes/DhkemX25519HkdfSha256.html +++ b/core/docs/classes/DhkemX25519HkdfSha256.html @@ -4,7 +4,7 @@
import {
Aes128Gcm,
CipherSuite,
HkdfSha256,
DhkemX25519HkdfSha256,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemX25519HkdfSha256(),
kdf: new HkdfSha256(),
aead: new Aes128Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • Dhkem
    • DhkemX25519HkdfSha256

Constructors

Properties

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 32

32

-
id: KemId = KemId.DhkemX25519HkdfSha256

KemId.DhkemX25519HkdfSha256 (0x0020)

-
privateKeySize: number = 32

32

-
publicKeySize: number = 32

32

-
secretSize: number = 32

32

-

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 32

32

+
id: KemId = KemId.DhkemX25519HkdfSha256

KemId.DhkemX25519HkdfSha256 (0x0020)

+
privateKeySize: number = 32

32

+
publicKeySize: number = 32

32

+
secretSize: number = 32

32

+

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Generates an ephemeral, fixed-length symmetric key and +

  • Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -69,14 +69,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

+
diff --git a/core/docs/classes/DhkemX448HkdfSha512.html b/core/docs/classes/DhkemX448HkdfSha512.html index 75502a67b..a89d4e3c8 100644 --- a/core/docs/classes/DhkemX448HkdfSha512.html +++ b/core/docs/classes/DhkemX448HkdfSha512.html @@ -4,7 +4,7 @@
import {
Aes256Gcm,
CipherSuite,
HkdfSha512,
DhkemX448HkdfSha512,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemX448HkdfSha512(),
kdf: new HkdfSha512(),
aead: new Aes256Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • Dhkem
    • DhkemX448HkdfSha512

Constructors

Properties

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 56

56

-
id: KemId = KemId.DhkemX448HkdfSha512

KemId.DhkemX448HkdfSha512 (0x0021)

-
privateKeySize: number = 56

56

-
publicKeySize: number = 56

56

-
secretSize: number = 64

64

-

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_prim: DhkemPrimitives
encSize: number = 56

56

+
id: KemId = KemId.DhkemX448HkdfSha512

KemId.DhkemX448HkdfSha512 (0x0021)

+
privateKeySize: number = 56

56

+
publicKeySize: number = 56

56

+
secretSize: number = 64

64

+

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

  • Generates an ephemeral, fixed-length symmetric key and +

  • Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -69,14 +69,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

+
diff --git a/core/docs/classes/EncapError.html b/core/docs/classes/EncapError.html index 65d63c21d..2bc7f0a22 100644 --- a/core/docs/classes/EncapError.html +++ b/core/docs/classes/EncapError.html @@ -1,7 +1,7 @@ EncapError | @hpke/core

Class EncapError

encap() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/ExportError.html b/core/docs/classes/ExportError.html index a300091c9..ace4643a9 100644 --- a/core/docs/classes/ExportError.html +++ b/core/docs/classes/ExportError.html @@ -1,7 +1,7 @@ ExportError | @hpke/core

Class ExportError

Secret export failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/ExportOnly.html b/core/docs/classes/ExportOnly.html index b8273030f..a94d3e018 100644 --- a/core/docs/classes/ExportOnly.html +++ b/core/docs/classes/ExportOnly.html @@ -5,16 +5,16 @@
import {
CipherSuite,
DhkemP256HkdfSha256,
ExportOnly,
HkdfSha256,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP256HkdfSha256(),
kdf: new HkdfSha256(),
aead: new ExportOnly(),
});
-

Implements

Constructors

Implements

Constructors

Properties

id: AeadId = AeadId.ExportOnly

The KDF identifier.

-
keySize: number = 0

The length in bytes of an AEAD key (Nk).

-
nonceSize: number = 0

The length in bytes of an AEAD nonce (Nn).

-
tagSize: number = 0

The length in bytes of an AEAD authentication tag (Nt).

-

Methods

keySize: number = 0

The length in bytes of an AEAD key (Nk).

+
nonceSize: number = 0

The length in bytes of an AEAD nonce (Nn).

+
tagSize: number = 0

The length in bytes of an AEAD authentication tag (Nt).

+

Methods

+
diff --git a/core/docs/classes/HkdfSha256.html b/core/docs/classes/HkdfSha256.html index d77f626c8..f7785120d 100644 --- a/core/docs/classes/HkdfSha256.html +++ b/core/docs/classes/HkdfSha256.html @@ -7,7 +7,7 @@
import {
Aes128Gcm,
CipherSuite,
DhkemP256HkdfSha256,
HkdfSha256,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP256HkdfSha256(),
kdf: new HkdfSha256(),
aead: new Aes128Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • HkdfSha256Native
    • HkdfSha256

Constructors

Properties

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

-
hashSize: number = 32

32

-
id: KdfId = KdfId.HkdfSha256

KdfId.HkdfSha256 (0x0001)

-

Methods

  • Builds a labeled input keying material.

    +

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

+
hashSize: number = 32

32

+
id: KdfId = KdfId.HkdfSha256

KdfId.HkdfSha256 (0x0001)

+

Methods

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    +
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    +
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    +
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    +
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/core/docs/classes/HkdfSha384.html b/core/docs/classes/HkdfSha384.html index 030ffe84a..aa4c1b563 100644 --- a/core/docs/classes/HkdfSha384.html +++ b/core/docs/classes/HkdfSha384.html @@ -7,7 +7,7 @@
import {
Aes128Gcm,
CipherSuite,
DhkemP384HkdfSha384,
HkdfSha384,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP384HkdfSha384(),
kdf: new HkdfSha384(),
aead: new Aes128Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • HkdfSha384Native
    • HkdfSha384

Constructors

Properties

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

-
hashSize: number = 48

48

-
id: KdfId = KdfId.HkdfSha384

KdfId.HkdfSha384 (0x0002)

-

Methods

  • Builds a labeled input keying material.

    +

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

+
hashSize: number = 48

48

+
id: KdfId = KdfId.HkdfSha384

KdfId.HkdfSha384 (0x0002)

+

Methods

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    +
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    +
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    +
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    +
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/core/docs/classes/HkdfSha512.html b/core/docs/classes/HkdfSha512.html index 4bde8eb5f..c682afabb 100644 --- a/core/docs/classes/HkdfSha512.html +++ b/core/docs/classes/HkdfSha512.html @@ -7,7 +7,7 @@
import {
Aes256Gcm,
CipherSuite,
DhkemP521HkdfSha512,
HkdfSha512,
} from "@hpke/core";

const suite = new CipherSuite({
kem: new DhkemP521HkdfSha512(),
kdf: new HkdfSha512(),
aead: new Aes256Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • HkdfSha512Native
    • HkdfSha512

Constructors

Properties

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

-
hashSize: number = 64

64

-
id: KdfId = KdfId.HkdfSha512

KdfId.HkdfSha512 (0x0003)

-

Methods

  • Builds a labeled input keying material.

    +

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

+
hashSize: number = 64

64

+
id: KdfId = KdfId.HkdfSha512

KdfId.HkdfSha512 (0x0003)

+

Methods

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    +
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    +
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    +
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    +
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/core/docs/classes/HpkeError.html b/core/docs/classes/HpkeError.html index 505c001b2..5ad7101a0 100644 --- a/core/docs/classes/HpkeError.html +++ b/core/docs/classes/HpkeError.html @@ -1,7 +1,7 @@ HpkeError | @hpke/core

Class HpkeError

The base error class of hpke-js.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/InvalidParamError.html b/core/docs/classes/InvalidParamError.html index 3bdf7d023..36d0ece30 100644 --- a/core/docs/classes/InvalidParamError.html +++ b/core/docs/classes/InvalidParamError.html @@ -1,7 +1,7 @@ InvalidParamError | @hpke/core

Class InvalidParamError

Invalid parameter.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/MessageLimitReachedError.html b/core/docs/classes/MessageLimitReachedError.html index bf2a9e8b6..b110c8570 100644 --- a/core/docs/classes/MessageLimitReachedError.html +++ b/core/docs/classes/MessageLimitReachedError.html @@ -1,7 +1,7 @@ MessageLimitReachedError | @hpke/core

Class MessageLimitReachedError

Sequence number overflow on the encryption context.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/NotSupportedError.html b/core/docs/classes/NotSupportedError.html index edd7aea16..886a90442 100644 --- a/core/docs/classes/NotSupportedError.html +++ b/core/docs/classes/NotSupportedError.html @@ -1,7 +1,7 @@ NotSupportedError | @hpke/core

Class NotSupportedError

Not supported failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/OpenError.html b/core/docs/classes/OpenError.html index c1b352e57..e0c418e02 100644 --- a/core/docs/classes/OpenError.html +++ b/core/docs/classes/OpenError.html @@ -1,7 +1,7 @@ OpenError | @hpke/core

Class OpenError

open() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/SealError.html b/core/docs/classes/SealError.html index 5655fdcbd..9cd6688a0 100644 --- a/core/docs/classes/SealError.html +++ b/core/docs/classes/SealError.html @@ -1,7 +1,7 @@ SealError | @hpke/core

Class SealError

seal() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/SerializeError.html b/core/docs/classes/SerializeError.html index f2cd81e9b..d3d9a351f 100644 --- a/core/docs/classes/SerializeError.html +++ b/core/docs/classes/SerializeError.html @@ -1,7 +1,7 @@ SerializeError | @hpke/core

Class SerializeError

Public or private key serialization failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/classes/ValidationError.html b/core/docs/classes/ValidationError.html index b30dfcd85..b1dc43e99 100644 --- a/core/docs/classes/ValidationError.html +++ b/core/docs/classes/ValidationError.html @@ -1,7 +1,7 @@ ValidationError | @hpke/core

Class ValidationError

KEM input or output validation failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/core/docs/interfaces/AeadEncryptionContext.html b/core/docs/interfaces/AeadEncryptionContext.html index 433408db2..8c64e095d 100644 --- a/core/docs/interfaces/AeadEncryptionContext.html +++ b/core/docs/interfaces/AeadEncryptionContext.html @@ -1,14 +1,14 @@ AeadEncryptionContext | @hpke/core

Interface AeadEncryptionContext

The AEAD encryption context interface.

-
interface AeadEncryptionContext {
    open(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
    seal(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
}

Methods

interface AeadEncryptionContext {
    open(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
    seal(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
}

Methods

Methods

  • Decrypts data with an initialization vector and additional authenticated data.

    Parameters

    • iv: ArrayBuffer

      An initialization vector.

    • data: ArrayBuffer

      A plain text as bytes to be encrypted.

    • aad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

    -
  • Encrypts data with an initialization vector and additional authenticated data.

    Parameters

    • iv: ArrayBuffer

      An initialization vector.

    • data: ArrayBuffer

      A plain text as bytes to be encrypted.

    • aad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A cipher text as bytes.

    -
+
diff --git a/core/docs/interfaces/AeadInterface.html b/core/docs/interfaces/AeadInterface.html index 2784b1266..71d52ba3c 100644 --- a/core/docs/interfaces/AeadInterface.html +++ b/core/docs/interfaces/AeadInterface.html @@ -1,14 +1,14 @@ AeadInterface | @hpke/core

Interface AeadInterface

The AEAD interface.

-
interface AeadInterface {
    id: AeadId;
    keySize: number;
    nonceSize: number;
    tagSize: number;
    createEncryptionContext(key: ArrayBuffer): AeadEncryptionContext;
}

Implemented by

Properties

id +
interface AeadInterface {
    id: AeadId;
    keySize: number;
    nonceSize: number;
    tagSize: number;
    createEncryptionContext(key: ArrayBuffer): AeadEncryptionContext;
}

Implemented by

Properties

id: AeadId

The KDF identifier.

-
keySize: number

The length in bytes of an AEAD key (Nk).

-
nonceSize: number

The length in bytes of an AEAD nonce (Nn).

-
tagSize: number

The length in bytes of an AEAD authentication tag (Nt).

-

Methods

keySize: number

The length in bytes of an AEAD key (Nk).

+
nonceSize: number

The length in bytes of an AEAD nonce (Nn).

+
tagSize: number

The length in bytes of an AEAD authentication tag (Nt).

+

Methods

+
diff --git a/core/docs/interfaces/CipherSuiteParams.html b/core/docs/interfaces/CipherSuiteParams.html index 8a68c5324..c4f8d5e61 100644 --- a/core/docs/interfaces/CipherSuiteParams.html +++ b/core/docs/interfaces/CipherSuiteParams.html @@ -1,8 +1,8 @@ CipherSuiteParams | @hpke/core

Interface CipherSuiteParams

The parameters used to configure the CipherSuite.

-
interface CipherSuiteParams {
    aead: AeadId | AeadInterface;
    kdf: KdfId | KdfInterface;
    kem: KemId | KemInterface;
}

Properties

interface CipherSuiteParams {
    aead: AeadId | AeadInterface;
    kdf: KdfId | KdfInterface;
    kem: KemId | KemInterface;
}

Properties

Properties

The AEAD (Authenticated Encryption with Addtional Data) identifier or the AEAD object.

-

The KDF (Key Derivation Function) identifier or the KDF object.

-

The KEM (Key Encapsulation Mechanism) identifier or the KEM object.

-
+

The KDF (Key Derivation Function) identifier or the KDF object.

+

The KEM (Key Encapsulation Mechanism) identifier or the KEM object.

+
diff --git a/core/docs/interfaces/CipherSuiteSealResponse.html b/core/docs/interfaces/CipherSuiteSealResponse.html index c4737a7e4..1541afd00 100644 --- a/core/docs/interfaces/CipherSuiteSealResponse.html +++ b/core/docs/interfaces/CipherSuiteSealResponse.html @@ -1,6 +1,6 @@ CipherSuiteSealResponse | @hpke/core

Interface CipherSuiteSealResponse

The response of the single-shot seal API.

-
interface CipherSuiteSealResponse {
    ct: ArrayBuffer;
    enc: ArrayBuffer;
}

Properties

ct +
interface CipherSuiteSealResponse {
    ct: ArrayBuffer;
    enc: ArrayBuffer;
}

Properties

Properties

ct: ArrayBuffer

The ciphertext as bytes.

-
enc: ArrayBuffer

The encapsulated key.

-
+
enc: ArrayBuffer

The encapsulated key.

+
diff --git a/core/docs/interfaces/EncryptionContext.html b/core/docs/interfaces/EncryptionContext.html index 9b5ebb33b..fc1747650 100644 --- a/core/docs/interfaces/EncryptionContext.html +++ b/core/docs/interfaces/EncryptionContext.html @@ -1,5 +1,5 @@ EncryptionContext | @hpke/core

Interface EncryptionContext

The encryption context interface for a recipient and a sender.

-
interface EncryptionContext {
    export(exporterContext: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    open(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
    seal(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Methods

interface EncryptionContext {
    export(exporterContext: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    open(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
    seal(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Methods

Methods

  • Exports a secret using a variable-length pseudorandom function.

    @@ -8,16 +8,16 @@
  • len: number

    A desired length in bytes of the output secret.

Returns Promise<ArrayBuffer>

A secret string as bytes.

ExportError

-
  • Decrypts data.

    +
  • Decrypts data.

    If the error occurred, throws OpenError.

    Parameters

    • data: ArrayBuffer

      An encrypted text as bytes to be decrypted.

    • Optionalaad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

    OpenError

    -
  • Encrypts data.

    +
+
diff --git a/core/docs/interfaces/JsonWebKeyExtended.html b/core/docs/interfaces/JsonWebKeyExtended.html index 86fed1b33..0f72eeac3 100644 --- a/core/docs/interfaces/JsonWebKeyExtended.html +++ b/core/docs/interfaces/JsonWebKeyExtended.html @@ -2,7 +2,7 @@ which are not supported by the current JsonWebKey. Both of them are defined for the newly defined JSON WWb Key type AKP (Algorithm Key Pair), which is used to express Public and Private Keys for use with Algorithms.

-
interface JsonWebKeyExtended {
    alg?: string;
    crv?: string;
    d?: string;
    dp?: string;
    dq?: string;
    e?: string;
    ext?: boolean;
    k?: string;
    key_ops?: string[];
    kty?: string;
    n?: string;
    oth?: RsaOtherPrimesInfo[];
    p?: string;
    priv?: string;
    pub?: string;
    q?: string;
    qi?: string;
    use?: string;
    x?: string;
    y?: string;
}

Hierarchy

Properties

interface JsonWebKeyExtended {
    alg?: string;
    crv?: string;
    d?: string;
    dp?: string;
    dq?: string;
    e?: string;
    ext?: boolean;
    k?: string;
    key_ops?: string[];
    kty?: string;
    n?: string;
    oth?: RsaOtherPrimesInfo[];
    p?: string;
    priv?: string;
    pub?: string;
    q?: string;
    qi?: string;
    use?: string;
    x?: string;
    y?: string;
}

Hierarchy

  • JsonWebKey
    • JsonWebKeyExtended

Properties

alg? crv? d? dp? @@ -23,5 +23,5 @@ x? y?

Properties

alg?: string
crv?: string
d?: string
dp?: string
dq?: string
e?: string
ext?: boolean
k?: string
key_ops?: string[]
kty?: string
n?: string
oth?: RsaOtherPrimesInfo[]
p?: string
priv?: string

The private key in base64url encoding, which is used with the 'AKP' key type.

-
pub?: string

The public key in base64url encoding, which is used with the 'AKP' key type.

-
q?: string
qi?: string
use?: string
x?: string
y?: string
+
pub?: string

The public key in base64url encoding, which is used with the 'AKP' key type.

+
q?: string
qi?: string
use?: string
x?: string
y?: string
diff --git a/core/docs/interfaces/KdfInterface.html b/core/docs/interfaces/KdfInterface.html index ed5c41ace..f73026305 100644 --- a/core/docs/interfaces/KdfInterface.html +++ b/core/docs/interfaces/KdfInterface.html @@ -1,5 +1,5 @@ KdfInterface | @hpke/core

Interface KdfInterface

The KDF interface.

-
interface KdfInterface {
    hashSize: number;
    id: KdfId;
    buildLabeledIkm(label: Uint8Array, ikm: Uint8Array): Uint8Array;
    buildLabeledInfo(label: Uint8Array, info: Uint8Array, len: number): Uint8Array;
    expand(prk: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    extract(salt: ArrayBuffer, ikm: ArrayBuffer): Promise<ArrayBuffer>;
    extractAndExpand(salt: ArrayBuffer, ikm: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    init(suiteId: Uint8Array): void;
    labeledExpand(prk: ArrayBuffer, label: Uint8Array, info: Uint8Array, len: number): Promise<ArrayBuffer>;
    labeledExtract(salt: ArrayBuffer, label: Uint8Array, ikm: Uint8Array): Promise<ArrayBuffer>;
}

Properties

interface KdfInterface {
    hashSize: number;
    id: KdfId;
    buildLabeledIkm(label: Uint8Array, ikm: Uint8Array): Uint8Array;
    buildLabeledInfo(label: Uint8Array, info: Uint8Array, len: number): Uint8Array;
    expand(prk: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    extract(salt: ArrayBuffer, ikm: ArrayBuffer): Promise<ArrayBuffer>;
    extractAndExpand(salt: ArrayBuffer, ikm: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    init(suiteId: Uint8Array): void;
    labeledExpand(prk: ArrayBuffer, label: Uint8Array, info: Uint8Array, len: number): Promise<ArrayBuffer>;
    labeledExtract(salt: ArrayBuffer, label: Uint8Array, ikm: Uint8Array): Promise<ArrayBuffer>;
}

Properties

hashSize: number

The output size of the extract() function in bytes (Nh).

-
id: KdfId

The KDF identifier.

-

Methods

id: KdfId

The KDF identifier.

+

Methods

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/core/docs/interfaces/KemInterface.html b/core/docs/interfaces/KemInterface.html index 247f50b2b..a59e08078 100644 --- a/core/docs/interfaces/KemInterface.html +++ b/core/docs/interfaces/KemInterface.html @@ -1,5 +1,5 @@ KemInterface | @hpke/core

Interface KemInterface

The KEM interface.

-
interface KemInterface {
    encSize: number;
    id: KemId;
    privateKeySize: number;
    publicKeySize: number;
    secretSize: number;
    decap(params: RecipientContextParams): Promise<ArrayBuffer>;
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    encap(params: SenderContextParams): Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Properties

interface KemInterface {
    encSize: number;
    id: KemId;
    privateKeySize: number;
    publicKeySize: number;
    secretSize: number;
    decap(params: RecipientContextParams): Promise<ArrayBuffer>;
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    encap(params: SenderContextParams): Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Properties

encSize: number

The length in bytes of an encapsulated key produced by this KEM (Nenc).

-
id: KemId

The KEM identifier.

-
privateKeySize: number

The length in bytes of an encoded private key for this KEM (Nsk).

-
publicKeySize: number

The length in bytes of an encoded public key for this KEM (Npk).

-
secretSize: number

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

-

Methods

id: KemId

The KEM identifier.

+
privateKeySize: number

The length in bytes of an encoded private key for this KEM (Nsk).

+
publicKeySize: number

The length in bytes of an encoded public key for this KEM (Npk).

+
secretSize: number

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

+

Methods

  • Derives a key pair from the byte string ikm.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +

Returns Promise<CryptoKey>

A public or private CryptoKey.

+
diff --git a/core/docs/interfaces/PreSharedKey.html b/core/docs/interfaces/PreSharedKey.html index ed48b7285..910a1f822 100644 --- a/core/docs/interfaces/PreSharedKey.html +++ b/core/docs/interfaces/PreSharedKey.html @@ -1,6 +1,6 @@ PreSharedKey | @hpke/core

Interface PreSharedKey

The pre-shared key interface.

-
interface PreSharedKey {
    id: ArrayBuffer;
    key: ArrayBuffer;
}

Properties

id +
interface PreSharedKey {
    id: ArrayBuffer;
    key: ArrayBuffer;
}

Properties

Properties

id: ArrayBuffer

The key identifier.

-
key: ArrayBuffer

The body of the pre-shared key.

-
+
key: ArrayBuffer

The body of the pre-shared key.

+
diff --git a/core/docs/interfaces/RecipientContextParams.html b/core/docs/interfaces/RecipientContextParams.html index 695d219f9..4ff125431 100644 --- a/core/docs/interfaces/RecipientContextParams.html +++ b/core/docs/interfaces/RecipientContextParams.html @@ -1,13 +1,13 @@ RecipientContextParams | @hpke/core

Interface RecipientContextParams

The parameters used to setup the RecipientContext.

-
interface RecipientContextParams {
    enc: ArrayBuffer;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientKey: CryptoKeyPair | CryptoKey;
    senderPublicKey?: CryptoKey;
}

Hierarchy

  • KeyScheduleParams
    • RecipientContextParams

Properties

enc +
interface RecipientContextParams {
    enc: ArrayBuffer;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientKey: CryptoKeyPair | CryptoKey;
    senderPublicKey?: CryptoKey;
}

Hierarchy

  • KeyScheduleParams
    • RecipientContextParams

Properties

enc: ArrayBuffer

A byte string of the encapsulated key received from a sender.

-
info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

-

A pre-shared key (PSK) held by both the sender and recipient. +

info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

+

A pre-shared key (PSK) held by both the sender and recipient. The PSK should have at least 32 bytes :and the maxmum length of the PSK is 128 bytes.

-
recipientKey: CryptoKeyPair | CryptoKey

A recipient private key or a key pair.

-
senderPublicKey?: CryptoKey

A sender public key for Auth mode.

-
+
recipientKey: CryptoKeyPair | CryptoKey

A recipient private key or a key pair.

+
senderPublicKey?: CryptoKey

A sender public key for Auth mode.

+
diff --git a/core/docs/interfaces/SenderContext.html b/core/docs/interfaces/SenderContext.html index 0c3e81e9c..3aff58658 100644 --- a/core/docs/interfaces/SenderContext.html +++ b/core/docs/interfaces/SenderContext.html @@ -1,25 +1,25 @@ SenderContext | @hpke/core

Interface SenderContext

The sender encryption context.

-
interface SenderContext {
    enc: ArrayBuffer;
    export(exporterContext: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    open(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
    seal(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Properties

enc +
interface SenderContext {
    enc: ArrayBuffer;
    export(exporterContext: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    open(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
    seal(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Properties

Methods

Properties

enc: ArrayBuffer

The encapsulated key generated by the sender.

-

Methods

Methods

  • Exports a secret using a variable-length pseudorandom function.

    If the error occurred, throws ExportError.

    Parameters

    • exporterContext: ArrayBuffer

      An exporter context string as bytes. The maximum length is 128 bytes.

    • len: number

      A desired length in bytes of the output secret.

    Returns Promise<ArrayBuffer>

    A secret string as bytes.

    ExportError

    -
  • Decrypts data.

    +
  • Decrypts data.

    If the error occurred, throws OpenError.

    Parameters

    • data: ArrayBuffer

      An encrypted text as bytes to be decrypted.

    • Optionalaad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

    OpenError

    -
  • Encrypts data.

    +
+
diff --git a/core/docs/interfaces/SenderContextParams.html b/core/docs/interfaces/SenderContextParams.html index 689c7be6d..fdde7719a 100644 --- a/core/docs/interfaces/SenderContextParams.html +++ b/core/docs/interfaces/SenderContextParams.html @@ -1,13 +1,13 @@ SenderContextParams | @hpke/core

Interface SenderContextParams

The parameters used to setup the SenderContext.

-
interface SenderContextParams {
    ekm?: ArrayBuffer | CryptoKeyPair;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientPublicKey: CryptoKey;
    senderKey?: CryptoKeyPair | CryptoKey;
}

Hierarchy

  • KeyScheduleParams
    • SenderContextParams

Properties

interface SenderContextParams {
    ekm?: ArrayBuffer | CryptoKeyPair;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientPublicKey: CryptoKey;
    senderKey?: CryptoKeyPair | CryptoKey;
}

Hierarchy

  • KeyScheduleParams
    • SenderContextParams

Properties

ekm?: ArrayBuffer | CryptoKeyPair

DO NOT USE. FOR DEBUGGING/TESTING PURPOSES ONLY.

-
info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

-

A pre-shared key (PSK) held by both the sender and recipient. +

info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

+

A pre-shared key (PSK) held by both the sender and recipient. The PSK should have at least 32 bytes :and the maxmum length of the PSK is 128 bytes.

-
recipientPublicKey: CryptoKey

A recipient public key.

-
senderKey?: CryptoKeyPair | CryptoKey

A sender private key or a key pair for Auth mode.

-
+
recipientPublicKey: CryptoKey

A recipient public key.

+
senderKey?: CryptoKeyPair | CryptoKey

A sender private key or a key pair for Auth mode.

+
diff --git a/core/docs/types/AeadId.html b/core/docs/types/AeadId.html index 1c46216c4..1f54e93a5 100644 --- a/core/docs/types/AeadId.html +++ b/core/docs/types/AeadId.html @@ -1,2 +1,2 @@ AeadId | @hpke/core

Type Alias AeadId

AeadId: typeof AeadId[keyof typeof AeadId]

The type alias of the supported AEAD identifiers.

-
+
diff --git a/core/docs/types/KdfId.html b/core/docs/types/KdfId.html index 5db72ee90..e5e1d0c74 100644 --- a/core/docs/types/KdfId.html +++ b/core/docs/types/KdfId.html @@ -1,2 +1,2 @@ KdfId | @hpke/core

Type Alias KdfId

KdfId: typeof KdfId[keyof typeof KdfId]

The type alias of the supported KDF identifiers.

-
+
diff --git a/core/docs/types/KemId.html b/core/docs/types/KemId.html index 9069d5917..4a64bdfd7 100644 --- a/core/docs/types/KemId.html +++ b/core/docs/types/KemId.html @@ -1,2 +1,2 @@ KemId | @hpke/core

Type Alias KemId

KemId: typeof KemId[keyof typeof KemId]

The type alias of the supported KEM identifiers.

-
+
diff --git a/core/docs/types/RecipientContext.html b/core/docs/types/RecipientContext.html index ead81a307..e2d63c120 100644 --- a/core/docs/types/RecipientContext.html +++ b/core/docs/types/RecipientContext.html @@ -1,2 +1,2 @@ RecipientContext | @hpke/core

Type Alias RecipientContext

RecipientContext: EncryptionContext

The recipient encryption context.

-
+
diff --git a/core/docs/variables/AeadId-1.html b/core/docs/variables/AeadId-1.html index 0391267b7..ea5e6cdc6 100644 --- a/core/docs/variables/AeadId-1.html +++ b/core/docs/variables/AeadId-1.html @@ -1,2 +1,2 @@ AeadId | @hpke/core

Variable AeadIdConst

AeadId: {
    Aes128Gcm: 1;
    Aes256Gcm: 2;
    Chacha20Poly1305: 3;
    ExportOnly: 65535;
} = ...

The supported Authenticated Encryption with Associated Data (AEAD) identifiers.

-
+
diff --git a/core/docs/variables/KdfId-1.html b/core/docs/variables/KdfId-1.html index 377e3c02e..24c640704 100644 --- a/core/docs/variables/KdfId-1.html +++ b/core/docs/variables/KdfId-1.html @@ -1,2 +1,2 @@ KdfId | @hpke/core

Variable KdfIdConst

KdfId: {
    HkdfSha256: 1;
    HkdfSha384: 2;
    HkdfSha512: 3;
} = ...

The supported Key Derivation Function (KDF) identifiers.

-
+
diff --git a/core/docs/variables/KemId-1.html b/core/docs/variables/KemId-1.html index 62069ca9b..d0cd47b0d 100644 --- a/core/docs/variables/KemId-1.html +++ b/core/docs/variables/KemId-1.html @@ -1,2 +1,2 @@ KemId | @hpke/core

Variable KemIdConst

KemId: {
    DhkemP256HkdfSha256: 16;
    DhkemP384HkdfSha384: 17;
    DhkemP521HkdfSha512: 18;
    DhkemSecp256k1HkdfSha256: 19;
    DhkemX25519HkdfSha256: 32;
    DhkemX448HkdfSha512: 33;
    HybridkemX25519Kyber768: 48;
    MlKem1024: 66;
    MlKem512: 64;
    MlKem768: 65;
    NotAssigned: 0;
    XWing: 25722;
} = ...

The supported Key Encapsulation Mechanism (KEM) identifiers.

-
+
diff --git a/dhkem-secp256k1/docs/classes/DhkemSecp256k1HkdfSha256.html b/dhkem-secp256k1/docs/classes/DhkemSecp256k1HkdfSha256.html index 2242b2746..a7d51044e 100644 --- a/dhkem-secp256k1/docs/classes/DhkemSecp256k1HkdfSha256.html +++ b/dhkem-secp256k1/docs/classes/DhkemSecp256k1HkdfSha256.html @@ -8,7 +8,7 @@

Note that it is experimental and not standardized.

-

Hierarchy

Constructors

Hierarchy

  • Dhkem
    • DhkemSecp256k1HkdfSha256

Constructors

Properties

Constructors

Properties

_kdf: KdfInterface
_prim: DhkemPrimitives
encSize: number = 33

33

-
id: KemId = KemId.DhkemSecp256k1HkdfSha256

KemId.DhkemSecp256k1HkdfSha256 (0x0013) EXPERIMENTAL

-
privateKeySize: number = 32

32

-
publicKeySize: number = 33

33

-
secretSize: number = 32

32

-

Methods

  • Experimental

    Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_kdf: KdfInterface
_prim: DhkemPrimitives
encSize: number = 33

33

+
id: KemId = KemId.DhkemSecp256k1HkdfSha256

KemId.DhkemSecp256k1HkdfSha256 (0x0013) EXPERIMENTAL

+
privateKeySize: number = 32

32

+
publicKeySize: number = 33

33

+
secretSize: number = 32

32

+

Methods

  • Experimental

    Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    • params: RecipientContextParams

      A set of parameters for the recipient context.

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Experimental

    Derives a key pair from the byte string ikm.

    +
  • Experimental

    Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

    DeriveKeyPairError

    -
  • Experimental

    Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Experimental

    Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Experimental

    Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Experimental

    Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Experimental

    Generates an ephemeral, fixed-length symmetric key and +

  • Experimental

    Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    • params: SenderContextParams

      A set of parameters for the sender context.

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Experimental

    Generates a key pair.

    +
  • Experimental

    Generates a key pair.

    If the error occurred, throws NotSupportedError.

    Returns Promise<CryptoKeyPair>

    A key pair generated.

    NotSupportedError

    -
  • Experimental

    Imports a public or private key and converts to a CryptoKey.

    +
  • Experimental

    Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -73,14 +73,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

DeserializeError

-
  • Experimental

    Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Experimental

    Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
  • Experimental

    Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Experimental

    Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
+
diff --git a/dhkem-x25519/docs/classes/DhkemX25519HkdfSha256.html b/dhkem-x25519/docs/classes/DhkemX25519HkdfSha256.html index decfc5087..51ce9895e 100644 --- a/dhkem-x25519/docs/classes/DhkemX25519HkdfSha256.html +++ b/dhkem-x25519/docs/classes/DhkemX25519HkdfSha256.html @@ -6,7 +6,7 @@
import {
Aes128Gcm,
CipherSuite,
HkdfSha256,
} from "@hpke/core";
import { DhkemX25519HkdfSha256 } from "@hpke/dhkem-x25519";

const suite = new CipherSuite({
kem: new DhkemX25519HkdfSha256(),
kdf: new HkdfSha256(),
aead: new Aes128Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • Dhkem
    • DhkemX25519HkdfSha256

Constructors

Properties

Constructors

Properties

_kdf: KdfInterface
_prim: DhkemPrimitives
encSize: number = 32

32

-
id: KemId = KemId.DhkemX25519HkdfSha256

KemId.DhkemX25519HkdfSha256 (0x0020)

-
privateKeySize: number = 32

32

-
publicKeySize: number = 32

32

-
secretSize: number = 32

32

-

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_kdf: KdfInterface
_prim: DhkemPrimitives
encSize: number = 32

32

+
id: KemId = KemId.DhkemX25519HkdfSha256

KemId.DhkemX25519HkdfSha256 (0x0020)

+
privateKeySize: number = 32

32

+
publicKeySize: number = 32

32

+
secretSize: number = 32

32

+

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    • params: RecipientContextParams

      A set of parameters for the recipient context.

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

    DeriveKeyPairError

    -
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Generates an ephemeral, fixed-length symmetric key and +

  • Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    • params: SenderContextParams

      A set of parameters for the sender context.

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Generates a key pair.

    If the error occurred, throws NotSupportedError.

    Returns Promise<CryptoKeyPair>

    A key pair generated.

    NotSupportedError

    -
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -71,14 +71,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

DeserializeError

-
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
+
diff --git a/dhkem-x25519/docs/classes/HkdfSha256.html b/dhkem-x25519/docs/classes/HkdfSha256.html index cab4a5d21..c904fd748 100644 --- a/dhkem-x25519/docs/classes/HkdfSha256.html +++ b/dhkem-x25519/docs/classes/HkdfSha256.html @@ -1,4 +1,4 @@ -HkdfSha256 | @hpke/dhkem-x25519

Hierarchy

  • HkdfSha256Native
    • HkdfSha256

Constructors

constructor +HkdfSha256 | @hpke/dhkem-x25519

Hierarchy

  • HkdfSha256Native
    • HkdfSha256

Constructors

Properties

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

-
hashSize: number = 32

32

-
id: KdfId = KdfId.HkdfSha256

KdfId.HkdfSha256 (0x0001)

-

Methods

  • Builds a labeled input keying material.

    +

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

+
hashSize: number = 32

32

+
id: KdfId = KdfId.HkdfSha256

KdfId.HkdfSha256 (0x0001)

+

Methods

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    +
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    +
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Parameters

    • salt: ArrayBuffer
    • ikm: ArrayBuffer

    Returns Promise<ArrayBuffer>

  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Parameters

    • salt: ArrayBuffer
    • ikm: ArrayBuffer

    Returns Promise<ArrayBuffer>

  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    +
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/dhkem-x25519/docs/classes/X25519.html b/dhkem-x25519/docs/classes/X25519.html index 62181f070..2c4fd3e4c 100644 --- a/dhkem-x25519/docs/classes/X25519.html +++ b/dhkem-x25519/docs/classes/X25519.html @@ -1,4 +1,4 @@ -X25519 | @hpke/dhkem-x25519

Implements

  • DhkemPrimitives

Constructors

constructor +X25519 | @hpke/dhkem-x25519

Implements

  • DhkemPrimitives

Constructors

Methods

  • Parameters

    • ikm: ArrayBuffer

    Returns Promise<CryptoKeyPair>

  • Parameters

    • key: CryptoKey

    Returns Promise<CryptoKey>

  • Parameters

    • key: ArrayBuffer

    Returns Promise<CryptoKey>

  • Parameters

    • key: ArrayBuffer

    Returns Promise<CryptoKey>

  • Parameters

    • sk: CryptoKey
    • pk: CryptoKey

    Returns Promise<ArrayBuffer>

  • Returns Promise<CryptoKeyPair>

  • Parameters

    • format: "raw" | "jwk"
    • key: ArrayBuffer | JsonWebKey
    • isPublic: boolean

    Returns Promise<CryptoKey>

  • Parameters

    • key: CryptoKey

    Returns Promise<ArrayBuffer>

  • Parameters

    • key: CryptoKey

    Returns Promise<ArrayBuffer>

+

Constructors

Methods

  • Parameters

    • ikm: ArrayBuffer

    Returns Promise<CryptoKeyPair>

  • Parameters

    • key: CryptoKey

    Returns Promise<CryptoKey>

  • Parameters

    • key: ArrayBuffer

    Returns Promise<CryptoKey>

  • Parameters

    • key: ArrayBuffer

    Returns Promise<CryptoKey>

  • Parameters

    • sk: CryptoKey
    • pk: CryptoKey

    Returns Promise<ArrayBuffer>

  • Returns Promise<CryptoKeyPair>

  • Parameters

    • format: "raw" | "jwk"
    • key: ArrayBuffer | JsonWebKey
    • isPublic: boolean

    Returns Promise<CryptoKey>

  • Parameters

    • key: CryptoKey

    Returns Promise<ArrayBuffer>

  • Parameters

    • key: CryptoKey

    Returns Promise<ArrayBuffer>

diff --git a/dhkem-x448/docs/classes/DhkemX448HkdfSha512.html b/dhkem-x448/docs/classes/DhkemX448HkdfSha512.html index 5cd4908a4..29b01d868 100644 --- a/dhkem-x448/docs/classes/DhkemX448HkdfSha512.html +++ b/dhkem-x448/docs/classes/DhkemX448HkdfSha512.html @@ -6,7 +6,7 @@
import {
Aes256Gcm,
CipherSuite,
HkdfSha512,
} from "@hpke/core";
import { DhkemX448HkdfSha512 } from "@hpke/dhkem-x448";

const suite = new CipherSuite({
kem: new DhkemX448HkdfSha512(),
kdf: new HkdfSha512(),
aead: new Aes256Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • Dhkem
    • DhkemX448HkdfSha512

Constructors

Properties

Constructors

Properties

_kdf: KdfInterface
_prim: DhkemPrimitives
encSize: number = 56

56

-
id: KemId = KemId.DhkemX448HkdfSha512

KemId.DhkemX448HkdfSha512 (0x0021)

-
privateKeySize: number = 56

56

-
publicKeySize: number = 56

56

-
secretSize: number = 64

64

-

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_kdf: KdfInterface
_prim: DhkemPrimitives
encSize: number = 56

56

+
id: KemId = KemId.DhkemX448HkdfSha512

KemId.DhkemX448HkdfSha512 (0x0021)

+
privateKeySize: number = 56

56

+
publicKeySize: number = 56

56

+
secretSize: number = 64

64

+

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    • params: RecipientContextParams

      A set of parameters for the recipient context.

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

    DeriveKeyPairError

    -
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Generates an ephemeral, fixed-length symmetric key and +

  • Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    • params: SenderContextParams

      A set of parameters for the sender context.

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Generates a key pair.

    If the error occurred, throws NotSupportedError.

    Returns Promise<CryptoKeyPair>

    A key pair generated.

    NotSupportedError

    -
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -71,14 +71,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

DeserializeError

-
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
+
diff --git a/dhkem-x448/docs/classes/HkdfSha512.html b/dhkem-x448/docs/classes/HkdfSha512.html index 20800355e..ffd084f6a 100644 --- a/dhkem-x448/docs/classes/HkdfSha512.html +++ b/dhkem-x448/docs/classes/HkdfSha512.html @@ -1,4 +1,4 @@ -HkdfSha512 | @hpke/dhkem-x448

Hierarchy

  • HkdfSha512Native
    • HkdfSha512

Constructors

constructor +HkdfSha512 | @hpke/dhkem-x448

Hierarchy

  • HkdfSha512Native
    • HkdfSha512

Constructors

Properties

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

-
hashSize: number = 64

64

-
id: KdfId = KdfId.HkdfSha512

KdfId.HkdfSha512 (0x0003)

-

Methods

  • Builds a labeled input keying material.

    +

Constructors

Properties

_api: SubtleCrypto = undefined
_suiteId: Uint8Array = EMPTY
algHash: HmacKeyGenParams = ...

The parameters for Web Cryptography API

+
hashSize: number = 64

64

+
id: KdfId = KdfId.HkdfSha512

KdfId.HkdfSha512 (0x0003)

+

Methods

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    +
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    +
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Parameters

    • salt: ArrayBuffer
    • ikm: ArrayBuffer

    Returns Promise<ArrayBuffer>

  • Extracts a pseudorandom key and expand it to a specified length keying material.

    +
  • Parameters

    • salt: ArrayBuffer
    • ikm: ArrayBuffer

    Returns Promise<ArrayBuffer>

  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Initializes the instance by setting a suite_id defined in RFC9180.

    +
  • Initializes the instance by setting a suite_id defined in RFC9180.

    Parameters

    • suiteId: Uint8Array

      A suite_id defined in RFC9180.

      -

    Returns void

  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/dhkem-x448/docs/classes/X448.html b/dhkem-x448/docs/classes/X448.html index a4860a0c4..fd25293f5 100644 --- a/dhkem-x448/docs/classes/X448.html +++ b/dhkem-x448/docs/classes/X448.html @@ -1,4 +1,4 @@ -X448 | @hpke/dhkem-x448

Implements

  • DhkemPrimitives

Constructors

constructor +X448 | @hpke/dhkem-x448

Implements

  • DhkemPrimitives

Constructors

Methods

  • Parameters

    • ikm: ArrayBuffer

    Returns Promise<CryptoKeyPair>

  • Parameters

    • key: CryptoKey

    Returns Promise<CryptoKey>

  • Parameters

    • key: ArrayBuffer

    Returns Promise<CryptoKey>

  • Parameters

    • key: ArrayBuffer

    Returns Promise<CryptoKey>

  • Parameters

    • sk: CryptoKey
    • pk: CryptoKey

    Returns Promise<ArrayBuffer>

  • Returns Promise<CryptoKeyPair>

  • Parameters

    • format: "raw" | "jwk"
    • key: ArrayBuffer | JsonWebKey
    • isPublic: boolean

    Returns Promise<CryptoKey>

  • Parameters

    • key: CryptoKey

    Returns Promise<ArrayBuffer>

  • Parameters

    • key: CryptoKey

    Returns Promise<ArrayBuffer>

+

Constructors

Methods

  • Parameters

    • ikm: ArrayBuffer

    Returns Promise<CryptoKeyPair>

  • Parameters

    • key: CryptoKey

    Returns Promise<CryptoKey>

  • Parameters

    • key: ArrayBuffer

    Returns Promise<CryptoKey>

  • Parameters

    • key: ArrayBuffer

    Returns Promise<CryptoKey>

  • Parameters

    • sk: CryptoKey
    • pk: CryptoKey

    Returns Promise<ArrayBuffer>

  • Returns Promise<CryptoKeyPair>

  • Parameters

    • format: "raw" | "jwk"
    • key: ArrayBuffer | JsonWebKey
    • isPublic: boolean

    Returns Promise<CryptoKey>

  • Parameters

    • key: CryptoKey

    Returns Promise<ArrayBuffer>

  • Parameters

    • key: CryptoKey

    Returns Promise<ArrayBuffer>

diff --git a/docs/classes/CipherSuite.html b/docs/classes/CipherSuite.html index e759e54b2..fdeddf049 100644 --- a/docs/classes/CipherSuite.html +++ b/docs/classes/CipherSuite.html @@ -31,7 +31,7 @@
import { AeadId, CipherSuite, KdfId } from "@hpke/hpke-js";
// Use an extension module.
import {
HybridkemX25519Kyber768,
} from "@hpke/hybridkem-x25519-kyber768";

const suite = new CipherSuite({
kem: new HybridkemX25519Kyber768(),
kdf: KdfId.HkdfSha256,
aead: AeadId.Aes128Gcm,
});
-

Hierarchy

Constructors

Hierarchy

  • CipherSuite
    • CipherSuite

Constructors

Properties

Accessors

aead @@ -47,33 +47,33 @@ seal

Constructors

Properties

_api: SubtleCrypto = undefined

Accessors

Methods

Properties

_api: SubtleCrypto = undefined

Accessors

Methods

  • Derives a key pair for the cipher suite in the manner +

  • Generates a key pair for the cipher suite.

    +
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -86,18 +86,18 @@

Returns Promise<CryptoKey>

A public or private CryptoKey.

Use KemInterface.generateKeyPair instead.

  • Decrypts a message from a sender.

    +
  • Decrypts a message from a sender.

    If the error occurred, throws DecapError | DeserializeError | OpenError | ValidationError.

    Parameters

    • params: RecipientContextParams

      A set of parameters for building a recipient encryption context.

    • ct: ArrayBuffer

      An encrypted text as bytes to be decrypted.

    • aad: ArrayBuffer = EMPTY

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

+
diff --git a/docs/classes/DecapError.html b/docs/classes/DecapError.html index a426a534d..33688c56d 100644 --- a/docs/classes/DecapError.html +++ b/docs/classes/DecapError.html @@ -1,7 +1,7 @@ DecapError | @hpke/hpke-js

Class DecapError

decap() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/DeriveKeyPairError.html b/docs/classes/DeriveKeyPairError.html index a9810fdcf..8cda52683 100644 --- a/docs/classes/DeriveKeyPairError.html +++ b/docs/classes/DeriveKeyPairError.html @@ -1,7 +1,7 @@ DeriveKeyPairError | @hpke/hpke-js

Class DeriveKeyPairError

Key pair derivation failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/DeserializeError.html b/docs/classes/DeserializeError.html index 4432b2bf5..286bb2cd9 100644 --- a/docs/classes/DeserializeError.html +++ b/docs/classes/DeserializeError.html @@ -1,7 +1,7 @@ DeserializeError | @hpke/hpke-js

Class DeserializeError

Public or private key deserialization failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/EncapError.html b/docs/classes/EncapError.html index e610682ab..bd6510d75 100644 --- a/docs/classes/EncapError.html +++ b/docs/classes/EncapError.html @@ -1,7 +1,7 @@ EncapError | @hpke/hpke-js

Class EncapError

encap() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/ExportError.html b/docs/classes/ExportError.html index a41e9b2e7..2d773dbdd 100644 --- a/docs/classes/ExportError.html +++ b/docs/classes/ExportError.html @@ -1,7 +1,7 @@ ExportError | @hpke/hpke-js

Class ExportError

Secret export failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/HpkeError.html b/docs/classes/HpkeError.html index 1b423b78c..744a742f9 100644 --- a/docs/classes/HpkeError.html +++ b/docs/classes/HpkeError.html @@ -1,7 +1,7 @@ HpkeError | @hpke/hpke-js

The base error class of hpke-js.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/InvalidParamError.html b/docs/classes/InvalidParamError.html index 447035a5f..63386c8de 100644 --- a/docs/classes/InvalidParamError.html +++ b/docs/classes/InvalidParamError.html @@ -1,7 +1,7 @@ InvalidParamError | @hpke/hpke-js

Class InvalidParamError

Invalid parameter.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/MessageLimitReachedError.html b/docs/classes/MessageLimitReachedError.html index 2b8db25fb..a5d2d5f16 100644 --- a/docs/classes/MessageLimitReachedError.html +++ b/docs/classes/MessageLimitReachedError.html @@ -1,7 +1,7 @@ MessageLimitReachedError | @hpke/hpke-js

Class MessageLimitReachedError

Sequence number overflow on the encryption context.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/NotSupportedError.html b/docs/classes/NotSupportedError.html index 3823f8573..154a9e33a 100644 --- a/docs/classes/NotSupportedError.html +++ b/docs/classes/NotSupportedError.html @@ -1,7 +1,7 @@ NotSupportedError | @hpke/hpke-js

Class NotSupportedError

Not supported failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/OpenError.html b/docs/classes/OpenError.html index b59919eb9..6f1fe1e06 100644 --- a/docs/classes/OpenError.html +++ b/docs/classes/OpenError.html @@ -1,7 +1,7 @@ OpenError | @hpke/hpke-js

open() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/SealError.html b/docs/classes/SealError.html index c1ed38e6c..c401debca 100644 --- a/docs/classes/SealError.html +++ b/docs/classes/SealError.html @@ -1,7 +1,7 @@ SealError | @hpke/hpke-js

seal() failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/SerializeError.html b/docs/classes/SerializeError.html index 535bcf18c..0e04e81f2 100644 --- a/docs/classes/SerializeError.html +++ b/docs/classes/SerializeError.html @@ -1,7 +1,7 @@ SerializeError | @hpke/hpke-js

Class SerializeError

Public or private key serialization failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/classes/ValidationError.html b/docs/classes/ValidationError.html index 66fe75c9a..4031926e1 100644 --- a/docs/classes/ValidationError.html +++ b/docs/classes/ValidationError.html @@ -1,7 +1,7 @@ ValidationError | @hpke/hpke-js

Class ValidationError

KEM input or output validation failure.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
+

Constructors

Properties

cause?: unknown
message: string
name: string
stack?: string
diff --git a/docs/interfaces/AeadEncryptionContext.html b/docs/interfaces/AeadEncryptionContext.html index 241ebacee..7b3c6945f 100644 --- a/docs/interfaces/AeadEncryptionContext.html +++ b/docs/interfaces/AeadEncryptionContext.html @@ -1,14 +1,14 @@ AeadEncryptionContext | @hpke/hpke-js

Interface AeadEncryptionContext

The AEAD encryption context interface.

-
interface AeadEncryptionContext {
    open(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
    seal(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
}

Methods

interface AeadEncryptionContext {
    open(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
    seal(iv: ArrayBuffer, data: ArrayBuffer, aad: ArrayBuffer): Promise<ArrayBuffer>;
}

Methods

Methods

  • Decrypts data with an initialization vector and additional authenticated data.

    Parameters

    • iv: ArrayBuffer

      An initialization vector.

    • data: ArrayBuffer

      A plain text as bytes to be encrypted.

    • aad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

    -
  • Encrypts data with an initialization vector and additional authenticated data.

    Parameters

    • iv: ArrayBuffer

      An initialization vector.

    • data: ArrayBuffer

      A plain text as bytes to be encrypted.

    • aad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A cipher text as bytes.

    -
+
diff --git a/docs/interfaces/AeadInterface.html b/docs/interfaces/AeadInterface.html index 9b4ef2d5e..df62479d7 100644 --- a/docs/interfaces/AeadInterface.html +++ b/docs/interfaces/AeadInterface.html @@ -1,14 +1,14 @@ AeadInterface | @hpke/hpke-js

Interface AeadInterface

The AEAD interface.

-
interface AeadInterface {
    id: AeadId;
    keySize: number;
    nonceSize: number;
    tagSize: number;
    createEncryptionContext(key: ArrayBuffer): AeadEncryptionContext;
}

Properties

id +
interface AeadInterface {
    id: AeadId;
    keySize: number;
    nonceSize: number;
    tagSize: number;
    createEncryptionContext(key: ArrayBuffer): AeadEncryptionContext;
}

Properties

id: AeadId

The KDF identifier.

-
keySize: number

The length in bytes of an AEAD key (Nk).

-
nonceSize: number

The length in bytes of an AEAD nonce (Nn).

-
tagSize: number

The length in bytes of an AEAD authentication tag (Nt).

-

Methods

keySize: number

The length in bytes of an AEAD key (Nk).

+
nonceSize: number

The length in bytes of an AEAD nonce (Nn).

+
tagSize: number

The length in bytes of an AEAD authentication tag (Nt).

+

Methods

+
diff --git a/docs/interfaces/CipherSuiteParams.html b/docs/interfaces/CipherSuiteParams.html index 24c6d4de1..2b2c8320c 100644 --- a/docs/interfaces/CipherSuiteParams.html +++ b/docs/interfaces/CipherSuiteParams.html @@ -1,8 +1,8 @@ CipherSuiteParams | @hpke/hpke-js

Interface CipherSuiteParams

The parameters used to configure the CipherSuite.

-
interface CipherSuiteParams {
    aead: AeadId | AeadInterface;
    kdf: KdfId | KdfInterface;
    kem: KemId | KemInterface;
}

Properties

interface CipherSuiteParams {
    aead: AeadId | AeadInterface;
    kdf: KdfId | KdfInterface;
    kem: KemId | KemInterface;
}

Properties

Properties

The AEAD (Authenticated Encryption with Addtional Data) identifier or the AEAD object.

-

The KDF (Key Derivation Function) identifier or the KDF object.

-

The KEM (Key Encapsulation Mechanism) identifier or the KEM object.

-
+

The KDF (Key Derivation Function) identifier or the KDF object.

+

The KEM (Key Encapsulation Mechanism) identifier or the KEM object.

+
diff --git a/docs/interfaces/CipherSuiteSealResponse.html b/docs/interfaces/CipherSuiteSealResponse.html index 1272e9a1d..620984a46 100644 --- a/docs/interfaces/CipherSuiteSealResponse.html +++ b/docs/interfaces/CipherSuiteSealResponse.html @@ -1,6 +1,6 @@ CipherSuiteSealResponse | @hpke/hpke-js

Interface CipherSuiteSealResponse

The response of the single-shot seal API.

-
interface CipherSuiteSealResponse {
    ct: ArrayBuffer;
    enc: ArrayBuffer;
}

Properties

ct +
interface CipherSuiteSealResponse {
    ct: ArrayBuffer;
    enc: ArrayBuffer;
}

Properties

Properties

ct: ArrayBuffer

The ciphertext as bytes.

-
enc: ArrayBuffer

The encapsulated key.

-
+
enc: ArrayBuffer

The encapsulated key.

+
diff --git a/docs/interfaces/EncryptionContext.html b/docs/interfaces/EncryptionContext.html index be9a90153..3653d889c 100644 --- a/docs/interfaces/EncryptionContext.html +++ b/docs/interfaces/EncryptionContext.html @@ -1,5 +1,5 @@ EncryptionContext | @hpke/hpke-js

Interface EncryptionContext

The encryption context interface for a recipient and a sender.

-
interface EncryptionContext {
    export(exporterContext: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    open(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
    seal(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Methods

interface EncryptionContext {
    export(exporterContext: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    open(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
    seal(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Methods

Methods

  • Exports a secret using a variable-length pseudorandom function.

    @@ -8,16 +8,16 @@
  • len: number

    A desired length in bytes of the output secret.

Returns Promise<ArrayBuffer>

A secret string as bytes.

ExportError

-
  • Decrypts data.

    +
  • Decrypts data.

    If the error occurred, throws OpenError.

    Parameters

    • data: ArrayBuffer

      An encrypted text as bytes to be decrypted.

    • Optionalaad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

    OpenError

    -
  • Encrypts data.

    +
+
diff --git a/docs/interfaces/KdfInterface.html b/docs/interfaces/KdfInterface.html index b6a9e77d8..c31301b12 100644 --- a/docs/interfaces/KdfInterface.html +++ b/docs/interfaces/KdfInterface.html @@ -1,5 +1,5 @@ KdfInterface | @hpke/hpke-js

Interface KdfInterface

The KDF interface.

-
interface KdfInterface {
    hashSize: number;
    id: KdfId;
    buildLabeledIkm(label: Uint8Array, ikm: Uint8Array): Uint8Array;
    buildLabeledInfo(label: Uint8Array, info: Uint8Array, len: number): Uint8Array;
    expand(prk: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    extract(salt: ArrayBuffer, ikm: ArrayBuffer): Promise<ArrayBuffer>;
    extractAndExpand(salt: ArrayBuffer, ikm: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    init(suiteId: Uint8Array): void;
    labeledExpand(prk: ArrayBuffer, label: Uint8Array, info: Uint8Array, len: number): Promise<ArrayBuffer>;
    labeledExtract(salt: ArrayBuffer, label: Uint8Array, ikm: Uint8Array): Promise<ArrayBuffer>;
}

Properties

interface KdfInterface {
    hashSize: number;
    id: KdfId;
    buildLabeledIkm(label: Uint8Array, ikm: Uint8Array): Uint8Array;
    buildLabeledInfo(label: Uint8Array, info: Uint8Array, len: number): Uint8Array;
    expand(prk: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    extract(salt: ArrayBuffer, ikm: ArrayBuffer): Promise<ArrayBuffer>;
    extractAndExpand(salt: ArrayBuffer, ikm: ArrayBuffer, info: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    init(suiteId: Uint8Array): void;
    labeledExpand(prk: ArrayBuffer, label: Uint8Array, info: Uint8Array, len: number): Promise<ArrayBuffer>;
    labeledExtract(salt: ArrayBuffer, label: Uint8Array, ikm: Uint8Array): Promise<ArrayBuffer>;
}

Properties

hashSize: number

The output size of the extract() function in bytes (Nh).

-
id: KdfId

The KDF identifier.

-

Methods

id: KdfId

The KDF identifier.

+

Methods

  • Builds a labeled input keying material.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

    Returns Uint8Array

    An input keying material as bytes.

    -
  • Builds a labeled info string.

    Parameters

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length of the output byte string.

    Returns Uint8Array

    An info string as bytes.

    -
  • Expands a pseudorandom key prk.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key of fixed length (Nh) bytes.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
  • Extracts a pseudorandom key and expand it to a specified length keying material.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • ikm: ArrayBuffer

      An input keying material

    • info: ArrayBuffer

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    +

Returns void

  • Extracts a pseudorandom key with label.

    Parameters

    • prk: ArrayBuffer

      A pseudorandom key.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • info: Uint8Array

      An additional byte string.

    • len: number

      The length in bytes of the output keying material.

    Returns Promise<ArrayBuffer>

    An output keying material as bytes.

    -
  • Extracts a pseudorandom key with label.

    Parameters

    • salt: ArrayBuffer

      An additional random byte string.

    • label: Uint8Array

      A byte string indicating the cryptographic context/operation.

    • ikm: Uint8Array

      An input keying material

    Returns Promise<ArrayBuffer>

    A pseudorandom key as bytes.

    -
+
diff --git a/docs/interfaces/KemInterface.html b/docs/interfaces/KemInterface.html index 1bd31be00..54523dc2e 100644 --- a/docs/interfaces/KemInterface.html +++ b/docs/interfaces/KemInterface.html @@ -1,5 +1,5 @@ KemInterface | @hpke/hpke-js

Interface KemInterface

The KEM interface.

-
interface KemInterface {
    encSize: number;
    id: KemId;
    privateKeySize: number;
    publicKeySize: number;
    secretSize: number;
    decap(params: RecipientContextParams): Promise<ArrayBuffer>;
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    encap(params: SenderContextParams): Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Properties

interface KemInterface {
    encSize: number;
    id: KemId;
    privateKeySize: number;
    publicKeySize: number;
    secretSize: number;
    decap(params: RecipientContextParams): Promise<ArrayBuffer>;
    deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
    deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
    deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
    encap(params: SenderContextParams): Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
}

Properties

encSize: number

The length in bytes of an encapsulated key produced by this KEM (Nenc).

-
id: KemId

The KEM identifier.

-
privateKeySize: number

The length in bytes of an encoded private key for this KEM (Nsk).

-
publicKeySize: number

The length in bytes of an encoded public key for this KEM (Npk).

-
secretSize: number

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

-

Methods

id: KemId

The KEM identifier.

+
privateKeySize: number

The length in bytes of an encoded private key for this KEM (Nsk).

+
publicKeySize: number

The length in bytes of an encoded public key for this KEM (Npk).

+
secretSize: number

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

+

Methods

  • Derives a key pair from the byte string ikm.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +

Returns Promise<CryptoKey>

A public or private CryptoKey.

+
diff --git a/docs/interfaces/PreSharedKey.html b/docs/interfaces/PreSharedKey.html index fac84d92e..6296569cf 100644 --- a/docs/interfaces/PreSharedKey.html +++ b/docs/interfaces/PreSharedKey.html @@ -1,6 +1,6 @@ PreSharedKey | @hpke/hpke-js

Interface PreSharedKey

The pre-shared key interface.

-
interface PreSharedKey {
    id: ArrayBuffer;
    key: ArrayBuffer;
}

Properties

id +
interface PreSharedKey {
    id: ArrayBuffer;
    key: ArrayBuffer;
}

Properties

Properties

id: ArrayBuffer

The key identifier.

-
key: ArrayBuffer

The body of the pre-shared key.

-
+
key: ArrayBuffer

The body of the pre-shared key.

+
diff --git a/docs/interfaces/RecipientContextParams.html b/docs/interfaces/RecipientContextParams.html index 2817a65fa..28a4560e3 100644 --- a/docs/interfaces/RecipientContextParams.html +++ b/docs/interfaces/RecipientContextParams.html @@ -1,13 +1,13 @@ RecipientContextParams | @hpke/hpke-js

Interface RecipientContextParams

The parameters used to setup the RecipientContext.

-
interface RecipientContextParams {
    enc: ArrayBuffer;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientKey: CryptoKeyPair | CryptoKey;
    senderPublicKey?: CryptoKey;
}

Hierarchy

  • KeyScheduleParams
    • RecipientContextParams

Properties

enc +
interface RecipientContextParams {
    enc: ArrayBuffer;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientKey: CryptoKeyPair | CryptoKey;
    senderPublicKey?: CryptoKey;
}

Hierarchy

  • KeyScheduleParams
    • RecipientContextParams

Properties

enc: ArrayBuffer

A byte string of the encapsulated key received from a sender.

-
info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

-

A pre-shared key (PSK) held by both the sender and recipient. +

info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

+

A pre-shared key (PSK) held by both the sender and recipient. The PSK should have at least 32 bytes :and the maxmum length of the PSK is 128 bytes.

-
recipientKey: CryptoKeyPair | CryptoKey

A recipient private key or a key pair.

-
senderPublicKey?: CryptoKey

A sender public key for Auth mode.

-
+
recipientKey: CryptoKeyPair | CryptoKey

A recipient private key or a key pair.

+
senderPublicKey?: CryptoKey

A sender public key for Auth mode.

+
diff --git a/docs/interfaces/SenderContext.html b/docs/interfaces/SenderContext.html index 9b1bf3d4b..d8ef40f5f 100644 --- a/docs/interfaces/SenderContext.html +++ b/docs/interfaces/SenderContext.html @@ -1,25 +1,25 @@ SenderContext | @hpke/hpke-js

Interface SenderContext

The sender encryption context.

-
interface SenderContext {
    enc: ArrayBuffer;
    export(exporterContext: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    open(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
    seal(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Properties

enc +
interface SenderContext {
    enc: ArrayBuffer;
    export(exporterContext: ArrayBuffer, len: number): Promise<ArrayBuffer>;
    open(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
    seal(data: ArrayBuffer, aad?: ArrayBuffer): Promise<ArrayBuffer>;
}

Hierarchy (view full)

Properties

Methods

Properties

enc: ArrayBuffer

The encapsulated key generated by the sender.

-

Methods

Methods

  • Exports a secret using a variable-length pseudorandom function.

    If the error occurred, throws ExportError.

    Parameters

    • exporterContext: ArrayBuffer

      An exporter context string as bytes. The maximum length is 128 bytes.

    • len: number

      A desired length in bytes of the output secret.

    Returns Promise<ArrayBuffer>

    A secret string as bytes.

    ExportError

    -
  • Decrypts data.

    +
  • Decrypts data.

    If the error occurred, throws OpenError.

    Parameters

    • data: ArrayBuffer

      An encrypted text as bytes to be decrypted.

    • Optionalaad: ArrayBuffer

      Additional authenticated data as bytes fed by an application.

    Returns Promise<ArrayBuffer>

    A decrypted plain text as bytes.

    OpenError

    -
  • Encrypts data.

    +
+
diff --git a/docs/interfaces/SenderContextParams.html b/docs/interfaces/SenderContextParams.html index f700dbbcc..1621a311c 100644 --- a/docs/interfaces/SenderContextParams.html +++ b/docs/interfaces/SenderContextParams.html @@ -1,13 +1,13 @@ SenderContextParams | @hpke/hpke-js

Interface SenderContextParams

The parameters used to setup the SenderContext.

-
interface SenderContextParams {
    ekm?: ArrayBuffer | CryptoKeyPair;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientPublicKey: CryptoKey;
    senderKey?: CryptoKeyPair | CryptoKey;
}

Hierarchy

  • KeyScheduleParams
    • SenderContextParams

Properties

interface SenderContextParams {
    ekm?: ArrayBuffer | CryptoKeyPair;
    info?: ArrayBuffer;
    psk?: PreSharedKey;
    recipientPublicKey: CryptoKey;
    senderKey?: CryptoKeyPair | CryptoKey;
}

Hierarchy

  • KeyScheduleParams
    • SenderContextParams

Properties

ekm?: ArrayBuffer | CryptoKeyPair

DO NOT USE. FOR DEBUGGING/TESTING PURPOSES ONLY.

-
info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

-

A pre-shared key (PSK) held by both the sender and recipient. +

info?: ArrayBuffer

Application supplied information. The maximum length is 128 bytes.

+

A pre-shared key (PSK) held by both the sender and recipient. The PSK should have at least 32 bytes :and the maxmum length of the PSK is 128 bytes.

-
recipientPublicKey: CryptoKey

A recipient public key.

-
senderKey?: CryptoKeyPair | CryptoKey

A sender private key or a key pair for Auth mode.

-
+
recipientPublicKey: CryptoKey

A recipient public key.

+
senderKey?: CryptoKeyPair | CryptoKey

A sender private key or a key pair for Auth mode.

+
diff --git a/docs/types/Aead.html b/docs/types/Aead.html index 058c31e95..c22e2224b 100644 --- a/docs/types/Aead.html +++ b/docs/types/Aead.html @@ -1,3 +1,3 @@ Aead | @hpke/hpke-js

Type Alias Aead

Aead: typeof Aead[keyof typeof Aead]

The type alias of the supported AEAD identifiers.

Use AeadId instead.

-
+
diff --git a/docs/types/AeadId.html b/docs/types/AeadId.html index df72fb16b..9bd23178b 100644 --- a/docs/types/AeadId.html +++ b/docs/types/AeadId.html @@ -1,2 +1,2 @@ AeadId | @hpke/hpke-js

Type Alias AeadId

AeadId: typeof AeadId[keyof typeof AeadId]

The type alias of the supported AEAD identifiers.

-
+
diff --git a/docs/types/Kdf.html b/docs/types/Kdf.html index 50dadf959..152bbe6c4 100644 --- a/docs/types/Kdf.html +++ b/docs/types/Kdf.html @@ -1,3 +1,3 @@ Kdf | @hpke/hpke-js

Type Alias Kdf

Kdf: typeof Kdf[keyof typeof Kdf]

The type alias of the supported KDF identifiers.

Use KdfId instead.

-
+
diff --git a/docs/types/KdfId.html b/docs/types/KdfId.html index 04a838e79..f20547e3c 100644 --- a/docs/types/KdfId.html +++ b/docs/types/KdfId.html @@ -1,2 +1,2 @@ KdfId | @hpke/hpke-js

Type Alias KdfId

KdfId: typeof KdfId[keyof typeof KdfId]

The type alias of the supported KDF identifiers.

-
+
diff --git a/docs/types/Kem.html b/docs/types/Kem.html index 7e509676f..31c9bc3fa 100644 --- a/docs/types/Kem.html +++ b/docs/types/Kem.html @@ -1,3 +1,3 @@ Kem | @hpke/hpke-js

Type Alias Kem

Kem: typeof Kem[keyof typeof Kem]

The type alias of the supported KEM identifiers.

Use KdfId instead.

-
+
diff --git a/docs/types/KemId.html b/docs/types/KemId.html index 78d709784..1a6bc0b83 100644 --- a/docs/types/KemId.html +++ b/docs/types/KemId.html @@ -1,2 +1,2 @@ KemId | @hpke/hpke-js

Type Alias KemId

KemId: typeof KemId[keyof typeof KemId]

The type alias of the supported KEM identifiers.

-
+
diff --git a/docs/types/RecipientContext.html b/docs/types/RecipientContext.html index 8cdf84a74..e649d6a3c 100644 --- a/docs/types/RecipientContext.html +++ b/docs/types/RecipientContext.html @@ -1,2 +1,2 @@ RecipientContext | @hpke/hpke-js

Type Alias RecipientContext

RecipientContext: EncryptionContext

The recipient encryption context.

-
+
diff --git a/docs/variables/Aead-1.html b/docs/variables/Aead-1.html index 79348a4c4..74f611901 100644 --- a/docs/variables/Aead-1.html +++ b/docs/variables/Aead-1.html @@ -1,3 +1,3 @@ Aead | @hpke/hpke-js

Variable AeadConst

Aead: {
    Aes128Gcm: 1;
    Aes256Gcm: 2;
    Chacha20Poly1305: 3;
    ExportOnly: 65535;
} = ...

The supported Authenticated Encryption with Associated Data (AEAD) identifiers.

Use AeadId instead.

-
+
diff --git a/docs/variables/AeadId-1.html b/docs/variables/AeadId-1.html index ec4664ca5..6b1a97a56 100644 --- a/docs/variables/AeadId-1.html +++ b/docs/variables/AeadId-1.html @@ -1,2 +1,2 @@ AeadId | @hpke/hpke-js

Variable AeadIdConst

AeadId: {
    Aes128Gcm: 1;
    Aes256Gcm: 2;
    Chacha20Poly1305: 3;
    ExportOnly: 65535;
} = ...

The supported Authenticated Encryption with Associated Data (AEAD) identifiers.

-
+
diff --git a/docs/variables/Kdf-1.html b/docs/variables/Kdf-1.html index 24f59d481..aa8314984 100644 --- a/docs/variables/Kdf-1.html +++ b/docs/variables/Kdf-1.html @@ -1,3 +1,3 @@ Kdf | @hpke/hpke-js

Variable KdfConst

Kdf: {
    HkdfSha256: 1;
    HkdfSha384: 2;
    HkdfSha512: 3;
} = ...

The supported Key Derivation Function (KDF) identifiers.

Use KdfId instead.

-
+
diff --git a/docs/variables/KdfId-1.html b/docs/variables/KdfId-1.html index 93bf1ce03..6fe95324e 100644 --- a/docs/variables/KdfId-1.html +++ b/docs/variables/KdfId-1.html @@ -1,2 +1,2 @@ KdfId | @hpke/hpke-js

Variable KdfIdConst

KdfId: {
    HkdfSha256: 1;
    HkdfSha384: 2;
    HkdfSha512: 3;
} = ...

The supported Key Derivation Function (KDF) identifiers.

-
+
diff --git a/docs/variables/Kem-1.html b/docs/variables/Kem-1.html index ac39eb8e2..f8d268514 100644 --- a/docs/variables/Kem-1.html +++ b/docs/variables/Kem-1.html @@ -1,3 +1,3 @@ Kem | @hpke/hpke-js

Variable KemConst

Kem: {
    DhkemP256HkdfSha256: 16;
    DhkemP384HkdfSha384: 17;
    DhkemP521HkdfSha512: 18;
    DhkemSecp256k1HkdfSha256: 19;
    DhkemX25519HkdfSha256: 32;
    DhkemX448HkdfSha512: 33;
    HybridkemX25519Kyber768: 48;
    NotAssigned: 0;
} = ...

The supported Key Encapsulation Mechanism (KEM) identifiers.

Use KdfId instead.

-
+
diff --git a/docs/variables/KemId-1.html b/docs/variables/KemId-1.html index 6e5af0b60..e7fe9807e 100644 --- a/docs/variables/KemId-1.html +++ b/docs/variables/KemId-1.html @@ -1,2 +1,2 @@ KemId | @hpke/hpke-js

Variable KemIdConst

KemId: {
    DhkemP256HkdfSha256: 16;
    DhkemP384HkdfSha384: 17;
    DhkemP521HkdfSha512: 18;
    DhkemSecp256k1HkdfSha256: 19;
    DhkemX25519HkdfSha256: 32;
    DhkemX448HkdfSha512: 33;
    HybridkemX25519Kyber768: 48;
    MlKem1024: 66;
    MlKem512: 64;
    MlKem768: 65;
    NotAssigned: 0;
    XWing: 25722;
} = ...

The supported Key Encapsulation Mechanism (KEM) identifiers.

-
+
diff --git a/hybridkem-x-wing/docs/classes/XWing.html b/hybridkem-x-wing/docs/classes/XWing.html index 7dcf09cfa..5c679a050 100644 --- a/hybridkem-x-wing/docs/classes/XWing.html +++ b/hybridkem-x-wing/docs/classes/XWing.html @@ -6,7 +6,7 @@
import { Aes128Gcm, CipherSuite, HkdfSha256 } from "@hpke/core";
import { XWing } from "@hpke/hybridkem-x-wing";
const suite = new CipherSuite({
kem: new XWing(),
kdf: new HkdfSha256(),
aead: new Aes128Gcm(),
});
-

Implements

Constructors

Implements

  • KemInterface

Constructors

Properties

Constructors

Properties

_m: MlKem768
_x25519: X25519
auth: boolean = false
encSize: number = 1120

The length in bytes of an encapsulated key produced by this KEM (Nenc).

-
id: KemId = KemId.XWing

The KEM identifier.

-
name: string = ALG_NAME
privateKeySize: number = 32

The length in bytes of an encoded private key for this KEM (Nsk).

-
publicKeySize: number = 1216

The length in bytes of an encoded public key for this KEM (Npk).

-
secretSize: number = 32

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

-

Methods

  • Decapsulates the ss (shared secret) from the enc and the recipient's private key. +

Constructors

Properties

_m: MlKem768
_x25519: X25519
auth: boolean = false
encSize: number = 1120

The length in bytes of an encapsulated key produced by this KEM (Nenc).

+
id: KemId = KemId.XWing

The KEM identifier.

+
name: string = ALG_NAME
privateKeySize: number = 32

The length in bytes of an encoded private key for this KEM (Nsk).

+
publicKeySize: number = 1216

The length in bytes of an encoded public key for this KEM (Npk).

+
secretSize: number = 32

The length in bytes of a KEM shared secret produced by this KEM (Nsecret).

+

Methods

  • Decapsulates the ss (shared secret) from the enc and the recipient's private key. The enc is the same as the ct (ciphertext) resulting from X-Wing::Encapsulate(), which is executed under the encap(). @param params The parameters for decapsulation. @returns {Promise<ArrayBuffer>} A promise that resolves with the shared secret. @throws {InvalidParamError} Thrown if the length of the enc` is not 1120 bytes.

    Parameters

    • params: RecipientContextParams

    Returns Promise<ArrayBuffer>

    Thrown if the shared secret cannot be decapsulated.

    -
  • Derives a key pair from the input keying material.

    +
  • Derives a key pair from the input keying material.

    Parameters

    • ikm: ArrayBuffer

      The input keying material.

    Returns Promise<CryptoKeyPair>

    A promise that resolves with a new key pair.

    Thrown if the key pair cannot be derived.

    Thrown if the length of the IKM is not 32 bytes.

    -
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Encapsulates the shared secret and the ct (ciphertext) as enc.

    +
  • Encapsulates the shared secret and the ct (ciphertext) as enc.

    Parameters

    • params: SenderContextParams

      The parameters for encapsulation.

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A promise that resolves with the ss (shared secret) as sharedSecret and the ct (ciphertext) as enc.

    Thrown if the length of the ekm is not 64 bytes.

    Thrown if the shared secret cannot be encapsulated.

    -
  • Generates a new key pair.

    +
  • Generates a new key pair.

    Returns Promise<CryptoKeyPair>

    A promise that resolves with a new key pair.

    -
  • Generates a key pair from the secret key.

    +
  • Generates a key pair from the secret key.

    Parameters

    • sk: Uint8Array

      The secret key.

    Returns Promise<CryptoKeyPair>

    A promise that resolves with a new key pair.

    Thrown if the length of the secret key is not 32 bytes.

    Thrown if the key pair cannot be derived.

    -
  • Imports a key from the input.

    +
  • Imports a key from the input.

    Parameters

    • format: "raw" | "jwk"

      The format of the key. "raw" or "jwk" can be specified.

    • key: ArrayBuffer | JsonWebKeyExtended

      The key to import. If the format is "raw", the key must be an ArrayBuffer. If the format is "jwk", the key must be a JsonWebKey.

    • isPublic: boolean = true

      A boolean indicating whether the key is public or not. The default is true.

    Returns Promise<CryptoKey>

    A promise that resolves with the imported key.

    Thrown if the key cannot be imported.

    -
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
+
diff --git a/hybridkem-x25519-kyber768/docs/classes/HybridkemX25519Kyber768.html b/hybridkem-x25519-kyber768/docs/classes/HybridkemX25519Kyber768.html index 116882626..2bfbb04a0 100644 --- a/hybridkem-x25519-kyber768/docs/classes/HybridkemX25519Kyber768.html +++ b/hybridkem-x25519-kyber768/docs/classes/HybridkemX25519Kyber768.html @@ -6,7 +6,7 @@
import { Aes128Gcm, CipherSuite, HkdfSha256 } from "@hpke/core";
import { HybridkemX25519Kyber768 } from "@hpke/hybridkem-x25519-kyber768";
const suite = new CipherSuite({
kem: new HybridkemX25519Kyber768(),
kdf: new HkdfSha256(),
aead: new Aes128Gcm(),
});
-

Hierarchy

Constructors

Hierarchy

  • Hybridkem
    • HybridkemX25519Kyber768

Constructors

Properties

Constructors

Properties

_a: DhkemInterface
_b: KemInterface
_kdf: KdfInterface
auth: boolean = false
encSize: number = 1120
id: KemId = KemId.HybridkemX25519Kyber768
name: string = "X25519Kyber25519"
privateKeySize: number = 2432
publicKeySize: number = 1216
secretSize: number = 64

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    +

Constructors

Properties

_a: DhkemInterface
_b: KemInterface
_kdf: KdfInterface
auth: boolean = false
encSize: number = 1120
id: KemId = KemId.HybridkemX25519Kyber768
name: string = "X25519Kyber25519"
privateKeySize: number = 2432
publicKeySize: number = 1216
secretSize: number = 64

Methods

  • Recovers the ephemeral symmetric key from its encapsulated representation enc.

    If the error occurred, throws DecapError.

    Parameters

    • params: RecipientContextParams

      A set of parameters for the recipient context.

    Returns Promise<ArrayBuffer>

    A shared secret as the output of the decapsulation step.

    DecapError

    -
  • Derives a key pair from the byte string ikm.

    +
  • Derives a key pair from the byte string ikm.

    If the error occurred, throws DeriveKeyPairError.

    Parameters

    • ikm: ArrayBuffer

      An input keying material.

    Returns Promise<CryptoKeyPair>

    A key pair derived.

    DeriveKeyPairError

    -
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    +
  • Deserializes a private key as a byte string of length Nsk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    +
  • Deserializes a public key as a byte string of length Npk to CryptoKey.

    If the error occurred, throws DeserializeError.

    Parameters

    • key: ArrayBuffer

      A key as bytes.

    Returns Promise<CryptoKey>

    A CryptoKey.

    DeserializeError

    -
  • Generates an ephemeral, fixed-length symmetric key and +

  • Generates an ephemeral, fixed-length symmetric key and a fixed-length encapsulation of the key that can be decapsulated by the holder of the private key corresponding to pkR.

    If the error occurred, throws EncapError.

    Parameters

    • params: SenderContextParams

      A set of parameters for the sender context.

    Returns Promise<{
        enc: ArrayBuffer;
        sharedSecret: ArrayBuffer;
    }>

    A shared secret and an encapsulated key as the output of the encapsulation step.

    EncapError

    -
  • Generates a key pair.

    If the error occurred, throws NotSupportedError.

    Returns Promise<CryptoKeyPair>

    A key pair generated.

    NotSupportedError

    -
  • Imports a public or private key and converts to a CryptoKey.

    +
  • Imports a public or private key and converts to a CryptoKey.

    Since key parameters for createSenderContext or createRecipientContext are CryptoKey format, you have to use this function to convert provided keys to CryptoKey.

    @@ -69,14 +69,14 @@
  • isPublic: boolean = true

    The indicator whether the provided key is a public key or not, which is used only for 'raw' format.

Returns Promise<CryptoKey>

A public or private CryptoKey.

DeserializeError

-
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    +
  • Serializes a private key as CryptoKey to a byte string of length Nsk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    +
  • Serializes a public key as CryptoKey to a byte string of length Npk.

    If the error occurred, throws SerializeError.

    Parameters

    • key: CryptoKey

      A CryptoKey.

    Returns Promise<ArrayBuffer>

    A key as bytes.

    SerializeError

    -
+