Glavna razlika med blokovno šifro in potisno šifro je, da blok šifrira in dešifrira blok besedila hkrati. Po drugi strani pa potisno šifrira in dešifrira besedilo tako, da vzame en bajt besedila hkrati.
Primerjalna tabela
Podlaga za primerjavo | Blokirana šifra | Pretočna šifra |
---|---|---|
Osnovno | Pretvori golo besedilo tako, da naenkrat blokira. | Pretvori besedilo tako, da naenkrat vzame en bajt navadnega besedila. |
Zapletenost | Enostavna zasnova | Kompleksno primerjalno |
Št. Uporabljenih bitov | 64 bitov ali več | 8 Bitov |
Zmedenost in razpršenost | Uporablja tako zmedo kot difuzijo | Samo na zmedo |
Uporabljeni algoritemski načini | ECB (elektronska koda) CBC (Caining Block Chaining) | CFB (povratne informacije o šifri) OFB (izhodna povratna informacija) |
Reverzibilnost | Obračanje šifriranega besedila je težko. | Uporablja XOR za šifriranje, ki ga je mogoče preprosto obrniti na golo besedilo. |
Izvajanje | Feistel Cipher | Vernam Cipher |
Opredelitev blokovne šifre
Block Cipher sprejme sporočilo in ga razdeli v fiksno velikost blokov in v trenutku pretvori en blok sporočila. Na primer, imamo sporočilo v golem besedilu »STREET_BY_STREET«, ki mora biti šifrirano. Z uporabo bock šifre mora biti »STREET« najprej šifriran, sledi »_BY_« in nazadnje »STREET«.
V praksi se komunikacija dogaja samo v bitih. STREET torej dejansko pomeni binarni ekvivalent ASCII znaka STREET. Kasneje jih vsak algoritem šifrira; nastali biti se pretvorijo nazaj v njihov ASCII ekvivalent.
Očitna težava pri uporabi blokovnih šifer je ponavljanje besedila, za katerega se generira ista šifra. Zato bi kriptoanalitiki dali namig, zaradi česar je lažje ugotoviti ponavljajoče se nizove navadnega besedila. Posledično lahko razkrije celotno sporočilo.
Da bi se izognili temu problemu, se uporablja način vezanja . Pri tej tehniki se predhodni blok šifriranega besedila zmeša s trenutnim blokom, tako da se pri šifriranem besedilu nejasno izognemo ponavljajočim se vzorcem blokov z isto vsebino.
Definicija Stream Cipher
Stream Cipher tipično šifrira en bajt sporočila v tistem trenutku namesto uporabe blokov. Vzemimo za primer, predpostavimo , da je izvirno sporočilo (golo besedilo) v modrem nebu (ASCII). Ko pretvorite te ASCII v enakovredne binarne vrednosti, bo izhod v obliki 0 in 1. Naj se prevede v 010111001.
Za šifriranje in dešifriranje se uporablja generator psevdarandomskih bitov, v katerem sta naložena ključ in navadno besedilo. Generator psevdarantnih bitov ustvari tok 8-bitnih števil, ki so na videz naključne, imenovane keystream . Naj bo vhodna tipka 100101011. Sedaj je ključ in odprto besedilo XORed. Logika XOR je preprosta za razumevanje.
XOR proizvaja izhod 1, če je en vhod 0, drugi pa 1. Izhod je 0, če sta oba vhoda 0 ali oba vhoda sta 1.
Zmedenost je metoda, ki zagotavlja, da šifrirano besedilo ne daje pojma o izvirnem navadnem besedilu.
Difuzija je strategija, ki se uporablja za povečanje redundance navadnega besedila z razširitvijo po vrsticah in stolpcih.
Ključne razlike med blok-kodo in kodo Stream
- Tehnika blok šifriranja vključuje šifriranje enega bloka besedila naenkrat, tj. Posamezno. Podobno dešifrirajte besedilo z enim blokom za drugim. V nasprotju s tem, tehnika Stream šifrira šifriranje in dešifriranje enega bajta besedila hkrati.
- Blok šifra uporablja tako zmedo kot difuzijo, medtem ko se tok s šifro opira le na zmedo.
- Običajna velikost bloka je lahko 64 ali 128 bitov v blokovni šifri. V nasprotju s tem se pretvori 1 bajt (8 bitov) v tokovno kodo.
- Blok šifra uporablja načine algoritma ECB (Electronic Code Book) in CBC (Cipher Block Chaining) . Nasprotno, Stream šifra uporablja CFB (Cipher Feedback) in OFB (Output Feedback) algoritemske načine.
- Stream šifra uporablja funkcijo XOR za pretvorbo navadnega besedila v šifrirano besedilo, zaradi česar je enostavno zamenjati bitove XOR. Medtem ko blok šifra ne uporablja XOR za to.
- Blok šifra uporablja isti ključ za šifriranje vsakega bloka, medtem ko tok v šifri uporablja različne ključe za vsak bajt.
Sklep:
Block Cipher in Stream Cipher se razlikujeta po načinu šifriranja in dešifriranja navadnega besedila. Ideja blokovne šifre je razdelitev navadnega besedila v bloke, ki šifrirajo te bloke. Medtem ko pretočna šifra pretvori navadno besedilo bit po bit, podobno kot tok.