Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<sodium_crypto_aead_chacha20poly1305_encryptsodium_crypto_aead_chacha20poly1305_ietf_encrypt>
^Sodium FunctionsLast updated: Mon, 26 Oct 2026

sodium_crypto_aead_chacha20poly1305_ietf_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_ietf_decrypt — Verify that the ciphertext includes a valid tag

Description

function sodium_crypto_aead_chacha20poly1305_ietf_decrypt(
    string $ciphertext,
    string $additional_data,
    string $nonce,
    #[\SensitiveParameter] string $key
): string|false

Verify then decrypt with ChaCha20-Poly1305 (IETF variant).

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

Parameters

ciphertext

Must be in the format provided by sodium_crypto_aead_chacha20poly1305_ietf_encrypt() (ciphertext and tag, concatenated).

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 plaintext on success, or false on failure.


<sodium_crypto_aead_chacha20poly1305_encryptsodium_crypto_aead_chacha20poly1305_ietf_encrypt>
^Sodium FunctionsLast updated: Mon, 26 Oct 2026