00 Cryptografie

XChaCha20-Poly1305

RFC 8439 geauthentiseerde encryptie met 192 bit nonce.

01 Overview

Waarom een symmetrische code voor alles.

01

Symmetrische cijfers zijn snel.

Authenticated symmetrische encryptie draait op gigabytes per seconde op een moderne CPU, orden van grootte sneller dan publieke-sleutel operaties. Het gebruik van symmetrische primitieven voor feitelijke gegevens is de enige praktische keuze op schaal.

02

Kwantumimpact is beperkt

Grover's algoritme geeft kwantumcomputers een vierkante-wortel snelheid tegen symmetrische cijfers. Een 256-bit sleutel behoudt 128-bit effectieve beveiliging tegen een kwantumaanvaller... ver buiten elke plausibele brute kracht.

03

XChaCha20 is een moderne streamcode

ChaCha20 is een streamcode die werd ontworpen door Daniel J. Bernstein in 2008, geselecteerd voor 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 Kalenderevenementen en AI conversatiegeschiedenis staan buiten die envelop vandaag.

01

256-bits sessiesleutels

Elke conversatie, file share of call gebruikt een nieuwe 256-bit symmetrische sleutel, afgeleid van de ML-KEM-768 inkapseling. Er is geen lange termijn symmetrische sleutel op de server.

02

192-bit random nonces

XChaCha20's 192-bit nonce (24 bytes) is groot genoeg dat willekeurige nonces veilig gebruikt kunnen worden.De kans op botsingen blijft verwaarloosbaar zelfs na 2^64 berichten met dezelfde sleutel.

03

Poly1305-authenticatie

Poly1305 berekent een 16-byte authenticator over de ciphertext en eventuele bijbehorende gegevens. Tamperen met de codetekst of headers ongeldig maakt de tag, en de ontvangende client weigert te decoderen.

04

Bestandsstreaming

Bestanden worden verdeeld in stukken, elk met zijn eigen nonce en Poly1305 tag. Chunks kunnen worden geverifieerd en gedecodeerd in elke volgorde, waardoor streaming download zonder te wachten op het volledige bestand.

03 Key points

Praktische overwegingen.

  1. 01

    Hardware versnelling is overal

    Moderne CPU's van Intel, AMD en ARM omvatten allemaal AES-NI of gelijkwaardige vectorinstructies. ChaCha20 is de gekozen code voor systemen zonder hardware AES (mobiele apparaten) of voor zijkanaalweerstand.

  2. 02

    Geen nonce hergebruik

    Nonce generatie gebruikt een per-message teller gecombineerd met de willekeurige nonce prefix. Met 192-bit nonces is hergebruik statistisch onmogelijk zelfs na miljarden berichten per sessie.

  3. 03

    Constante implementatie

    Referentieimplementaties van ChaCha20 zijn constante tijd, waardoor zijkanaallekkage van sleutelmateriaal wordt geëlimineerd door middel van timing of cache-analyse.

  4. 04

    Bibliotheekaudits

    De cryptografische primitieven komen van @noble 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 encryptie met bijbehorende gegevens (AEAD) cipher. Het combineert de XChaCha20 stream cipher (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 cijfers. XChaCha20 heeft het praktische voordeel van constante software-implementaties zonder hardware AES-instructies, waardoor het robuuster is tegen zijkanaalaanvallen op mobiele apparaten. De 192-bit nonce maakt ook random-nonce constructies veilig.

Wat is de effectieve sleutelgrootte tegen kwantumcomputers?

Short answer

Grover's algoritme geeft een kwadratische snelheid tegen symmetrische cijfers. Een 256-bits sleutel behoudt 128-bits effectieve kwantumbeveiliging, die veel verder gaat dan een plausibele brute-force-vermogen, inclusief door kwantumcomputers.

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 staat veilige willekeurige nonce generatie toe zonder uitputtingsproblemen.

Wat is Poly1305?

Short answer

Poly1305 is een snelle universele hash functie ontworpen door Daniel J. Bernstein. In AEAD-constructies zoals XChaCha20-Poly1305 berekent Poly1305 een 16-byte authenticator over de codetekst die bewijst dat de codetekst niet is geknoeid.

Wordt XChaCha20-Poly1305 buiten UltimaOS gebruikt?

Short answer

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

Wat als een Poly1305 botsing optreedt?

Short answer

Poly1305 is een universele hash; zijn output is onvergetelijk onder standaard cryptografische aannames. Zelfs als er een botsing zou plaatsvinden (waarschijnlijkheid ~2^-128), zou het geen vervalsing toestaan zonder Poly1305 zelf te breken, wat zou betekenen dat AES zou breken.

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