00 Kryptographie

XChaCha20-Poly1305

RFC 8439 - authentifizierte Verschlüsselung mit einer 192-Bit-Nonce.

01 Overview

Warum eine symmetrische Chiffre für alles.

01

Symmetrische Chiffren sind schnell

Die authentifizierte symmetrische Verschlüsselung läuft mit Gigabyte pro Sekunde auf einer modernen CPU, um Größenordnungen schneller als Public-Key-Operationen. Die Verwendung symmetrischer Primitive für tatsächliche Daten ist die einzige praktische Wahl im Maßstab.

02

Quantum Impact ist begrenzt

Der Grover-Algorithmus gibt Quantencomputern eine Quadratwurzel-Beschleunigung gegenüber symmetrischen Chiffren. Ein 256-Bit-Schlüssel behält 128-Bit effektive Sicherheit gegen einen Quantenangriff - weit über jede plausible Brute-Force-Fähigkeit hinaus.

03

XChaCha20 ist eine moderne Stream-Chiffre

ChaCha20 ist eine Stream-Chiffre, die 2008 von Daniel J. Bernstein entworfen wurde und aufgrund ihrer Einfachheit, Leistung und Widerstandsfähigkeit gegen Seitenkanalangriffe ausgewählt wurde. Es ist weit verbreitet: TLS 1.3, WireGuard, OpenSSH.

02 Details

Wie XChaCha20-Poly1305 in UltimaOS funktioniert.

Eingebettete Nutzlasten auf UltimaOS - Chat-Nachrichten, Mails, Dateien, Notizen, Aufgaben, Dokumente und Tabellenkalkulationen - werden mit XChaCha20-Poly1305 unter Verwendung eines 256-Bit-symmetrischen Schlüssels verschlüsselt, der aus der ML-KEM-768-Sitzung abgeleitet wird. Kalenderereignisse und ki-konversationsgeschichte liegen heute außerhalb dieses umschlags.

01

256-Bit-Sitzungsschlüssel

Jede konversation, dateifreigabe oder jeder aufruf verwendet einen neuen 256-bit-symmetrischen schlüssel, der aus der ML-KEM-768-kapselung abgeleitet wird. Es gibt keinen langfristigen symmetrischen Schlüssel auf dem Server.

02

192-Bit-Nonces

XChaCha20s 192-Bit-Nonce (24 Bytes) ist groß genug, dass zufällige Nonces sicher verwendet werden können - die Kollisionswahrscheinlichkeit bleibt auch nach 2 ^ 64 Nachrichten mit dem gleichen Schlüssel vernachlässigbar.

03

Poly1305 Authentifizierung

Poly1305 berechnet einen 16-Byte-Authentifikator über den Geheimtext und alle zugehörigen Daten. Die Manipulation des Geheimtexts oder der Header ungültig macht das Tag, und der empfangende Client weigert sich zu entschlüsseln.

04

Datei-Streaming

Dateien werden in Stücke aufgeteilt, jede mit ihrer eigenen Nonce und Poly1305 Tag. Chunks können in beliebiger Reihenfolge verifiziert und entschlüsselt werden, wodurch der Streaming-Download ermöglicht wird, ohne auf die vollständige Datei zu warten.

03 Key points

Praktische Überlegungen.

  1. 01

    Hardware-Beschleunigung ist überall

    Moderne CPUs von Intel, AMD und ARM enthalten alle AES-NI oder gleichwertige Vektoranweisungen. ChaCha20 ist die gewählte Chiffre für Systeme ohne Hardware AES (Mobilgeräte) oder für Seitenkanalwiderstand.

  2. 02

    Nonce-Wiederverwendung

    Nonce Generation verwendet einen Per-Message-Zähler kombiniert mit dem Zufalls-Nonce-Präfix. Mit 192-Bit-Nonces ist eine Wiederverwendung auch nach Milliarden von Nachrichten pro Sitzung statistisch unmöglich.

  3. 03

    Konstante Umsetzung

    Referenzimplementierungen von ChaCha20 sind zeitlich konstant und eliminieren Seitenkanalverluste von Schlüsselmaterial durch Timing oder Cache-Analyse.

  4. 04

    Bibliotheksaudits

    Die kryptografischen Primitiven stammen von @noble - geprüfte, weit verbreitete, reine TypeScript-Implementierungen, die von der kryptografischen Community überprüft wurden - und laufen im Client, den Sie inspizieren können. Jeder ist frei, unsere Verwendung von ihnen zu überprüfen.

