00 Kryptografi

XChaCha20-Poly1305

RFC 8439 - autentiserad kryptering med en 192-bitars nonce.

01 Overview

Varför en symmetrisk chiffer för allt.

01

Symmetriska chiffrar är snabba

Autenticerad symmetrisk kryptering körs på gigabyte per sekund på en modern CPU, storleksordningar snabbare än offentliga nyckel operationer. Att använda symmetriska primitiv för faktiska data är det enda praktiska valet i stor skala.

02

Kvantpåverkan är begränsad

Grover algoritm ger kvantdatorer en kvadratisk hastighet mot symmetriska chiffer. En 256-bitars nyckel behåller 128-bitars effektiv säkerhet mot en kvantattacker - långt bortom någon trovärdig brute-force-kapacitet.

03

XChaCha20 är en modern ström chiffer

ChaCha20 är en ström chiffer designad av Daniel J. Bernstein 2008, vald för sin enkelhet, prestanda och motstånd mot sidokanalattacker. Den används ofta: TLS 1.3, WireGuard, OpenSSH.

02 Details

Hur XChaCha20-Poly1305 fungerar i UltimaOS

Kuverta nyttolast på UltimaOS - chattmeddelanden, post, filer, anteckningar, uppgifter, dokument och kalkylblad - krypteras med XChaCha20-Poly1305 med en 256-bitars symmetrisk nyckel som härrör från ML-KEM-768-sessionen. Kalenderhändelser och AI-konversationshistoria är utanför det kuvertet idag.

01

256-bitars sessionsnycklar

Varje konversation, fildelning eller samtal använder en ny 256-bitars symmetrisk nyckel, som härrör från ML-KEM-768 inkapsling. Det finns ingen långsiktig symmetrisk nyckel på servern.

02

192-bitars slumpmässiga nonces

XCha20: s 192-bitars nonce (24 byte) är tillräckligt stor för att slumpmässiga nonces kan användas säkert - kollisionssannolikheten förblir försumbar även efter 2 ^ 64 meddelanden med samma nyckel.

03

Poly1305 autentisering

Poly1305 beräknar en 16-byte autentisering över chiffertexten och alla tillhörande data. Tampering med chiffertexten eller rubrikerna ogiltigförklarar taggen, och den mottagande klienten vägrar att dekryptera.

04

Fil streaming

Filer delas upp i bitar, var och en med sin egen nonce och Poly1305 tag. Chunks kan verifieras och dekrypteras i någon ordning, vilket möjliggör streaming nedladdning utan att vänta på hela filen.

03 Key points

Praktiska överväganden.

  1. 01

    Hårdvaruacceleration finns överallt

    Moderna CPU från Intel, AMD och ARM inkluderar alla AES-NI eller motsvarande vektor instruktioner. ChaCha20 är den valda chifferen för system utan hårdvara AES (mobilenheter) eller för sidokanalmotstånd.

  2. 02

    Ingen nonce återanvändning

    Nonce generation använder en per-message counter i kombination med den slumpmässiga nonce prefixet. Med 192-bitars nonces är återanvändning statistiskt omöjlig även efter miljarder meddelanden per session.

  3. 03

    Ständig implementering

    Referensimplementeringar av ChaCha20 är konstanta, vilket eliminerar sidokanalläckage av nyckelmaterial genom tids-eller cacheanalys.

  4. 04

    Biblioteksrevisioner

    De kryptografiska primitives kommer från @noble - granskade, allmänt använda, rena-TypeScript-implementeringar granskade av kryptografiska samhället - kör i klienten du kan inspektera. Alla är fria att granska vår användning av dem.

04b References

Standards and references.

05 Frequently asked

Frågor om XChaCha20-Poly1305.

Vad är XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 är en autentiserad kryptering med tillhörande data (AEAD) chiffer. Den kombinerar XChaCha20 stream chiffer (24-byte nonce variant av ChaCha20) med Poly1305 MAC för autentisering. Det anges i RFC 8439.RFC 8439) )

Varför använda XChaCha20 istället för AES-256-GCM?

Short answer

Båda är utmärkta chiffer. XCha20 har den praktiska fördelen med ständiga programvaruimplementeringar utan att kräva hårdvara AES-instruktioner, vilket gör det mer robust mot sidokanalattacker på mobila enheter. 192-bitars nonce gör också slumpmässiga konstruktioner säkra.

Vad är den effektiva nyckelstorleken mot kvantdatorer?

Short answer

Grover algoritm ger en kvadratisk speedup mot symmetriska chiffer. En 256-bitars nyckel behåller 128-bitars effektiv kvantsäkerhet, vilket är långt bortom någon trovärdig brute-force-kapacitet - inklusive kvantdatorer.

Vad är skillnaden mellan ChaCha20 och XCha20?

Short answer

XChaCha20 använder en 192-bitars nonce (24 byte) istället för ChaCha20s 96-bitars nonce (12 byte). De extra nonce bitarna härstammar genom att köra ChaCha20 med en härledd nyckel. Den längre nonce tillåter säker slumpmässig ingen generation utan utmattningsproblem.

Vad är Poly1305?

Short answer

Poly1305 är en snabb universell hashfunktion designad av Daniel J. Bernstein. I AEAD-konstruktioner som XChaCha20-Poly1305 beräknar Poly1305 en 16-bytesautentator över chiffertexten som bevisar att chiffertexten inte manipulerades.

Används XChaCha20-Poly1305 utanför UltimaOS?

Short answer

TLS 1.3 (RFC 8446) stöder ChaCha20-Poly1305 som en chiffer svit. WireGuard VPN använder ChaCha20-Poly1305 uteslutande. OpenSSH har använt ChaCha20-Poly1305 sedan version 6.5.

Tänk om en Poly1305 kollision inträffar?

Short answer

Poly1305 är en universell hash; dess produktion är oförsonlig under standard kryptografiska antaganden. Även om en kollision inträffade (sannolikhet ~ 2 ^-128), skulle det inte tillåta förfalskning utan att bryta Poly1305 själv, vilket skulle innebära att bryta AES.

Gratis för evigt

Gratis för individer och familjer. För evigt.

Inga annonser, ingen data mining, ingen provklocka. Individuella och familjekonton är gratis - permanent. Organisationer betalar per plats, och det är vad som finansierar det.

Begär ditt konto Inbjude-bara medan vi skala