RC4 (Rivest Cipher 4) er en strømkryptering designet av Ron Rivest i 1987. Den krypterer data ved å generere en pseudorandom strøm av bits (kalt en nøkkelstrøm) som kombineres med klartekstdataene, vanligvis ved hjelp av en XOR-operasjon, for å produsere kryptert tekst.
Kryptering: Hver byte av klartekst kombineres med en tilsvarende byte fra nøkkelstrømmen for å generere kryptert tekst.
Dekryptering: Den samme nøkkelstrømmen brukes til å XOR-ere kryptert tekst og gjenopprette den opprinnelige klarteksten.
Hastighet: RC4 er kjent for sin hastighet og effektivitet, spesielt i miljøer med begrensede ressurser.
Enkelhet: Den er enkel å implementere og krever minimale ressurser, noe som gjør den egnet for miljøer med begrenset prosessorkraft.
Historisk bruk: RC4 ble mye brukt i protokoller som SSL/TLS for sikker kommunikasjon og WEP for trådløs nettverkssikkerhet.
Nøkkelgenerering: En hemmelig nøkkel (vanligvis mellom 40 og 2048 bits) brukes til å initialisere RC4 tilstand.
Generering av nøkkelstrøm: RC4-algoritmen genererer en pseudotilfeldig nøkkelstrøm basert på nøkkelen.
Kryptering: Hver byte med klartekst blir XOR-et med nøkkelstrømbyten, noe som resulterer i kryptert tekst.
Dekryptering: Den samme nøkkelstrømmen brukes til å XOR-e kryptert tekst og gjenopprette den opprinnelige klarteksten.
Biblioteker/verktøy: RC4 støttes i forskjellige biblioteker, selv om det ofte er utdatert av sikkerhetsmessige årsaker:
Python: pycryptodome-bibliotek.
Java: javax.crypto-pakken (selv om bruken frarådes til fordel for sterkere algoritmer).
C#: Navnerommet System.Security.Cryptography.
Eldre systemer: Når man jobber med eldre systemer som fortsatt bruker RC4-kryptering (f.eks. gamle SSL/TLS-implementeringer).
Ikke-kritiske applikasjoner: Hvis du jobber med prosjekter der hastighet er viktigere enn sikkerhet, frarådes dette generelt til fordel for sterkere chiffer.
Utdanningsformål: RC4 brukes ofte til undervisning om symmetriske chiffer og strømchiffer på grunn av dens enkelhet.