Hvad er en streamciffer?

En streamciffer er en type algoritme, der bruges i datakryptering, hvor kilden, der skal krypteres, behandles mod en nøglesekvens, der vises tilfældig. Denne type chiffer er lidt fleksibel i den forstand, at den kan variere krypteringen, når teksten behandles. De omtales også undertiden som en statusciffer, fordi kryptering også afhænger af den aktuelle tilstand af operationen. I modsætning til blokciffer, der fungerer på bunker af data 64 bit ad gangen, kan en strømciffer fungere på en enkelt bit. Af denne grund kan en strøm behandles i høje hastigheder med meget lidt processorkraft.

Den første strømciffer blev udtænkt af Gilbert Vernam i 1917. Vernam hjalp senere også med at skabe en chiffer kendt som engangspuden, som er en form for strømciffer, der bruger en engangsnøgle til at kryptere dataene. I en engangspude er den genererede nøgle den samme længde som de data, der skal krypteres, er helt tilfældige og bruges aldrig igen andre steder, deraf navnet.

Når der behandles mod de data, der skal krypteres, typisk benævnt ren tekst, er den resulterende chiffertekst umulig at dekryptere uden nøglen. Engangspuden er vanskelig at håndtere i de fleste scenarier og bruges derfor kun til meget eksklusive situationer. Stadigvis betragtes en strømciffer normalt som nyttig, så nøglerne blev forkortet og gjort pseudorandom, hvilket betyder, at de er statistisk tilfældige, men i virkeligheden ikke.

Streamkryptering har muligheden for at kryptere undervejs. På denne måde er det endda nemt at udføre enkle strømcipre af mennesker på pen og papir, mens en blokciffer typisk kræver brug af en computer til at behandle. Kladteksten flyder gennem krypteringsprocessen sammen med keystream, pseudorandom-sekvensen, der udgør nøglen, hvor den konverteres og kommer ud i den anden ende som ciffertext.

Normalt sker denne kryptering via en eksklusiv eller (XOR) operation på de enkelte bits, når de passerer gennem chifferet. En simpel XOR-chiffer bruger en type logisk adskillelse som basis, som i det væsentlige siger, at resultatet kan være sandt, hvis begge operander er rigtige, men ikke begge dele. For eksempel, hvis en bit, der bevæger sig gennem krypteringsprocessen, er en nul eller en, og den parrede keystream-bit ikke stemmer overens, er den resulterende output en. Hvis bit og parret keystream bit stemmer overens, hvor begge er en, eller begge er en nul, er resultatet et nul. Den krypterede strøm af ene og nuller dekrypteres derefter i den anden ende af transmissionen ved hjælp af den samme nøglestrøm til at konvertere bitene tilbage til deres oprindelige sletekst.

Der er to typer strømciffer. Ved hjælp af en synkron metode oprettes keystream adskilt fra almindelig tekst eller chiffertekst og flettes derefter for at tilvejebringe kryptering eller dekryptering. Med denne metode skal både de sendende og modtagende ender af transmissionen forblive synkroniseret, hvor de fungerer på den samme nøgle og den samme position i nøglen. Hvis der opstår et problem, skal dekrypteringen enten begynde forfra, eller der kan være flag placeret med mellemrum i hele cifferteksten, der indikerer nye startpunkter. En selvsynkroniserende chiffer, på den anden side, vil opdatere keystream baseret på et antal tidligere cifre i chifferteksten.

En af de mest anvendte strømciffer, kaldet RC4, blev oprettet af RSA Data Security®. Det er licenseret til og brugt i et antal softwareprodukter samt den SSL-protokol (Socket Socket Layer), der bruges i sikker internetkommunikation og WEP-kryptering (Wired equivalent privacy), der bruges med trådløse enheder. En anden ofte brugt ciffer er kendt som ORYX, der har fundet anvendelse i mobiltelefondatatransmissioner, der skal krypteres. IBM® har også udviklet en strømkrypteringsmetode kendt som SEAL, som har fundet anvendelse i harddiskkryptering.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?