Kryptering > Ordliste > ChaCha20
Hva er ChaCha20?
ChaCha20 bidrar til å beskytte dataene dine når du sender meldinger, lagrer filer eller surfer privat med en app eller tjeneste.
Det er en moderne krypteringsalgoritme utviklet for å holde informasjon konfidensiell, samtidig som den er rask og effektiv på en lang rekke enheter.
Lær hvordan ChaCha20 fungerer, hvorfor det er viktig i moderne kryptografi og hvordan det kan sammenlignes med AES.

Hva er ChaCha20?
ChaCha20 er et raskt, lett og svært sikkert 256-biters symmetrisk nøkkelchiffer som brukes til å kryptere og dekryptere data. Det ble utviklet av Daniel J. Bernstein som en forbedring av et tidligere chiffer kalt Salsa20. Målet var å lage noe som er både effektivt og sikkert, spesielt i programvare.
Slik fungerer ChaCha20
ChaCha20 krypterer data ved å generere en strøm av sikre pseudotilfeldige byte og kombinere denne strømmen med den opprinnelige meldingen. Resultatet er kryptert utdata som ser tilfeldig ut for alle uten den hemmelige nøkkelen.
Fordi det bruker samme nøkkel til å kryptere og dekryptere data, er ChaCha20 mye raskere enn RSA, en asymmetrisk algoritme som bruker en offentlig nøkkel og en privat nøkkel. RSA er nyttig for nøkkelutveksling og signaturer, men ChaCha20 er bedre til å kryptere store mengder internettrafikk.

På et overordnet nivå tar ChaCha20 tre inndata: en hemmelig nøkkel, en nonce (et tall som brukes én gang – en unik verdi som brukes for hver kryptering), og en teller (for å bidra til å generere ulike utdatablokker). Det bruker disse verdiene til å initialisere en intern tilstand, som deretter blandes gjentatte ganger for å generere en strøm av sikre pseudotilfeldige byte kjent som nøkkelstrømmen.
Blandeprosessen er basert på tre enkle operasjoner – addisjon, XOR og bitrotasjon – som brukes over 20 runder for å blande dataene grundig. Nøkkelstrømmen som oppstår, blir deretter kombinert med den rene teksten for å produsere chifferteksten – de krypterte dataene.
Hvorfor ChaCha20 er viktig
ChaCha20 løser et praktisk problem i moderne sikkerhet: hvordan få sterk kryptering som er både effektiv og pålitelig på tvers av mange enheter. Den er veldig rask i programvare, god på telefoner, små enheter og eldre prosessorer, og basert på enkle operasjoner datamaskiner utfører godt (addere, XOR, rotere).
Disse funksjonene gjør den attraktiv i systemer som TLS, VPN-er(nytt vindu), SSH og meldingsapper. For eksempel brukes ChaCha20 av WireGuard®(nytt vindu)-VPN-protokollen(nytt vindu) for å gi rask, sikker kryptering med sterk ytelse selv på enheter som mangler spesialisert AES-maskinvare.
ChaCha20 vs. AES
Slik er ChaCha20 sammenlignet med AES:
Aspekt | ChaCha20 | AES |
|---|---|---|
Chiffertype | Strømchiffer | Blokkchiffer |
Grunnleggende operasjon | Adderer/XOR-er/roterer på 32-biters ord | Substitusjon-permutasjon på 128-biters blokker |
Standard nøkkelstørrelser | 256-bit | 128, 192, 256-bit |
Ytelse på prosessorer uten spesiell maskinvare | Vanligvis svært rask | Ofte tregere enn ChaCha20 |
Ytelse på prosessorer med maskinvareakselerasjon | Taper vanligvis mot AES med AES-NI / ARM-kryptoutvidelser | Ofte ekstremt rask |
Typisk autentisert modus | ChaCha20-Poly1305 | AES-GCM |
Vanlige bruksområder | TLS på mobil/innfelt, programvarebasert krypto, WireGuard® | TLS, diskkryptering, bedriftssystemer, maskinvarestøttet kryptering |
Best egnet | Portabilitet, konsekvent programvarehastighet, sikrere programvareimplementering | Maksimal hastighet på moderne maskinvare, bred samsvar/støtte |
AES-kryptering er den veletablerte standarden og er ekstremt rask på prosessorer med innebygd AES-maskinvarestøtte. På grunn av det fungerer den spesielt godt på mange stasjonære datamaskiner, tjenere og nyere mobilbrikker. Uten AES-maskinvarestøtte kan imidlertid ren programvare-AES være tregere og noen ganger vanskeligere å implementere på en sikker måte. ChaCha20 er derimot utviklet for å være svært rask i vanlig programvare fordi den bruker enkle operasjoner som addisjon, XOR og rotasjon, som fungerer effektivt på nesten alle prosessorer.
Hvis en applikasjon tilbyr både AES og ChaCha20, trenger du vanligvis ikke å velge én manuelt, siden de fleste moderne apper velger det beste alternativet automatisk basert på enheten og prosessoren din. Generelt sett fungerer AES best på nyere enheter med innebygd AES-støtte, mens ChaCha20 er et sterkere valg på enheter der kryptering hovedsakelig håndteres i programvare, som enkelte telefoner, maskinvare med lavt strømforbruk eller eldre prosessorer.
Er ChaCha20 trygt?
ChaCha20 anses som sikkert etter moderne standarder når det er riktig implementert og brukes med en unik nonce for hver kryptering.
Sterk kryptering
ChaCha20 bruker 20 runder med addere-rotere-XOR-operasjoner og anses å være motstandsdyktig mot kjente praktiske angrep.
God programvaresikkerhet
Den enkle utformingen gjør den effektiv i programvare og kan redusere noen sidekanalrisikoer som ses i visse AES-implementeringer.
Mye distribuert
ChaCha20 støttes av store nettlesere og brukes i moderne HTTPS/TLS-tilkoblinger, SSH og WireGuard®.
Vanligvis parret med Poly1305
Det brukes ofte som ChaCha20-Poly1305, som beskytter både konfidensialitet og meldingsintegritet. ChaCha20-Poly1305 er et av hovedalternativene for symmetrisk kryptering som brukes i TLS 1.3.
Proton VPN og ChaCha20
Med Proton VPNs WireGuard®-protokoll(nytt vindu) bidrar ChaCha20-Poly1305 til å sikre VPN-tunnelen, slik at internettrafikken din forblir privat uten at det går på bekostning av hastigheten, enten du surfer privat, strømmer innhold eller bruker offentlig Wi-Fi på farten.



