Srautiniai šifrai puikiai tinka realaus laiko aparatinės įrangos programoms.
Šifras yra matematinių taisyklių arba algoritmų rinkinys, naudojamas skaitomą tekstą arba paprastą tekstą konvertuoti į neįskaitomą tekstą arba šifruotą tekstą. Pagrindinis srauto šifrų ir blokinių šifrų skirtumas yra tas, kad srauto šifrai veikia teksto srautuose po vieną bitą arba vieną baitą, o blokiniai šifrai veikia teksto blokuose.
Srauto šifras
Pagrindinė srauto šifro idėja yra padalinti tekstą į mažus blokus, kurių ilgis yra vienas bitas arba vienas baitas, ir užkoduoti kiekvieną bloką, priklausomai nuo daugelio ankstesnių blokų. Srautiniai šifrai naudoja skirtingą šifravimo raktą – reikšmę, kuri turi būti įvedama į algoritmą – kiekvienam bitui arba baitui, todėl tas pats bitas ar baitas kiekvieną kartą šifruojant sukuria skirtingą šifravimo tekstą. Kai kurie srauto šifrai naudoja raktų srauto generatorių, kuris sukuria atsitiktinį arba beveik atsitiktinį bitų srautą. Šifruotojas atlieka Būlio operaciją, žinomą kaip išskirtinis ARBA, tarp raktų srauto bitų ir paprasto teksto bitų, kad gautų šifruotą tekstą.
Dienos vaizdo įrašas
Blokuoti šifrą
Pagrindinė blokinio šifro idėja yra padalinti tekstą į santykinai didelius blokus, paprastai 64 arba 128 bitų ilgio, ir užkoduoti kiekvieną bloką atskirai. Kiekvienam blokui naudojamas tas pats šifravimo raktas ir būtent šifravimo raktas nustato tvarka, kuria kiekvienoje atliekamos pakeitimo, transportavimo ir kitos matematinės funkcijos blokas. Stiprūs algoritmai reiškia, kad apgręžti šifro inžineriją arba nustatyti, kurios funkcijos buvo atliekamos kiekviename bloke ir kokia tvarka, praktiškai neįmanoma.
Difuzija ir painiava
Blokuoti šifrai naudoja metodus, žinomus kaip painiava ir sklaida, kad šifruotų paprastą tekstą į šifruotą tekstą. Sumaišties idėja yra padaryti ryšį tarp šifravimo rakto ir šifruoto teksto kiek įmanoma sudėtingesnį. Idealiu atveju kiekvienas šifravimo rakto simbolis turėtų turėti įtakos kiekvienam šifro teksto simboliui. Priešingai, sklaida paskleidžia kiekvieno grynojo teksto simbolio įtaką keliems šifruoto teksto simboliams, todėl šifras tampa mažiau jautrus statistiniams atakoms.
Už ir prieš
Tai, kad srauto šifrai šifruoja ir iššifruoja duomenis po vieną bitą, reiškia, kad jie ypač gerai tinka realaus laiko aparatinės įrangos programoms, pvz., garso ir vaizdo programoms. Srautiniai šifrai yra silpnesni ir ne tokie veiksmingi nei blokiniai šifrai, kai kalbama apie programinės įrangos programas, ir yra rečiau naudojami šioje srityje. Blokų šifrus lengviau įdiegti programinėje įrangoje, nes jie užšifruoja duomenis tokio ilgio blokais, kokį programinė įranga jau naudoja. Šifravimo raktas dažnai yra tokio pat ilgio kaip ir bloko dydis.