Aller au contenu
00 Chiffrographie

XChaCha20-Poly1305

RFC 8439 — chiffrement authentifié avec un nonce de 192 bits.

01 Overview

Pourquoi un chiffrement symétrique pour tout.

01

Les chiffrements symétriques sont rapides

Le chiffrement symétrique authentifié s'exécute à des débits de plusieurs gigaoctets par seconde sur un processeur moderne, soit des ordres de grandeur plus rapides que les opérations à clé publique. Utiliser des primitives symétriques pour les données réelles est le seul choix pratique à grande échelle.

02

L'impact quantique est limité

L'algorithme de Grover donne aux ordinateurs quantiques une accélération en racine carrée contre les chiffrements symétriques. Une clé de 256 bits conserve une sécurité effective de 128 bits contre un attaquant quantique — bien au-delà de toute capacité de force brute plausible.

03

XChaCha20 est un chiffrement de flux moderne

ChaCha20 est un chiffrement de flux conçu par Daniel J. Bernstein en 2008, choisi pour sa simplicité, ses performances et sa résistance aux attaques par canaux auxiliaires. Il est largement utilisé : TLS 1.3, WireGuard, OpenSSH.

02 Details

Comment XChaCha20-Poly1305 fonctionne dans UltimaOS.

Les charges utiles enveloppées sur UltimaOS — messages de chat, courriels, fichiers, notes, tâches, documents et feuilles de calcul — sont chiffrées avec XChaCha20-Poly1305 en utilisant une clé symétrique de 256 bits dérivée de la session ML-KEM-768. Les événements de calendrier et l'historique des conversations AI sont hors de cette enveloppe aujourd'hui.

01

Clés de session de 256 bits

Chaque conversation, partage de fichier ou appel utilise une nouvelle clé symétrique de 256 bits, dérivée de l'encapsulation ML-KEM-768. Il n'y a pas de clé symétrique à long terme sur le serveur.

02

Nonces aléatoires de 192 bits

Le nonce de 192 bits (24 octets) de XChaCha20 est suffisamment grand pour que des nonces aléatoires puissent être utilisés en toute sécurité — la probabilité de collision reste négligeable même après 2^64 messages avec la même clé.

03

Authentification Poly1305

Poly1305 calcule un authentifiant de 16 octets sur le texte chiffré et toutes les données associées. Toute altération du texte chiffré ou des en-têtes invalide le tag, et le client récepteur refuse de déchiffrer.

04

Diffusion de fichiers en continu

Les fichiers sont divisés en morceaux, chacun avec son propre nonce et son tag Poly1305. Les morceaux peuvent être vérifiés et déchiffrés dans n'importe quel ordre, permettant un téléchargement en continu sans attendre le fichier complet.

03 Key points

Considérations pratiques.

  1. 01

    L'accélération matérielle est partout

    Les processeurs modernes d'Intel, AMD et ARM incluent tous AES-NI ou des instructions vectorielles équivalentes. ChaCha20 est le chiffrement choisi pour les systèmes sans AES matériel (appareils mobiles) ou pour la résistance aux canaux auxiliaires.

  2. 02

    Pas de réutilisation de nonce

    La génération de nonce utilise un compteur par message combiné avec le préfixe de nonce aléatoire. Avec des nonces de 192 bits, la réutilisation est statistiquement impossible même après des milliards de messages par session.

  3. 03

    Implémentation à temps constant

    Les implémentations de référence de ChaCha20 sont à temps constant, éliminant les fuites de canaux auxiliaires du matériel de clé par analyse temporelle ou de cache.

  4. 04

    Vérifications des bibliothèques

    Les primitives chiffrographiques proviennent de @noble — des implémentations vérifiées, largement utilisées, en TypeScript pur, examinées par la communauté chiffrographique — s'exécutant dans le client que vous pouvez inspecter. Chacun est libre de vérifier notre utilisation de celles-ci.

04b References

Standards and references.

05 Frequently asked

Questions sur XChaCha20-Poly1305.

Qu'est-ce que XChaCha20-Poly1305 ?

Short answer

XChaCha20-Poly1305 est un chiffrement authentifié avec données associées (AEAD). Il combine le chiffrement de flux XChaCha20 (variante de ChaCha20 avec nonce de 24 octets) avec le MAC Poly1305 pour l'authentification. Il est spécifié dans la RFC 8439. (RFC 8439)

Pourquoi utiliser XChaCha20 plutôt que AES-256-GCM ?

Short answer

Les deux sont d'excellents chiffrements. XChaCha20 a l'avantage pratique d'implémentations logicielles à temps constant sans nécessiter d'instructions AES matérielles, ce qui le rend plus robuste contre les attaques par canaux auxiliaires sur les appareils mobiles. Le nonce de 192 bits rend également les constructions à nonce aléatoire sûres.

Quelle est la taille de clé effective contre les ordinateurs quantiques ?

Short answer

L'algorithme de Grover fournit une accélération quadratique contre les chiffrements symétriques. Une clé de 256 bits conserve une sécurité quantique effective de 128 bits, ce qui est bien au-delà de toute capacité de force brute plausible — y compris par les ordinateurs quantiques.

Quelle est la différence entre ChaCha20 et XChaCha20 ?

Short answer

XChaCha20 utilise un nonce de 192 bits (24 octets) au lieu du nonce de 96 bits (12 octets) de ChaCha20. Les bits de nonce supplémentaires sont dérivés en exécutant ChaCha20 avec une clé dérivée. Le nonce plus long permet une génération aléatoire sûre sans risque d'épuisement.

Qu'est-ce que Poly1305 ?

Short answer

Poly1305 est une fonction de hachage universelle rapide conçue par Daniel J. Bernstein. Dans les constructions AEAD comme XChaCha20-Poly1305, Poly1305 calcule un authentifiant de 16 octets sur le texte chiffré qui prouve que le texte chiffré n'a pas été altéré.

XChaCha20-Poly1305 est-il utilisé en dehors de UltimaOS ?

Short answer

Oui. TLS 1.3 (RFC 8446) prend en charge ChaCha20-Poly1305 comme suite de chiffrement. WireGuard VPN utilise exclusivement ChaCha20-Poly1305. OpenSSH utilise ChaCha20-Poly1305 depuis la version 6.5.

Que se passe-t-il si une collision Poly1305 se produit ?

Short answer

Poly1305 est une fonction de hachage universelle ; sa sortie est infalsifiable sous des hypothèses chiffrographiques standard. Même si une collision se produisait (probabilité ~2^-128), elle ne permettrait pas la falsification sans casser Poly1305 lui-même, ce qui impliquerait de casser AES.

Gratuit pour toujours

Gratuit pour les particuliers et les familles. Pour toujours.

Pas de publicité, pas d'exploration de données, pas de compte à rebours. Les comptes individuels et familiaux sont gratuits — définitivement. Les organisations paient par siège, et c'est ce qui finance le service.

Demandez votre compte Sur invitation uniquement pendant que nous montons en charge