Proton-etusivu

Salaus > Sanasto > ChaCha20

Mitä on ChaCha20?

ChaCha20 auttaa suojaamaan tietojanne, kun lähetätte viestejä, tallennatte tiedostoja tai selaatte yksityisesti sovelluksen tai palvelun avulla.

Se on moderni salausalgoritmi, joka on suunniteltu pitämään tiedot luottamuksellisina ja samalla toimimaan nopeasti ja tehokkaasti monenlaisilla laitteilla.

Ota selvää, miten ChaCha20 toimii, miksi sillä on merkitystä modernissa kryptografiassa ja miten se vertautuu AES-algoritmiin.

Mitä on ChaCha20?

ChaCha20 on nopea, kevyt ja erittäin turvallinen 256-bittinen symmetrisen avaimen salausmenetelmä jota käytetään tietojen salaamiseen ja salauksen purkamiseen. Sen on suunnitellut Daniel J. Bernstein parannukseksi aiempaan Salsa20-nimiseen salausmenetelmään. Tavoitteena oli luoda jotain, joka on sekä tehokas että turvallinen, erityisesti ohjelmistoissa.

Miten ChaCha20 toimii

ChaCha20 salaa tiedot generoimalla suojatun pseudosatunnaisen tavuvirran ja yhdistämällä kyseisen virran alkuperäiseen viestiin. Tuloksena on salattu tuloste, joka näyttää satunnaiselta kenelle tahansa, jolla ei ole salaista avainta.

Koska se käyttää samaa avainta tietojen salaamiseen ja salauksen purkamiseen, ChaCha20 on paljon nopeampi kuin RSA, joka on julkista avainta ja yksityistä avainta käyttävä epäsymmetrinen algoritmi. RSA on hyödyllinen avaintenvaihdossa ja allekirjoituksissa, mutta ChaCha20 on parempi suurten internet-tietoliikennemäärien salaamiseen.

Yleisellä tasolla ChaCha20 ottaa kolme syötettä: salaisen avaimen, noncen (kerran käytettävän numeron – yksilöllisen arvon, jota käytetään jokaisessa salauksessa) ja laskurin (auttamaan erilaisten tulostelohkojen luomisessa). Se alustaa näillä arvoilla sisäisen tilan, jota sekoitetaan sitten toistuvasti suojatun, avainvirtana tunnetun pseudosatunnaisen tavuvirran generoimiseksi.

Sekoitusprosessi perustuu kolmeen yksinkertaiseen operaatioon – yhteenlaskuun, XOR-operaatioon ja bittikiertoon – joita käytetään 20 kierroksen ajan tietojen sekoittamiseksi perusteellisesti. Saatu avainvirta yhdistetään sitten pelkkään tekstiin salatekstin – eli salatun tiedon – tuottamiseksi.

Miksi ChaCha20 on tärkeä

ChaCha20 ratkaisee käytännön ongelman nykyaikaisessa tietoturvassa: miten saada vahva salaus, joka on sekä tehokas että luotettava monissa eri laitteissa. Se on erittäin nopea ohjelmistoissa, hyvä puhelimissa, pienissä laitteissa ja vanhemmissa suorittimissa, ja se perustuu yksinkertaisiin operaatioihin, joissa tietokoneet ovat hyviä (yhteenlasku, XOR, kierto).

Nämä ominaisuudet tekevät siitä houkuttelevan järjestelmissä, kuten TLS, VPN-palvelut(uusi ikkuna), SSH ja viestintäsovellukset. Esimerkiksi WireGuard®(uusi ikkuna)-VPN-protokolla(uusi ikkuna) käyttää ChaCha20-algoritmia tarjotakseen nopean ja turvallisen salauksen sekä vahvan suorituskyvyn myös laitteissa, joista puuttuu erikoistunut AES-laitteisto.

ChaCha20 vs. AES

Näin ChaCha20 vertautuu AES-algoritmiin:

ChaCha20 vs. AES

Näkökulma

ChaCha20

AES

Salaustyyppi

Jonosalaus

Lohkosalaus

Perusoperaatio

Yhteenlaskut/XOR-operaatiot/kierrot 32-bittisille sanoille

Substituutio-permutaatio 128-bittisille lohkoille

Standardit avainkoot

256-bittinen

128-, 192-, 256-bittinen

