Stream Cipher vs Block Cipher | Državna šifra vs Blok šifra
U kriptografiji su Stream i Block šifre dva algoritma za šifriranje / dešifriranje koji pripadaju obitelji simetričnih šifriranih ključeva. Šifra obično uzima običan tekst kao ulaz, a šifrirani tekst daje kao izlaz. Blok šifre šifriraju blok bitova fiksne duljine koristeći nepromjenjivu transformaciju. Stream šifre šifriraju tokove bitova različite duljine i koriste različitu transformaciju na svakom bitu.
Što je stream šifra?
Potočne šifre pripadaju obitelji simetričnih ključnih šifri. Stream šifre kombiniraju bitove u običnom tekstu s pseudo slučajnim bitovima bitova šifre, uz upotrebu XOR (ekskluzivne ili) operacije. Stream šifre šifriraju običan tekst znamenke jednu po jednu s različitim transformacijama za uzastopne znamenke. Budući da šifriranje svake znamenke ovisi o trenutnom stanju mehanizma šifriranja, protočne šifre poznate su i kao državne šifre. Obično se pojedinačni bitovi / zalogaji koriste kao jednoznamenkasti. Da biste izbjegli sigurnosne probleme, treba osigurati da se isto početno stanje ne koristi više puta. Najšire korištena strujna šifra je RC4.
Što je blok šifra?
Blok šifra je još jedna simetrična šifra ključa. Blok šifre djeluju na blokove (skupine bitova) fiksne duljine. Blok šifre koriste fiksnu (nepromjenjivu) transformaciju za sve znamenke u bloku. Na primjer, kada se x-bitni blok običnog teksta (zajedno s tajnim ključem) daje kao ulaz u mehanizam blok šifre, on proizvodi odgovarajući x-bitni blok šifriranog teksta. Stvarna transformacija ovisi o tajnom ključu. Slično tome, algoritam dešifriranja obnavlja izvorni x-bitni blok otvorenog teksta koristeći x-bitni blok šifreteksta i gornji tajni ključ kao ulaz. U slučaju da je ulazna poruka preduga u usporedbi s veličinom bloka, ona će se raščlaniti na blokove i ti će blokovi (pojedinačno) biti šifrirani istim ključem. Međutim, budući da se koristi isti ključ,svaki ponovljeni slijed u običnom tekstu postaje isti ponovljeni slijed u šifriranom tekstu, a to bi moglo uzrokovati sigurnosne probleme. Popularne blok šifre su DES (Data Encryption Standard) i AES (Advanced Encryption Standard).
Koja je razlika između protočne šifre i blok šifre?
Iako i stream šifre i blok šifre pripadaju obitelji simetričnih šifrirnih šifri, postoje neke ključne razlike. Blok šifre šifriraju blokove bitova fiksne duljine, dok streamove šifre kombiniraju bitove običnog teksta s pseudoslučajnim bitovima šifri pomoću XOR operacije. Iako blok šifre koriste istu transformaciju, strujne šifre koriste različite transformacije ovisno o stanju motora. Stream šifre obično se izvršavaju brže od blok šifri. Što se tiče hardverske složenosti, stream šifre su relativno manje složene. Stream šifre su tipična prednost nad blok šiframa kada je običan tekst dostupan u različitim količinama (npr. Za sigurnu wifi vezu), jer blok šifre ne mogu izravno raditi na blokovima kraćim od veličine bloka. Ali ponekad,razlika između stream šifri i blok šifri nije baš jasna. Razlog je taj što se kod korištenja određenih načina rada blok šifra može koristiti kao stream šifra dopuštajući joj da šifrira najmanju dostupnu jedinicu podataka.