Documentation
    Preparing search index...

    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>;
    }
    Index

    Properties

    hashSize: number

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

    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.

    • 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.

      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.