AEADChaCha20Poly1305::Decrypt

Decrypt a message with a specified 96-bit nonce and aad and split the result. Returns true if valid.

Synopsis

Declared in <crypto/chacha20poly1305.h>

bool
Decrypt(
    std::span<std::byte const> cipher,
    std::span<std::byte const> aad,
    Nonce96 nonce,
    std::span<std::byte> plain1,
    std::span<std::byte> plain2) noexcept;

Description

Requires cipher.size() = plain1.size() + plain2.size() + EXPANSION.

Return Value

true if the tag is valid and decryption succeeded, false otherwise.

Parameters

NameDescription
cipherThe ciphertext and authentication tag to decrypt and verify.
aadThe associated data to authenticate.
nonceThe 96-bit nonce.
plain1Output buffer receiving the first part of the recovered plaintext.
plain2Output buffer receiving the second part of the recovered plaintext.