Suorituskyky suorittimilla ilman erityistä laitteistoa

Yleensä erittäin nopea

Usein hitaampi kuin ChaCha20

Suorituskyky suorittimilla, joissa on laitteistokiihdytys

Häviää yleensä AES-algoritmille käytettäessä AES-NI- / ARM-salauslaajennuksia

Usein erittäin nopea

Tyypillinen todennettu tila

ChaCha20-Poly1305

AES-GCM

Yleiset käyttötapaukset

TLS mobiililaitteissa/upotetuissa järjestelmissä, pelkästään ohjelmistopohjainen salaus, WireGuard®

TLS, levynsalaus, yritysjärjestelmät, laitteistopohjainen salaus

Paras soveltuvuus

Siirrettävyys, tasainen ohjelmistonopeus, turvallisempi ohjelmistototeutus

Maksimaalinen nopeus nykyaikaisella laitteistolla, laaja vaatimustenmukaisuus/tuki

AES-salaus on pitkään vakiintunut standardi, ja se on erittäin nopea suorittimilla, joissa on sisäänrakennettu AES-laitteistotuki. Tästä johtuen se suoriutuu erityisen hyvin monissa pöytäkoneissa, palvelimissa ja uudemmissa mobiilisiruissa. Ilman AES-laitteistotukea pelkkään ohjelmistoon perustuva AES voi kuitenkin olla hitaampi ja joskus vaikeampi toteuttaa turvallisesti. Sitä vastoin ChaCha20 on suunniteltu erittäin nopeaksi tavallisissa ohjelmistoissa, koska se käyttää yksinkertaisia operaatioita, kuten yhteenlaskua, XOR-operaatiota ja bittikiertoa, jotka toimivat tehokkaasti lähes kaikilla suorittimilla.

Jos sovellus tarjoaa sekä AES- että ChaCha20-vaihtoehdon, Teidän ei yleensä tarvitse valita niistä jompaakumpaa manuaalisesti, sillä useimmat nykyaikaiset sovellukset valitsevat paremman vaihtoehdon automaattisesti laitteenne ja suorittimenne perusteella. Yleisesti ottaen AES toimii parhaiten uudemmissa laitteissa, joissa on sisäänrakennettu AES-tuki, kun taas ChaCha20 on vahvempi valinta laitteissa, joissa salaus hoidetaan pääasiassa ohjelmistossa, kuten joissakin puhelimissa, vähävirtaisissa laitteissa tai vanhemmissa suorittimissa.

Onko ChaCha20 turvallinen?

ChaCha20-algoritmia pidetään nykystandardien mukaan turvallisena, kun se on toteutettu oikein ja kun sitä käytetään yksilöllisen noncen kanssa jokaisessa salauksessa.

Vahva salaus

ChaCha20 käyttää 20 kierrosta yhteenlasku-kierto-XOR-operaatioita ja sen katsotaan kestävän tunnettuja käytännön hyökkäyksiä.

Hyvä ohjelmistoturvallisuus

Sen yksinkertainen rakenne tekee siitä tehokkaan ohjelmistoissa ja voi vähentää joitakin sivukanavariskejä, joita esiintyy tietyissä AES-toteutuksissa.

Laajasti käyttöönotettu

Suurimmat selaimet tukevat ChaCha20-algoritmia, ja sitä käytetään nykyaikaisissa HTTPS-/TLS-yhteyksissä, SSH-yhteyksissä ja WireGuard®-protokollassa.

Yleensä paritettu Poly1305-algoritmin kanssa

Sitä käytetään usein muodossa ChaCha20-Poly1305, mikä suojaa sekä luottamuksellisuutta että viestin eheyttä. ChaCha20-Poly1305 on yksi tärkeimmistä TLS 1.3 -protokollassa käytettävistä symmetrisistä salausvaihtoehdoista.

Proton VPN ja ChaCha20

Proton VPN:n WireGuard®-protokollan(uusi ikkuna) avulla ChaCha20-Poly1305 auttaa suojaamaan VPN-tunnelin niin, että internet-tietoliikenteenne pysyy yksityisenä nopeutta uhraamatta – olittepa sitten selaamassa yksityisesti, suoratoistamassa sisältöä tai käyttämässä julkista Wi-Fi-yhteyttä liikkeellä ollessanne.

Lue lisää salauksesta