04b References

Standards and references.

05 Frequently asked

Fragen zu XChaCha20-Poly1305.

Was ist XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 ist eine authentifizierte Verschlüsselung mit zugehörigen Daten (AEAD). Es kombiniert die XChaCha20-Stream-Chiffre (24-Byte-Nonce-Variante von ChaCha20) mit dem Poly1305 MAC zur Authentifizierung. Sie ist in RFC 8439 spezifiziert. ()RFC 8439)

Warum XChaCha20 anstelle von AES-256-GCM verwenden?

Short answer

Beide sind ausgezeichnete Chiffren. XChaCha20 hat den praktischen Vorteil von Softwareimplementierungen mit konstanter Zeit, ohne dass Hardware-AES-Anweisungen erforderlich sind, was es robuster gegen Seitenkanalangriffe auf mobile Geräte macht. Die 192-Bit-Nonce macht auch Random-Nonce-Konstruktionen sicher.

Was ist die effektive Schlüsselgröße gegen Quantencomputer?

Short answer

Grovers Algorithmus bietet eine quadratische Beschleunigung gegen symmetrische Chiffren. Ein 256-Bit-Schlüssel behält 128-Bit effektive Quantensicherheit, die weit über jede plausible Brute-Force-Fähigkeit hinausgeht - auch von Quantencomputern.

Was ist der Unterschied zwischen ChaCha20 und XChaCha20?

Short answer

XChaCha20 verwendet eine 192-Bit-Nonce (24 Bytes) anstelle der 96-Bit-Nonce von ChaCha20 (12 Bytes). Die zusätzlichen Nonce-Bits werden durch Ausführen von ChaCha20 mit einem abgeleiteten Schlüssel abgeleitet. Die längere Nonce ermöglicht eine sichere Zufalls-Nonce-Generierung ohne Erschöpfungsbedenken.

Was ist Poly1305?

Short answer

Poly1305 ist eine schnelle universelle Hash-Funktion, die von Daniel J. Bernstein entworfen wurde. In AEAD-Konstruktionen wie XChaCha20-Poly1305 berechnet Poly1305 einen 16-Byte-Authentifikator über den Geheimtext, der beweist, dass der Geheimtext nicht manipuliert wurde.

Wird XChaCha20-Poly1305 außerhalb von UltimaOS verwendet?

Short answer

TLS 1.3 (RFC 8446) unterstützt ChaCha20-Poly1305 als Verschlüsselungssuite. WireGuard VPN verwendet ausschließlich ChaCha20-Poly1305. OpenSSH verwendet ChaCha20-Poly1305 seit Version 6.5.

Was passiert, wenn eine Poly1305 Kollision auftritt?

Short answer

Poly1305 ist ein universeller Hash; seine Ausgabe ist unter Standard-kryptographischen Annahmen nicht fälschbar. Selbst wenn eine Kollision auftritt (Wahrscheinlichkeit ~2^-128), würde sie keine Fälschung zulassen, ohne Poly1305 selbst zu brechen, was bedeuten würde, AES zu brechen.

Frei für immer

Kostenlos für Einzelpersonen und Familien. Für immer.

Keine Werbung, kein Data Mining, keine Trial Clock. Privat-und Familienkonten sind kostenlos - dauerhaft. Organisationen zahlen pro Sitz, und das ist, was es finanziert.

Fordern Sie Ihr Konto an Nur einladen, während wir skalieren