AEAD is a common interface for authenticated encryption with associated Data.

interface AEAD {
    nonceLength: number;
    tagLength: number;
    clean(): this;
    open(nonce: Uint8Array, ciphertext: Uint8Array, associatedData?: Uint8Array, dst?: Uint8Array): null | Uint8Array;
    seal(nonce: Uint8Array, plaintext: Uint8Array, associatedData?: Uint8Array, dst?: Uint8Array): Uint8Array;
}

Implemented by

    Properties

    Methods

    Properties

    nonceLength: number

    Byte length of nonce that is used with this AEAD.

    tagLength: number

    Byte length of authentication tag included in the sealed ciphertext. Result of seal() will be longer than plaintext for this number of bytes.

    Methods

    • Wipes state from memory. Doesn't wipe the underlying block cipher state.

      Returns this

    • Authenticates ciphertext (which includes authentication tag) and associated data, decrypts ciphertext, and returns decrypted plaintext.

      If authentication fails, it returns null.

      If dst is given (it must be of ciphertext length minus tag length), the result will be put into it. Dst and plaintext must not overlap.

      Parameters

      • nonce: Uint8Array
      • ciphertext: Uint8Array
      • OptionalassociatedData: Uint8Array
      • Optionaldst: Uint8Array

      Returns null | Uint8Array

    • Encrypts and authenticates plaintext, authenticates associated data, and returns ciphertext, which includes authentication tag.

      If dst is given (it must be the size of plaintext + the size of tag length) the result will be put into it. Dst and plaintext must not overlap.

      Parameters

      • nonce: Uint8Array
      • plaintext: Uint8Array
      • OptionalassociatedData: Uint8Array
      • Optionaldst: Uint8Array

      Returns Uint8Array