Glavna razlika između blok šifre i stream šifre je da blok šifrira i dešifrira blok teksta odjednom. S druge strane, stream šifrira i dešifrira tekst uzimanjem jednog bajta teksta odjednom.
Tablica usporedbe
Osnova za usporedbu | Blokirana šifra | Stream šifra |
---|---|---|
Osnovni, temeljni | Pretvara obični tekst uzimajući njegov blok u isto vrijeme. | Pretvara tekst uzimajući jedan bajt običnog teksta odjednom. |
Složenost | Jednostavan dizajn | Kompleksno usporedno |
Broj korištenih bitova | 64 bitova ili više | 8 bitova |
Zbunjenost i difuzija | Koristi i zbunjenost i difuziju | Oslanja se samo na zbunjenost |
Korišteni načini algoritma | ECB (elektronička knjiga kodova) CBC (Chaining Block Chaining) | CFB (povratne informacije o šiframa) OFB (povratna veza izlaza) |
preokretljivost | Reverziranje šifriranog teksta je teško. | Koristi XOR za enkripciju koja se lako može preokrenuti u običan tekst. |
izvršenje | Feistel Cipher | Vernam Cipher |
Definicija blok šifre
Blok šifra uzima poruku i razbija je u fiksnu veličinu blokova i pretvara jedan blok poruke u trenu. Na primjer, imamo poruku u običnom tekstu "STREET_BY_STREET" koja mora biti šifrirana. Koristeći bock šifru, "STREET" mora prvo biti šifriran, nakon čega slijedi "_BY_" i na kraju "STREET".
U stvarnoj praksi, komunikacija se odvija samo u bitovima. Stoga STREET zapravo znači binarni ekvivalent ASCII znaka STREET-a. Nakon toga, svaki algoritam ih šifrira; rezultirajući bitovi se transformiraju natrag u njihov ASCII ekvivalent.
Očigledan problem u korištenju Blok šifri je ponavljanje teksta, za koji se generira ista šifra. Dakle, to bi dalo naznaku kriptoanalitičaru koji olakšava otkrivanje ponavljajućih nizova običnog teksta. Kao rezultat, može otkriti cijelu poruku.
Kako bi se prevladali problemi, koristi se način ulančavanja . U ovoj tehnici, prethodni blok šifriranog teksta pomiješan je s trenutnim blokom, tako da se na šifrirani tekst nejasno izbjegavaju ponavljajući obrasci blokova s istim sadržajem.
Definicija Stream Cipher
Stream Cipher obično kriptira jedan bajt poruke u tom trenutku umjesto da koristi blokove. Uzmimo primjer, pretpostavimo da je izvorna poruka (običan tekst) u plavom nebu u ASCII (tj. Formatu teksta). Kada te ASCII pretvorite u ekvivalentne binarne vrijednosti, on će dati izlaz u obliku 0 i 1. Neka se prevede u 010111001.
Za enkripciju i dešifriranje koristi se pseudoslučajni generator bita u kojem se učitava ključ i običan tekst. Generator pseudoslučajnih bitova stvara tok od 8-bitnih brojeva koji su naizgled slučajni, a poznati su kao keystream . Neka ulazni ključ bude 100101011. Sada je ključ i obični tekst XOR. XOR logika je jednostavna za razumijevanje.
XOR daje izlaz 1 kada je jedan ulaz 0, a drugi je 1. Izlaz je 0 ako su oba ulaza 0 ili su oba ulaza 1.
Zbunjenost je metoda koja jamči da šifrirani tekst ne daje nikakav trag o izvornom običnom tekstu.
Difuzija je strategija koja se koristi za poboljšanje redundancije običnog teksta širenjem po redovima i stupcima.
Ključne razlike između Blok šifre i Stream Cipher
- Tehnika blok šifriranja podrazumijeva enkripciju jednog bloka teksta odjednom, tj. Pojedinačno. Slično tome, dešifrirajte tekst tako što ćete uzeti jedan blok za drugim. Nasuprot tome, Stream cipher tehnika uključuje enkripciju i dešifriranje jednog bajta teksta odjednom.
- Blok šifra koristi i konfuziju i difuziju, dok se stream šifra oslanja samo na konfuziju.
- Uobičajena veličina bloka može biti 64 ili 128 bita u blokovskoj šifri. Nasuprot tome, 1 bajt (8 bita) se pretvara u toknu šifru.
- Blok šifra koristi ECB (Electronic Code Book) i CBC (Cipher Block Chaining) algoritam modove. Naprotiv, Stream šifra koristi CFB (Cipher Feedback) i OFB (Output Feedback) algoritamski mod.
- Stream šifra koristi XOR funkciju za pretvaranje običnog teksta u šifrirani tekst, zbog čega je lako preokrenuti XOR-ove bitove. Dok Blok šifra ne koristi XOR za to.
- Blok šifra koristi isti ključ za šifriranje svakog bloka, a potisna šifra koristi drugi ključ za svaki bajt.
Zaključak:
Block Cipher i Stream Cipher razlikuju se u načinu na koji se običan tekst šifrira i dešifrira. Ideja blok šifre je podijeliti običan tekst u blokove koji dalje šifriraju te blokove. Dok stream cipher pretvara običan tekst bit po bit sličan stream.