Stream-cifre er velegnede til hardware-applikationer i realtid.
En chiffer er et sæt matematiske regler eller algoritmer, der bruges til at konvertere læsbar tekst eller almindelig tekst til ulæselig tekst eller chiffertekst. Den principielle forskel mellem stream-cifre og blok-cifre er, at stream-cifre fungerer på tekststrømme, en bit eller én byte ad gangen, mens blok-ciffer virker på tekstblokke.
Stream Cipher
Den grundlæggende idé med en strømchiffer er at opdele tekst i små blokke, en bit eller en byte lang, og kode hver blok afhængigt af mange tidligere blokke. Streamkrypteringskoder bruger en anden krypteringsnøgle -- en værdi som skal føres ind i algoritmen -- for hver bit eller byte, så den samme bit eller byte producerer forskellig krypteringstekst hver gang den krypteres. Nogle stream-cifre bruger en keystream-generator, som producerer en tilfældig eller næsten tilfældig strøm af bits. Chifferen udfører en boolsk operation, kendt som en eksklusiv OR, mellem bits i nøglestrømmen og bits i almindelig tekst for at producere chiffertekst.
Dagens video
Bloker chiffer
Den grundlæggende idé med en blokchiffer er at opdele tekst i relativt store blokke, typisk 64 eller 128 bit lange, og kode hver blok separat. Den samme krypteringsnøgle bruges til hver blok, og det er krypteringsnøglen, der bestemmer rækkefølge, hvori substitution, transport og andre matematiske funktioner udføres på hver blok. Stærke algoritmer betyder, at reverse engineering af chifferen, eller at bestemme, hvilke funktioner der blev udført på hver blok, i hvilken rækkefølge, praktisk talt umuligt.
Diffusion og forvirring
Blokcifre bruger teknikker kendt som forvirring og diffusion til at kryptere almindelig tekst til chiffertekst. Ideen bag forvirring er at gøre forholdet mellem krypteringsnøglen og chifferteksten så kompleks som muligt. Ideelt set bør hvert tegn i krypteringsnøglen påvirke hvert tegn i chifferteksten. I modsætning hertil spreder diffusion indflydelsen af hvert tegn i klarteksten over flere tegn i chifferteksten, hvilket gør chifferen mindre modtagelig for statistiske angreb.
Fordele og ulemper
Det faktum, at stream-cifre krypterer og dekrypterer data en bit ad gangen, betyder, at de er særligt velegnede til real-time hardware-applikationer, såsom lyd- og videoapplikationer. Stream-cifre er svagere og mindre effektive end blok-cifre, når det kommer til softwareapplikationer og bruges mindre hyppigt i den sfære. Blokcifre er nemmere at implementere i software, fordi de krypterer data i blokke af en længde, som software allerede bruger. Krypteringsnøglen har ofte samme længde som blokstørrelsen.