FSChaCha20Poly1305::Decrypt

Decrypt a message with a specified 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,
    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.
plain1Output buffer receiving the first part of the recovered plaintext.
plain2Output buffer receiving the second part of the recovered plaintext.