Přejít na obsah
00 Kryptografie

XChaCha20-Poly1305

RFC 8439 — autentizované šifrování s 192bitovou noncí.

01 Overview

Proč symetrická šifra pro všechno.

01

Symetrické šifry jsou rychlé

Autentizované symetrické šifrování běží rychlostí gigabajtů za sekundu na moderním CPU, což je řádově rychlejší než operace s veřejným klíčem. Použití symetrických primitiv pro skutečná data je jedinou praktickou volbou ve velkém měřítku.

02

Kvantový dopad je omezený

Groverův algoritmus dává kvantovým počítačům odmocninové zrychlení proti symetrickým šifrám. 256bitový klíč si zachovává 128bitovou efektivní bezpečnost proti kvantovému útočníkovi — což je daleko za jakoukoli myslitelnou schopností hrubé síly.

03

XChaCha20 je moderní proudová šifra

ChaCha20 je proudová šifra navržená Danielem J. Bernsteinem v roce 2008, vybraná pro svou jednoduchost, výkon a odolnost proti útokům postranními kanály. Je široce používána: TLS 1.3, WireGuard, OpenSSH.

02 Details

Jak XChaCha20-Poly1305 funguje v UltimaOS.

Obálkové datové obsahy na UltimaOS — chatové zprávy, e-maily, soubory, poznámky, úkoly, dokumenty a tabulky — jsou šifrovány pomocí XChaCha20-Poly1305 s 256bitovým symetrickým klíčem odvozeným z relace ML-KEM-768. Události kalendáře a historie konverzací AI jsou dnes mimo tuto obálku.

01

256bitové relace klíčů

Každá konverzace, sdílení souborů nebo hovor používá nový 256bitový symetrický klíč odvozený z zapouzdření ML-KEM-768. Na serveru není žádný dlouhodobý symetrický klíč.

02

192bitové náhodné nonce

192bitová nonce XChaCha20 (24 bajtů) je dostatečně velká, aby bylo možné bezpečně použít náhodné nonce — pravděpodobnost kolize zůstává zanedbatelná i po 2^64 zprávách se stejným klíčem.

03

Autentizace Poly1305

Poly1305 vypočítává 16bajtový autentizátor nad šifrovaným textem a jakýmikoli přidruženými daty. Manipulace se šifrovaným textem nebo hlavičkami zneplatní značku a přijímající klient odmítne dešifrovat.

04

Streamování souborů

Soubory jsou rozděleny na bloky, každý s vlastní noncí a značkou Poly1305. Bloky lze ověřit a dešifrovat v libovolném pořadí, což umožňuje streamované stahování bez čekání na celý soubor.

03 Key points

Praktické úvahy.

  1. 01

    Hardwarová akcelerace je všude

    Moderní CPU od Intelu, AMD a ARM obsahují AES-NI nebo ekvivalentní vektorové instrukce. ChaCha20 je vybraná šifra pro systémy bez hardwarového AES (mobilní zařízení) nebo pro odolnost proti postranním kanálům.

  2. 02

    Žádné opakování nonce

    Generování nonce používá počítadlo na zprávu kombinované s náhodnou předponou nonce. S 192bitovými noncemi je opakování statisticky nemožné i po miliardách zpráv na relaci.

  3. 03

    Implementace v konstantním čase

    Referenční implementace ChaCha20 jsou v konstantním čase, což eliminuje únik klíčového materiálu postranními kanály prostřednictvím časování nebo analýzy mezipaměti.

  4. 04

    Prověrky knihoven

    Kryptografická primitiva pocházejí z @noble — prověřené, široce používané implementace v čistém TypeScriptu, které zkontrolovala kryptografická komunita — běžící v klientovi, který můžete prozkoumat. Každý si může svobodně prověřit naše použití.

04b References

Standards and references.

05 Frequently asked

Otázky o XChaCha20-Poly1305.

Co je XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 je šifra s autentizovaným šifrováním s přidruženými daty (AEAD). Kombinuje proudovou šifru XChaCha20 (varianta ChaCha20 s 24bajtovou noncí) s MAC Poly1305 pro autentizaci. Je specifikována v RFC 8439. (RFC 8439)

Proč používat XChaCha20 místo AES-256-GCM?

Short answer

Obě jsou vynikající šifry. XChaCha20 má praktickou výhodu implementací v konstantním čase bez nutnosti hardwarových instrukcí AES, což ji činí odolnější proti útokům postranními kanály na mobilních zařízeních. 192bitová nonce také činí konstrukce s náhodnou noncí bezpečnými.

Jaká je efektivní velikost klíče proti kvantovým počítačům?

Short answer

Groverův algoritmus poskytuje kvadratické zrychlení proti symetrickým šifrám. 256bitový klíč si zachovává 128bitovou efektivní kvantovou bezpečnost, což je daleko za jakoukoli myslitelnou schopností hrubé síly — včetně kvantových počítačů.

Jaký je rozdíl mezi ChaCha20 a XChaCha20?

Short answer

XChaCha20 používá 192bitovou nonci (24 bajtů) místo 96bitové nonce ChaCha20 (12 bajtů). Další bity nonce jsou odvozeny spuštěním ChaCha20 s odvozeným klíčem. Delší nonce umožňuje bezpečné generování náhodných noncí bez obav z vyčerpání.

Co je Poly1305?

Short answer

Poly1305 je rychlá univerzální hašovací funkce navržená Danielem J. Bernsteinem. V konstrukcích AEAD, jako je XChaCha20-Poly1305, Poly1305 vypočítává 16bajtový autentizátor nad šifrovaným textem, který dokazuje, že šifrovaný text nebyl pozměněn.

Používá se XChaCha20-Poly1305 mimo UltimaOS?

Short answer

Ano. TLS 1.3 (RFC 8446) podporuje ChaCha20-Poly1305 jako šifrovací sadu. WireGuard VPN používá výhradně ChaCha20-Poly1305. OpenSSH používá ChaCha20-Poly1305 od verze 6.5.

Co když dojde ke kolizi Poly1305?

Short answer

Poly1305 je univerzální haš; jeho výstup je nezfalšovatelný za standardních kryptografických předpokladů. I kdyby došlo ke kolizi (pravděpodobnost ~2^-128), neumožnila by falšování bez prolomení samotného Poly1305, což by znamenalo prolomení AES.

Navždy zdarma

Zdarma pro jednotlivce a rodiny. Navždy.

Žádné reklamy, žádné dolování dat, žádné časové limity. Individuální a rodinné účty jsou zdarma — trvale. Organizace platí za místo, a to je to, co to financuje.

Požádejte o účet Pouze na pozvání, dokud škálujeme