Srautinio ir blokinio šifro skirtumas

Srautinio ir blokinio šifro skirtumas
Srautinio ir blokinio šifro skirtumas

Video: Srautinio ir blokinio šifro skirtumas

Video: Srautinio ir blokinio šifro skirtumas
Video: Stream and Block Cipher | Difference between Stream and Block Cipher 2024, Lapkritis
Anonim

Srauto šifras vs blokinis šifras | Būsenos šifras prieš blokinį šifrą

Kriptografijoje srauto šifrai ir blokiniai šifrai yra du šifravimo / iššifravimo algoritmai, priklausantys simetrinių raktų šifrų šeimai. Paprastai šifras naudoja paprastą tekstą kaip įvestį ir sukuria šifruotą tekstą kaip išvestį. Blokų šifrai užšifruoja fiksuoto ilgio bitų bloką naudodami nekintamą transformaciją. Srautiniai šifrai užšifruoja įvairaus ilgio bitų srautus ir kiekvienam bitui naudoja skirtingą transformaciją.

Kas yra srauto šifras?

Srauto šifrai priklauso simetrinių raktų šifrų šeimai. Srauto šifrai sujungia paprasto teksto bitus su pseudoatsitiktiniu šifro bitų srautu, naudojant XOR (išskirtinį arba) operaciją. Srautiniai šifrai užšifruoja paprasto teksto skaitmenis po vieną su įvairiomis skaitmenų transformacijomis iš eilės. Kadangi kiekvieno skaitmens šifravimas priklauso nuo dabartinės šifravimo variklio būsenos, srautiniai šifrai taip pat žinomi kaip būsenos šifrai. Paprastai pavieniai bitai / įkandimai naudojami kaip pavieniai skaitmenys. Siekiant išvengti saugumo problemų, reikia užtikrinti, kad ta pati pradinė būsena nebūtų naudojama daugiau nei vieną kartą. Plačiausiai naudojamas srauto šifras yra RC4.

Kas yra blokinis šifras?

Blokinis šifras yra dar vienas simetrinio rakto šifras. Blokų šifrai veikia su fiksuoto ilgio blokais (bitų grupėmis). Blokų šifrai naudoja fiksuotą (nekintamą) visų bloko skaitmenų transformaciją. Pavyzdžiui, kai x bitų bloko paprastasis tekstas (kartu su slaptuoju raktu) pateikiamas kaip bloko šifravimo variklio įvestis, jis sukuria atitinkamą x bitų šifruoto teksto bloką. Tikroji transformacija priklauso nuo slaptojo rakto. Panašiai iššifravimo algoritmas atkuria pradinį x bitų paprasto teksto bloką, naudodamas x bitų šifruoto teksto bloką ir aukščiau pateiktą slaptąjį raktą kaip įvestį. Jei įvesties pranešimas yra per ilgas, palyginti su bloko dydžiu, jis bus suskirstytas į blokus ir šie blokai (atskirai) užšifruojami naudojant tą patį raktą. Tačiau, kadangi naudojamas tas pats raktas, kiekviena pasikartojanti seka paprastame tekste tampa ta pačia pasikartojančia seka šifruotame tekste, ir tai gali sukelti saugumo problemų. Populiarūs blokiniai šifrai yra DES (duomenų šifravimo standartas) ir AES (išplėstinis šifravimo standartas).

Kuo skiriasi srauto šifras ir blokinis šifras?

Nors tiek srautiniai, tiek blokiniai šifrai priklauso simetrinio šifravimo šifrų šeimai, yra keletas pagrindinių skirtumų. Blokų šifrai užšifruoja fiksuoto ilgio bitų blokus, o srautiniai šifrai sujungia paprasto teksto bitus su pseudoatsitiktiniu šifro bitų srautu, naudodami XOR operaciją. Nors blokiniai šifrai naudoja tą pačią transformaciją, srauto šifrai naudoja skirtingas transformacijas, atsižvelgiant į variklio būseną. Srautiniai šifrai paprastai veikia greičiau nei blokiniai šifrai. Kalbant apie aparatinės įrangos sudėtingumą, srauto šifrai yra palyginti ne tokie sudėtingi. Srautiniams šiframs dažniausiai teikiama pirmenybė blokiniams šiframs, kai paprastasis tekstas pasiekiamas įvairiais kiekiais (pvz., saugiam „Wi-Fi“ryšiui), nes blokiniai šifrai negali veikti tiesiogiai blokuose, trumpesniuose nei bloko dydis. Tačiau kartais skirtumas tarp srauto šifrų ir blokinių šifrų nėra labai aiškus. Priežastis ta, kad naudojant tam tikrus veikimo režimus blokinis šifras gali būti naudojamas kaip srautinis šifras, leidžiantis užšifruoti mažiausią turimą duomenų vienetą.

Rekomenduojamas: