boxed = crypto.aead.encrypt(key, nonce, plaintext)
boxed = crypto.aead.encrypt(key, nonce, plaintext, associatedData)
| Paramètre | Description |
|---|---|
| key | vecteur uint8 de 32 octets ou 64 caractères hexadécimaux : clé secrète. |
| nonce | vecteur uint8 de 24 octets ou 48 caractères hexadécimaux : unique par message pour une clé donnée (utilisez crypto.random). |
| plaintext | vecteur uint8 (octets bruts) ou vecteur de caractères (octets UTF-8) : contenu à chiffrer. |
| associatedData | vecteur uint8 (octets bruts) ou vecteur de caractères (octets UTF-8) : données optionnelles authentifiées mais non chiffrées ; la même valeur doit être donnée au déchiffrement. |
| Paramètre | Description |
|---|---|
| boxed | vecteur ligne uint8 : le tag d'authentification de 16 octets suivi du texte chiffré (de même longueur que le message clair). |
crypto.aead.encrypt chiffre et authentifie un message avec XChaCha20-Poly1305, un schéma de chiffrement authentifié à clé de 256 bits et nonce de 192 bits.
Le nonce doit être unique pour chaque message chiffré avec la même clé ; un nonce répété casse la sécurité. Générez-le avec crypto.random(24) et stockez-le à côté du message chiffré (il n'est pas secret).
key = crypto.random(32);
nonce = crypto.random(24);
boxed = crypto.aead.encrypt(key, nonce, 'a secret message');
char(crypto.aead.decrypt(key, nonce, boxed))
| Version | Description |
|---|---|
| 2.0.0 | version initiale |