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:
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.



