Naar de inhoud
00 Cryptografie

XChaCha20-Poly1305

RFC 8439 — geverifieerde versleuteling met een 192-bit nonce.

01 Overview

Waarom een symmetrische cipher voor alles.

01

Symmetrische ciphers zijn snel

Geverifieerde symmetrische versleuteling draait op gigabytes per seconde op een moderne CPU, ordes van grootte sneller dan public-key operaties. Het gebruik van symmetrische primitieven voor daadwerkelijke gegevens is de enige praktische keuze op schaal.

02

Quantumimpact is beperkt

Het algoritme van Grover geeft quantumcomputers een vierkantswortelversnelling tegen symmetrische ciphers. Een 256-bit sleutel behoudt 128-bit effectieve beveiliging tegen een quantumaanvaller — ver voorbij elke plausibele brute-force-capaciteit.

03

XChaCha20 is een moderne stroomcipher

ChaCha20 is een stroomcipher ontworpen door Daniel J. Bernstein in 2008, gekozen vanwege zijn eenvoud, prestaties en weerstand tegen side-channel-aanvallen. Het wordt veel gebruikt: TLS 1.3, WireGuard, OpenSSH.

02 Details

Hoe XChaCha20-Poly1305 werkt in UltimaOS.

Enveloped payloads op UltimaOS — chatberichten, e-mail, bestanden, notities, taken, documenten en spreadsheets — worden versleuteld met XChaCha20-Poly1305 met behulp van een 256-bit symmetrische sleutel afgeleid van de ML-KEM-768-sessie. Agenda-evenementen en AI-gespreksgeschiedenis bevinden zich vandaag buiten die envelop.

01

256-bit sessiesleutels

Elk gesprek, elke bestandsdeling of oproep gebruikt een nieuwe 256-bit symmetrische sleutel, afgeleid van de ML-KEM-768-encapsulatie. Er is geen langetermijn-symmetrische sleutel op de server.

02

192-bit willekeurige nonces

De 192-bit nonce (24 bytes) van XChaCha20 is groot genoeg dat willekeurige nonces veilig kunnen worden gebruikt — de kans op een botsing blijft verwaarloosbaar, zelfs na 2^64 berichten met dezelfde sleutel.

03

Poly1305-authenticatie

Poly1305 berekent een 16-byte authenticator over de cijfertekst en eventuele bijbehorende gegevens. Manipulatie van de cijfertekst of headers maakt de tag ongeldig en de ontvangende client weigert te ontsleutelen.

04

Bestandsstreaming

Bestanden worden opgesplitst in chunks, elk met een eigen nonce en Poly1305-tag. Chunks kunnen in willekeurige volgorde worden geverifieerd en ontsleuteld, waardoor streaming download mogelijk is zonder te wachten op het volledige bestand.

03 Key points

Praktische overwegingen.

  1. 01

    Hardwareversnelling is overal

    Moderne CPU's van Intel, AMD en ARM bevatten allemaal AES-NI of equivalente vectorinstructies. ChaCha20 is de gekozen cipher voor systemen zonder hardware-AES (mobiele apparaten) of voor side-channel-resistentie.

  2. 02

    Geen nonce-hergebruik

    Nonce-generatie gebruikt een teller per bericht gecombineerd met het willekeurige nonce-voorvoegsel. Met 192-bit nonces is hergebruik statistisch onmogelijk, zelfs na miljarden berichten per sessie.

  3. 03

    Constante-tijdimplementatie

    Referentie-implementaties van ChaCha20 zijn constant-tijd, waardoor side-channel-lekkage van sleutelmateriaal via timing-of cache-analyse wordt geëlimineerd.

  4. 04

    Bibliotheekaudits

    De cryptografische primitieven komen van @noble — gecontroleerde, veelgebruikte, pure TypeScript-implementaties die zijn beoordeeld door de cryptografische gemeenschap — die draaien in de client die u kunt inspecteren. Iedereen is vrij om ons gebruik ervan te controleren.

04b References

Standards and references.

05 Frequently asked

Vragen over XChaCha20-Poly1305.

Wat is XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 is een geverifieerde versleuteling met bijbehorende gegevens (AEAD) cipher. Het combineert de XChaCha20-stroomcipher (24-byte nonce-variant van ChaCha20) met de Poly1305-MAC voor authenticatie. Het is gespecificeerd in RFC 8439. (RFC 8439)

Waarom XChaCha20 gebruiken in plaats van AES-256-GCM?

Short answer

Beide zijn uitstekende ciphers. XChaCha20 heeft het praktische voordeel van constant-tijd software-implementaties zonder hardware-AES-instructies, waardoor het robuuster is tegen side-channel-aanvallen op mobiele apparaten. De 192-bit nonce maakt ook constructies met willekeurige nonces veilig.

Wat is de effectieve sleutelgrootte tegen quantumcomputers?

Short answer

Het algoritme van Grover biedt een kwadratische versnelling tegen symmetrische ciphers. Een 256-bit sleutel behoudt 128-bit effectieve quantumbeveiliging, wat ver voorbij elke plausibele brute-force-capaciteit ligt — inclusief die van quantumcomputers.

Wat is het verschil tussen ChaCha20 en XChaCha20?

Short answer

XChaCha20 gebruikt een 192-bit nonce (24 bytes) in plaats van ChaCha20's 96-bit nonce (12 bytes). De extra nonce-bits worden afgeleid door ChaCha20 te draaien met een afgeleide sleutel. De langere nonce maakt veilige generatie van willekeurige nonces mogelijk zonder uitputtingszorgen.

Wat is Poly1305?

Short answer

Poly1305 is een snelle universele hashfunctie ontworpen door Daniel J. Bernstein. In AEAD-constructies zoals XChaCha20-Poly1305 berekent Poly1305 een 16-byte authenticator over de cijfertekst die bewijst dat de cijfertekst niet is gemanipuleerd.

Wordt XChaCha20-Poly1305 buiten UltimaOS gebruikt?

Short answer

Ja. TLS 1.3 (RFC 8446) ondersteunt ChaCha20-Poly1305 als een cipher suite. WireGuard VPN gebruikt uitsluitend ChaCha20-Poly1305. OpenSSH gebruikt ChaCha20-Poly1305 sinds versie 6.5.

Wat als er een Poly1305-botsing optreedt?

Short answer

Poly1305 is een universele hash; de uitvoer is onvervalsbaar onder standaard cryptografische aannames. Zelfs als er een botsing optreedt (kans ~2^-128), zou dit geen vervalsing mogelijk maken zonder Poly1305 zelf te breken, wat zou impliceren dat AES wordt gebroken.

Voor altijd vrij

Gratis voor individuen en gezinnen. Voor altijd.

Geen advertenties, geen datamining, geen proefklok. Individuele en gezinsaccounts zijn gratis permanent. Organisaties betalen per zetel en dat is wat ze financiert.

Vraag uw account aan Alleen uitnodigen terwijl we schalen