Siirry sisältöön
00 Kryptografia

XChaCha20-Poly1305

RFC 8439 — todennettu salaus 192-bittisellä nonce-arvolla.

01 Overview

Miksi symmetrinen salaus kaikkeen.

01

Symmetriset salaukset ovat nopeita

Todennettu symmetrinen salaus toimii gigatavuja sekunnissa nykyaikaisella CPU:lla, mikä on kertaluokkia nopeampaa kuin julkisen avaimen toiminnot. Symmetristen primitiivien käyttö varsinaiselle datalle on ainoa käytännöllinen valinta suuressa mittakaavassa.

02

Kvanttivaikutus on rajallinen

Groverin algoritmi antaa kvanttitietokoneille neliöjuurinopeutuksen symmetrisiä salauksia vastaan. 256-bittinen avain säilyttää 128-bittisen efektiivisen turvallisuuden kvanttihyökkääjää vastaan — kaukana yli mahdollisen raa'an voiman kapasiteetin.

03

XChaCha20 on moderni virtasalaus

ChaCha20 on Daniel J. Bernsteinin vuonna 2008 suunnittelema virtasalaus, joka valittiin yksinkertaisuutensa, suorituskykynsä ja sivukanavahyökkäysten kestävyytensä vuoksi. Sitä käytetään laajalti: TLS 1.3, WireGuard, OpenSSH.

02 Details

Kuinka XChaCha20-Poly1305 toimii UltimaOS:ssä.

UltimaOS:n verhotut hyötykuormat — chat-viestit, sähköposti, tiedostot, muistiinpanot, tehtävät, asiakirjat ja taulukot — salataan XChaCha20-Poly1305:llä käyttäen 256-bittistä symmetristä avainta, joka johdetaan ML-KEM-768-istunnosta. Kalenteritapahtumat ja tekoälykeskusteluhistoria ovat tänään tämän kuoren ulkopuolella.

01

256-bittiset istuntoavaimet

Jokainen keskustelu, tiedostonjako tai puhelu käyttää uutta 256-bittistä symmetristä avainta, joka johdetaan ML-KEM-768-kapseloinnista. Palvelimella ei ole pitkäaikaista symmetristä avainta.

02

192-bittiset satunnaiset nonce-arvot

XChaCha20:n 192-bittinen nonce (24 tavua) on riittävän suuri, jotta satunnaisia nonce-arvoja voidaan käyttää turvallisesti — törmäystodennäköisyys pysyy merkityksettömänä jopa 2^64 viestin jälkeen samalla avaimella.

03

Poly1305-todennus

Poly1305 laskee 16-tavun todennuskoodin salatekstistä ja mahdollisista liitetyistä tiedoista. Salatekstin tai otsikoiden peukalointi mitätöi tunnisteen, ja vastaanottava asiakas kieltäytyy purkamasta salausta.

04

Tiedostojen suoratoisto

Tiedostot jaetaan lohkoihin, joilla jokaisella on oma nonce ja Poly1305-tunniste. Lohkot voidaan varmistaa ja purkaa missä tahansa järjestyksessä, mikä mahdollistaa suoratoistolatauksen odottamatta koko tiedostoa.

03 Key points

Käytännön näkökohtia.

  1. 01

    Laitteistokiihdytys on kaikkialla

    Nykyaikaiset Intel-, AMD-ja ARM-suorittimet sisältävät AES-NI:n tai vastaavat vektoriohjeet. ChaCha20 on valittu salaus järjestelmiin, joissa ei ole laitteisto-AES:ää (mobiililaitteet) tai sivukanavakestävyyden vuoksi.

  2. 02

    Ei nonce-toistoa

    Nonce-generointi käyttää viestikohtaista laskuria yhdistettynä satunnaiseen nonce-etuliitteeseen. 192-bittisillä nonce-arvoilla toisto on tilastollisesti mahdotonta jopa miljardien viestien jälkeen istuntoa kohden.

  3. 03

    Vakioaikainen toteutus

    ChaCha20:n referenssitoteutukset ovat vakioaikaisia, mikä eliminoi avainmateriaalin sivukanavavuodot ajoituksen tai välimuistianalyysin kautta.

  4. 04

    Kirjastojen tarkastukset

    Kryptografiset primitiivit tulevat @noble-kirjastosta — tarkastetut, laajalti käytetyt, puhtaasti TypeScriptillä toteutetut ja kryptoyhteisön arvioimat toteutukset — jotka toimivat selaimessa, jota voit tarkastella. Kuka tahansa voi vapaasti tarkastaa käyttöämme.

