Kryptering > Ordliste > ChaCha20
Hvad er ChaCha20?
ChaCha20 hjælper med at beskytte Deres data, når De sender beskeder, gemmer filer eller browser privat ved hjælp af en app eller tjeneste.
Det er en moderne krypteringsalgoritme, der er designet til at holde oplysninger fortrolige, samtidig med at den forbliver hurtig og effektiv på tværs af en lang række enheder.
Lær, hvordan ChaCha20 fungerer, hvorfor det er vigtigt i moderne kryptografi, og hvordan det kan sammenlignes med AES.

Hvad er ChaCha20?
ChaCha20 er en lynhurtig, let og yderst sikker 256-bit symmetrisk nøgle-cipher, der bruges til at kryptere og dekryptere data. Den blev designet af Daniel J. Bernstein som en forbedring af en tidligere krypteringsalgoritme kaldet Salsa20. Målet var at skabe noget, der er både effektivt og sikkert, især i software.
Sådan fungerer ChaCha20
ChaCha20 krypterer data ved at generere en strøm af sikre pseudorandome bytes og kombinere denne strøm med den originale besked. Resultatet er et krypteret output, der ser tilfældigt ud for enhver uden den hemmelige nøgle.
Da den bruger den samme nøgle til at kryptere og dekryptere data, er ChaCha20 meget hurtigere end RSA, som er en asymmetrisk algoritme, der bruger en offentlig nøgle og en privat nøgle. RSA er nyttig til nøgleudveksling og signaturer, men ChaCha20 er bedre til at kryptere store mængder internettrafik.

Overordnet set tager ChaCha20 imod tre input: en hemmelig nøgle, en nonce (et tal, der kun bruges én gang — en unik værdi, der bruges til hver kryptering) og en tæller (for at hjælpe med at generere forskellige outputblokke). Den bruger disse værdier til at initialisere en intern tilstand, som derefter blandes gentagne gange for at generere en strøm af sikre pseudorandome bytes kendt som nøglestrømmen.
Denne blandingsproces afhænger af tre simple operationer — addition, XOR og bit-rotation — anvendt over 20 runder for at blande dataene grundigt. Den resulterende nøglestrøm kombineres derefter med klarteksten for at producere chifferteksten — de krypterede data.
Hvorfor ChaCha20 er vigtig
ChaCha20 løser et praktisk problem inden for moderne sikkerhed: hvordan man opnår stærk kryptering, der er både effektiv og pålidelig på tværs af mange enheder. Den er meget hurtig i software, god på telefoner, små enheder og ældre CPU'er samt baseret på simple operationer, som computere er gode til (addere, XOR'e, rotere).
Disse funktioner gør den attraktiv i systemer som TLS, VPN'er(nyt vindue), SSH og besked-apps. For eksempel bruges ChaCha20 af WireGuard®(nyt vindue)-VPN-protokollen(nyt vindue) til at levere hurtig, sikker kryptering med stærk ydeevne, selv på enheder, der mangler specialiseret AES-hardware.
ChaCha20 vs. AES
Her er, hvordan ChaCha20 kan sammenlignes med AES:
Aspekt | ChaCha20 | AES |
|---|---|---|
Chiffertype | Strømchiffer | Blokchiffer |
Grundlæggende operation | Adderer/XOR'er/roterer på 32-bit ord | Substitution-permutation på 128-bit blokke |
Standardnøglestørrelser | 256-bit | 128, 192, 256-bit |
Ydeevne på CPU'er uden specialiseret hardware | Normalt meget hurtig | Ofte langsommere end ChaCha20 |
Ydeevne på CPU'er med hardwareacceleration | Taber normalt til AES med AES-NI / ARM-kryptoudvidelser | Ofte ekstremt hurtig |
Typisk autentificeret tilstand | ChaCha20-Poly1305 | AES-GCM |
Almindelige anvendelsesscenarier | TLS på mobil/integreret, ren software-kryptering, WireGuard® | TLS, diskkryptering, virksomhedssystemer, hardwareunderstøttet kryptering |
Bedst egnet til | Portabilitet, ensartet softwarehastighed, mere sikker softwareimplementering | Maksimal hastighed på moderne hardware, bred overholdelse/support |
AES-kryptering er den længe etablerede standard og er ekstremt hurtig på processorer med indbygget AES-hardwaresupport. Af den grund yder den særligt godt på mange stationære computere, servere og nyere mobilchips. Uden AES-hardwaresupport kan ren software-AES dog være langsommere og nogle gange sværere at implementere sikkert. I modsætning hertil er ChaCha20 designet til at være meget hurtig i almindelig software, fordi den bruger simple operationer som addition, XOR og rotation, der fungerer effektivt på næsten enhver processor.
Hvis en applikation tilbyder både AES og ChaCha20, behøver De normalt ikke at vælge en manuelt, da de fleste moderne apps automatisk vælger den bedste mulighed baseret på Deres enhed og processor. Generelt yder AES bedst på nyere enheder med indbygget AES-support, mens ChaCha20 er et stærkere valg på enheder, hvor kryptering hovedsageligt håndteres i software, såsom visse telefoner, lavenergi-hardware eller ældre CPU'er.
Er ChaCha20 sikker?
ChaCha20 anses for at være sikker efter moderne standarder, når den implementeres korrekt og bruges med en unik nonce til hver kryptering.
Stærk kryptering
ChaCha20 bruger 20 runder af add-rotate-XOR-operationer og anses for at være modstandsdygtig over for kendte praktiske angreb.
God softwaresikkerhed
Dens simple design gør den effektiv i software og kan reducere nogle af de sidekanalsrisici, der ses i visse AES-implementeringer.
Bredt udrullet
ChaCha20 understøttes af de førende browsere og bruges i moderne HTTPS/TLS-forbindelser, SSH og WireGuard®.
Normalt parret med Poly1305
Den bruges ofte som ChaCha20-Poly1305, hvilket beskytter både fortrolighed og beskedintegritet. ChaCha20-Poly1305 er en af de primære symmetriske krypteringsmuligheder, der bruges i TLS 1.3.
Proton VPN og ChaCha20
Med Proton VPN’s WireGuard®-protokol(nyt vindue) hjælper ChaCha20-Poly1305 med at sikre VPN-tunnellen, så Deres internettrafik forbliver privat uden at gå på kompromis med hastigheden, uanset om De browser privat, streamer indhold eller bruger offentligt WiFi på farten.



