sodium_crypto_aead_chacha20poly1305_ietf_encrypt

Encrypt a message

Description

string sodium_crypto_aead_chacha20poly1305_ietf_encrypt(
    #[\SensitiveParameter]string $message,
    string $additional_data,
    string $nonce,
    #[\SensitiveParameter]string $key
)

Encrypt then authenticate with ChaCha20-Poly1305 (IETF variant).

The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both.

Parameters

message

The plaintext message to encrypt.

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 12 bytes long.

key

Encryption key (256-bit).

Return Values

Returns the ciphertext and tag on success, or false on failure.