04b References

Standards and references.

05 Frequently asked

Kysymyksiä XChaCha20-Poly1305:stä.

Mikä on XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 on todennettu salaus liitetyillä tiedoilla (AEAD) -salaus. Se yhdistää XChaCha20-virtasalauksen (24-tavuinen nonce-muunnelma ChaCha20:stä) Poly1305-MAC:iin todennusta varten. Se on määritelty RFC 8439:ssä. (RFC 8439)

Miksi käyttää XChaCha20:tä AES-256-GCM:n sijaan?

Short answer

Molemmat ovat erinomaisia salauksia. XChaCha20:llä on käytännön etu vakioaikaisista ohjelmistototeutuksista ilman laitteisto-AES-ohjeita, mikä tekee siitä kestävämmän sivukanavahyökkäyksiä vastaan mobiililaitteissa. 192-bittinen nonce tekee myös satunnaisnonce-rakenteista turvallisia.

Mikä on efektiivinen avaimen koko kvanttitietokoneita vastaan?

Short answer

Groverin algoritmi antaa neliöllisen nopeutuksen symmetrisiä salauksia vastaan. 256-bittinen avain säilyttää 128-bittisen kvanttiturvallisuuden, mikä on kaukana yli mahdollisen raa'an voiman kapasiteetin — myös kvanttitietokoneille.

Mitä eroa on ChaCha20:llä ja XChaCha20:llä?

Short answer

XChaCha20 käyttää 192-bittistä noncea (24 tavua) ChaCha20:n 96-bittisen noncen (12 tavua) sijaan. Ylimääräiset nonce-bitit johdetaan ajamalla ChaCha20 johdetulla avaimella. Pidempi nonce mahdollistaa turvallisen satunnaisnonce-generoinnin ilman ehtymishuolia.

Mikä on Poly1305?

Short answer

Poly1305 on nopea universaalihajautusfunktio, jonka on suunnitellut Daniel J. Bernstein. AEAD-rakenteissa, kuten XChaCha20-Poly1305, Poly1305 laskee 16-tavun todennuskoodin salatekstistä, joka todistaa, ettei salatekstiä ole peukaloitu.

Käytetäänkö XChaCha20-Poly1305:ää UltimaOS:n ulkopuolella?

Short answer

Kyllä. TLS 1.3 (RFC 8446) tukee ChaCha20-Poly1305:tä salausmenetelmänä. WireGuard VPN käyttää yksinomaan ChaCha20-Poly1305:tä. OpenSSH on käyttänyt ChaCha20-Poly1305:tä versiosta 6.5 lähtien.

Mitä jos Poly1305-törmäys tapahtuu?

Short answer

Poly1305 on universaalihajautus; sen tulos on väärentämätön standardikryptografisten oletusten alla. Vaikka törmäys tapahtuisi (todennäköisyys ~2^-128), se ei mahdollistaisi väärentämistä rikkomatta Poly1305:tä itseään, mikä merkitsisi AES:n rikkomista.

Ilmainen ikuisesti

Ilmainen yksityishenkilöille ja perheille. Ikuisesti.

Ei mainoksia, ei tiedonkeruuta, ei kokeilujakson ajastinta. Yksityishenkilöiden ja perheiden tilit ovat ilmaisia — pysyvästi. Organisaatiot maksavat paikasta, ja se rahoittaa toiminnan.

Pyydä tiliä Vain kutsusta, kunnes skaalaamme