ChaCha20-Poly1305 Authenticated Encryption with Associated Data.

Defined in RFC7539.

Implements

Constructors

Properties

Methods

Constructors

Properties

nonceLength: 12 = NONCE_LENGTH

Byte length of nonce that is used with this AEAD.

tagLength: 16 = TAG_LENGTH

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 sealed ciphertext (which includes authentication tag) and associated data, decrypts ciphertext and returns decrypted plaintext.

    RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce ("IV"), or full 16-byte counter (called "32-bit fixed-common part") and nonce.

    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
    • sealed: Uint8Array
    • OptionalassociatedData: Uint8Array
    • Optionaldst: Uint8Array

    Returns null | Uint8Array

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

    RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce ("IV"), or full 16-byte counter (called "32-bit fixed-common part") and nonce.

    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