00 Kryptografie

XChaCha20-Poly1305

RFC 8439 - autentizované šifrování s 192bit nule.

01 Overview

Proč symetrická šifra pro všechno.

01

Symetrické šifry jsou rychlé.

Autentizované symetrické šifrování běží na gigabajtech za sekundu na moderní CPU, objednávky velikosti rychlejší než veřejné klíčové operace. Použití symetrických primitiv pro aktuální data je jediná praktická volba v měřítku.

02

Kvantový dopad je omezený

Groverův algoritmus dává kvantovým počítačům kvartál zrychlený proti symetrickým šifrám. 256bitový klíč si uchová 128bitovou účinnou ochranu proti kvantovému útočníkovi - daleko nad rámec možných brutálních schopností.

03

XChaCha20 je moderní streamová šifra

ChaCha20 je proudová šifra navržená Danielem J. Bernsteinem v roce 2008, vybraná pro jeho jednoduchost, výkon a odpor vůči bočním útokům. Široce se používá: TLS 1.3, WireGuard, OpenSSH.

02 Details

Jak XChaCha20-Poly1305 funguje v UltimaOS.

Obložené výplaty na UltimaOS - chatové zprávy, pošta, soubory, poznámky, úkoly, dokumenty a tabulky - jsou šifrovány XChaCha20-Poly1305 pomocí 256-bitového symetrického klíče odvozeného ze sezení ML-KEM-768. Kalendářní události a historie rozhovorů AI jsou dnes mimo tuto obálku.

01

256bitové klávesy

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

02

192-bitové náhodné neshody

XChaCha20 's 192-bit nonce (24 bytes) je dost velký, že náhodné nonces lze bezpečně použít - pravděpodobnost kolize zůstává zanedbatelná i po 2 ^ 64 zprávách se stejným klíčem.

03

Poly1305 ověření

Poly1305 počítá autentizátor 16-byte přes šifrovaný text a související data. Manipulace s ciphertextem nebo hlavičkami zneplatňuje značku a přijímající klient odmítá dešifrovat.

04

Proudění souborů

Soubory jsou rozděleny na kousky, každý s vlastní nonce a Poly1305 tag. Kousky lze ověřit a dešifrovat v libovolném pořadí, umožňující streaming stahování bez čekání na celý soubor.

03 Key points

Praktické úvahy.

  1. 01

    Zrychlení hardwaru je všude.

    Moderní CPU z Intel, AMD a ARM všechny zahrnují AES-NI nebo rovnocenné vektorové instrukce. ChaCha20 je zvolená šifra pro systémy bez hardwarového AES (mobilní zařízení) nebo pro boční odpor.

  2. 02

    Žádné opětovné použití

    Generace Nonce používá čítač per-message v kombinaci s náhodnou prefixem nonce. S 192bitovou nonces je opakované použití statisticky nemožné i po miliardách zpráv na sezení.

  3. 03

    Implementace Konstant-time

    Referenční implementace ChaChaCha20 jsou konstant-time, odstranění bočnice-kanál úniku klíčového materiálu pomocí načasování nebo cache analýzy.

  4. 04

    Audity knihoven

    Kryptografické primitivy pocházejí z @ ušlechtilé - auditované, widely-použitý, pure-TypeScript implementace přezkoumávané kryptografickou komunitou - běží v klientovi můžete kontrolovat. Každý, kdo má právo kontrolovat, jak je využíváme.

04b References

Standards and references.

05 Frequently asked

Otázky týkající se XChaCha20-Poly1305.

Co je XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 je ověřené šifrování související šifrou dat (AEAD). Kombinuje proudovou šifru XChaChaCha20 (24-byte nule variantu ChaChaCha20) s MAC Poly1305 pro autentizaci. Je specifikován v RFC 8439. (RFC 8439)

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

Short answer

Oba jsou vynikající šifry. XChaCha20 má praktickou výhodu implementace constanttime software, aniž by vyžadoval hardwarové AES instrukce, takže je robustnější proti bočnicovým útokům na mobilní zařízení. 192-bit nonce také dělá randomizované - nonce konstrukce bezpečné.

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 účinnost kvantové bezpečnosti, což je daleko za hranicí možných schopností bruta-včetně kvantových počítačů.

Jaký je rozdíl mezi ChaCha20 a XChaCha20?

Short answer

XChaCha20 používá 192bitový nonce (24 bajtů) místo 96bitového nonce ChaCha20 (12 bajtů). Extra nonce bity jsou odvozeny spuštěním ChaCha20 s odvozeným klíčem. Delší nonce umožňuje bezpečnou náhodnou generaci nonce 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 AEAD konstrukcích, jako XChaCha20-Poly1305, Poly1305 počítá 16-byte autentizátor nad ciphertext, který dokazuje, že ciphertext nebyl manipulován.

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

Short answer

Ano. TLS 1.3 (RFC 8446) podporuje ChaChaCha20-Poly1305 jako kódovací apartmá. WireGuard VPN používá výhradně ChaChaCha20-Poly1305. OpenSSH používá ChaChaCha20-Poly1305 od verze 6.5.

Co když dojde ke kolizi Poly1305?

Short answer

Poly1305 je univerzální hašiš; jeho výstup je neopevněný podle standardních kryptografických předpokladů. I kdyby došlo ke srážce (pravděpodobnost ~ 2 ^ -128), nedovolilo by to padělání bez samotného porušení Poly1305, což by znamenalo porušení AES.

Svobodná navždy.

Svobodná pro jednotlivce a rodiny. Navždy.

Žádné reklamy, žádné dolování dat, žádné zkušební hodiny. Individuální a rodinné účty jsou zdarma - trvale. Organizace platí za místo, a to je to, co financuje.

Vyžádat si účet Pozvánka - pouze když jsme měřítko