00 Kryptografia

XChaCha20-Poly1305

RFC 8439 - uwierzytelnione szyfrowanie z 192bit nonce.

01 Overview

Dlaczego symetryczny szyfr do wszystkiego.

01

Szyfry symetryczne są szybkie.

Uwierzytelnione szyfrowanie symetryczne działa na gigabajtach na sekundę na nowoczesnym CPU, rzędy wielkości szybciej niż operacje klucza publicznego. Korzystanie z symetrycznych pierwotnych danych jest jedynym praktycznym wyborem w skali.

02

Wpływ kwantowy jest ograniczony

Algorytm Grovera daje komputerom kwantowym pierwiastek kwadratowy przyspiesza działanie symetrycznych szyfrów. Klucz 256-bitowy zachowuje 128-bitowe skuteczne zabezpieczenie przed atakiem kwantowym - daleko poza możliwościami brutalnej siły.

03

XChaCha20 to nowoczesny szyfr strumieniowy

ChaCha20 to szyfr strumieniowy zaprojektowany przez Daniela J. Bernsteina w 2008 roku, wybrany ze względu na prostotę, wydajność i odporność na ataki boczne. Jest szeroko stosowany: TLS 1.3, WireGuard, OpenSSH.

02 Details

Jak działa XChaCha20-Poly1305 w UltimaOS.

Kopertowane ładunki na UltimaOS - wiadomości czatowe, wiadomości pocztowe, pliki, notatki, zadania, dokumenty i arkusze kalkulacyjne - są szyfrowane za pomocą XChaCha20-Poly1305 za pomocą klawisza symetrycznego 256-bitowego uzyskanego z sesji ML-KEM-768. Wydarzenia z kalendarza i historia rozmów z AI są poza tą kopertą.

01

Klucze sesji 256-bit

Każda rozmowa, udostępnianie plików lub wywołanie używa świeżego klucza symetrycznego 256-bitowego, pochodzącego z obudowy ML-KEM-768. Na serwerze nie ma długoterminowego klucza symetrycznego.

02

192-bitowy losowy nonces

XChaCha20 's 192-bit nonce (24 bajty) jest na tyle duży, że można bezpiecznie używać przypadkowych noncji - prawdopodobieństwo zderzenia pozostaje nieistotne nawet po 2 ^ 64 wiadomości z tym samym kluczem.

03

Uwierzytelnianie Poly1305

Poly1305 oblicza 16-bajtowy uwierzytelniacz nad szyfrem i wszystkimi powiązanymi danymi. Manipulowanie szyfrem lub nagłówkami unieważnia znacznik, a odbiorca odmawia odszyfrowania.

04

Strumieniowanie plików

Pliki dzielone są na kawałki, z których każdy posiada własny znacznik nonce i Poly1305. Fragmenty można zweryfikować i odszyfrować w dowolnej kolejności, umożliwiając pobieranie strumieniowe bez oczekiwania na pełny plik.

03 Key points

Praktyczne rozważania.

  1. 01

    Przyspieszenie sprzętowe jest wszędzie

    Nowoczesne CPU z Intel, AMD i ARM zawierają AES-NI lub równoważne instrukcje wektorowe. ChaCha20 to wybrany szyfr dla systemów bez sprzętu AES (urządzeń mobilnych) lub dla oporności bocznej.

  2. 02

    Brak ponownego użycia

    Nonce generation używa licznika komunikatów w połączeniu z losowym przedrostkiem nonce. Z 192-bitowych encji, ponowne użycie jest statystycznie niemożliwe nawet po miliardach wiadomości na sesję.

  3. 03

    Trwałe wdrożenie

    Referencyjne implementacje ChaChaCha20 to czas stały, eliminujący wyciek bocznych kanałów kluczowych materiałów poprzez analizę czasu lub pamięci podręcznej.

  4. 04

    Audyty bibliotek

    Primitives kryptograficzne pochodzą z @ noble - skontrolowane, widely-used, pure-TypeScript implementations review by the cryptographic community - działa w kliencie można sprawdzić. Każdy może kontrolować nasze wykorzystanie.

04b References

Standards and references.

05 Frequently asked

Pytania o XChaCha20-Poly1305.

Co to jest XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 jest uwierzytelnionym szyfrowaniem z powiązanym szyfrem danych (AEAD). Łączy szyfr strumieniowy XChaChaCha20 (24-bajtowy nonce wariant ChaCha20) z poli1305 MAC do uwierzytelniania. Jest określony w RFC 8439. (RFC 8439)

Po co używać XChaCha20 zamiast AES-256-GCM?

Short answer

Obie są doskonałe. XChaCha20 ma praktyczną zaletę implementacji oprogramowania constant-time bez konieczności obsługi sprzętowej instrukcji AES, co czyni go bardziej odpornym na ataki boczne na urządzenia mobilne. W 192-bit nonce sprawia również, że losowo-nonce konstrukcje bezpieczne.

Jaki jest efektywny rozmiar klucza wobec komputerów kwantowych?

Short answer

Algorytm Grovera zapewnia kwadratowe przyspieszenie przeciw symetrycznym szyfrom. Klucz 256-bitowy zachowuje 128-bitowe skuteczne bezpieczeństwo kwantowe, które jest daleko poza jakąkolwiek wiarygodną zdolność brutalnej siły - w tym przez komputery kwantowe.

Jaka jest różnica między ChaCha20 a XChaCha20?

Short answer

XChaCha20 używa nonce 192-bitowej (24 bajty) zamiast 96-bitowej nonce Cha20 (12 bajtów). Dodatkowe nonce bity są generowane przez uruchomienie Cha20 za pomocą pochodnego klucza. Dłuższy jeden raz pozwala na bezpieczne losowe jedno pokolenie bez wyczerpania.

Co to jest Poly1305?

Short answer

Poly1305 jest szybką uniwersalną funkcją hashową zaprojektowaną przez Daniela J. Bernsteina. W konstrukcjach AEAD, takich jak XChaCha20-Poly1305, Poly1305 oblicza 16-bajtowy uwierzytelniacz nad szyfrem, który dowodzi, że szyfr nie został sfałszowany.

Czy XChaCha20-Poly1305 jest stosowany poza UltimaOS?

Short answer

Tak. TLS 1.3 (RFC 8446) obsługuje ChaCha20-Poly1305 jako pakiet szyfrowy. WireGuard VPN wykorzystuje wyłącznie Cha20-Poly1305. OpenSSH stosuje ChaCha20-Poly1305 od wersji 6.5.

Co jeśli nastąpi zderzenie z Poly1305?

Short answer

Poly1305 jest uniwersalnym hashem; jego wyjście nie jest obsługiwane przez standardowe założenia kryptograficzne. Nawet gdyby doszło do kolizji (prawdopodobieństwo ~ 2 ^ -128), nie pozwoliłoby na fałszerstwo bez złamania samego Poly1305, co oznaczałoby złamanie AES.

Wolny na zawsze

Wolny dla osób i rodzin. Na zawsze.

Żadnych reklam, danych, czasu próbnego. Konta indywidualne i rodzinne są bezpłatne - na stałe. Organizacje płacą za miejsce i to je finansuje.

Poproś o konto Invite - tylko podczas skalowania