Stream Cipher vs Block Cipher | Državna šifra vs blok šifra
U kriptografiji, Stream ciphers i Block ciphers su dva algoritma za šifriranje/dešifriranje koji pripadaju porodici šifri simetričnog ključa. Obično šifra uzima običan tekst kao ulaz i proizvodi šifrovani tekst kao izlaz. Blok šifre šifriraju blok bitova fiksne dužine koristeći nepromjenjivu transformaciju. Stream šifre šifriraju tokove bitova različite dužine i koriste različite transformacije na svakom bitu.
Šta je Stream Cipher?
Stream šifre pripadaju porodici šifri simetričnog ključa. Stream šifre kombinuju bite običnog teksta sa pseudoslučajnim tokom bitova šifre uz upotrebu operacije XOR (isključivo ili). Stream šifre šifriraju cifre otvorenog teksta jednu po jednu sa različitim transformacijama za uzastopne cifre. Budući da šifriranje svake cifre ovisi o trenutnom stanju mehanizma šifriranja, stream šifre su također poznate kao šifre stanja. Tipično, pojedinačni bitovi/bitovi se koriste kao jednocifrene cifre. Da biste izbjegli zabrinutost za sigurnost, treba se pobrinuti da se isto početno stanje ne koristi više od jednom. Najrasprostranjenija šifra toka je RC4.
Šta je blok šifra?
Blok šifra je još jedna šifra simetričnog ključa. Blok šifre rade na blokovima (grupama bitova) fiksne dužine. Blok šifre koriste fiksnu (nepromjenjivu) transformaciju za sve znamenke u bloku. Na primjer, kada se x-bitni blok običan tekst (zajedno sa tajnim ključem) pruži kao ulaz u motor blok šifriranja, on proizvodi odgovarajući x-bitni blok šifriranog teksta. Stvarna transformacija zavisi od tajnog ključa. Slično, algoritam za dešifriranje obnavlja originalni x-bitni blok otvorenog teksta koristeći x-bitni blok šifriranog teksta i gornji tajni ključ kao ulaz. U slučaju da je ulazna poruka preduga u odnosu na veličinu bloka, bit će razbijena na blokove i ovi blokovi će biti (pojedinačno) šifrirani istim ključem. Međutim, budući da se koristi isti ključ, svaka ponovljena sekvenca u običnom tekstu postaje ista ponovljena sekvenca u šifriranom tekstu, a to može uzrokovati sigurnosne probleme. Popularne blok šifre su DES (standard šifriranja podataka) i AES (napredni standard šifriranja).
Koja je razlika između stream šifre i blok šifre?
Iako i stream šifre i blok šifre pripadaju porodici simetričnih šifriranih šifri, postoje neke ključne razlike. Blok šifre šifriraju blokove bitova fiksne dužine, dok stream šifre kombinuju bite običnog teksta sa pseudoslučajnim protokom bitova šifre koristeći XOR operaciju. Iako blok šifre koriste istu transformaciju, stream šifre koriste različite transformacije zasnovane na stanju mašine. Stream šifre se obično izvršavaju brže od blok šifre. U smislu hardverske složenosti, stream šifre su relativno manje složene. Stream šifre su tipična prednost u odnosu na blok šifre kada je običan tekst dostupan u različitim količinama (na primjer, sigurnu wifi vezu), jer blok šifre ne mogu raditi direktno 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, kada se koriste određeni načini rada, blok šifra može koristiti da djeluje kao stream šifra dozvoljavajući mu da šifrira najmanju raspoloživu jedinicu podataka.