„Stream Cipher vs Block Cipher“ Valstybės šifras prieš blokuoti šifrą
Kriptografijoje „Stream“ šifrai ir „Block“ šifrai yra du šifravimo / dešifravimo algoritmai, priklausantys simetrinių raktų šifrų šeimai. Paprastai šifras įvestas paprastas tekstas ir išvedamas sukuria šifrą. Blokų šifrai užkoduoja fiksuoto ilgio bitų blokus, naudodamiesi nesikeičiančia transformacija. Srauto šifrai užkoduoja skirtingo ilgio bitų srautus ir naudoja skirtingą transformaciją kiekviename bite.
Kas yra srauto šifras?
Srauto šifrai priklauso simetrinių raktų šiframs. Srauto šifrai sujungia paprasto teksto bitus su pseudo-atsitiktinių šifrų bitų srautu, naudojant XOR (išskirtinę arba) operaciją. Srauto šifrai šifruoja paprasto teksto skaitmenis vienu kartu su skirtingomis transformacijomis iš eilės. Kadangi kiekvieno skaitmens šifravimas priklauso nuo dabartinės šifravimo variklio būklės, srauto šifrai taip pat žinomi kaip būsenos šifrai. Paprastai pavieniai skaičiai naudojami vienetai. Norint išvengti susirūpinimo dėl saugumo, reikėtų įsitikinti, kad ta pati pradinė būsena nėra naudojama daugiau nei vieną kartą. Plačiausiai naudojamas srauto šifras yra RC4.
Kas yra bloko šifras?
Bloko šifras yra dar vienas simetriškas rakto šifras. Blokų šifrai veikia fiksuoto ilgio blokuose (bitų grupėse). Bloko šifrai naudoja fiksuotą (nesikeičiančią) visų bloko skaitmenų transformaciją. Pvz., Kai x-bit bloko paprastas tekstas (kartu su slaptu raktu) pateikiamas kaip įvestis į bloko šifravimo variklį, jis sukuria atitinkamą šifruoto teksto x bitų bloką. Faktinė transformacija priklauso nuo slaptojo rakto. Panašiai iššifravimo algoritmas atkuria pradinį paprasto teksto x-bitų bloką, naudodamas įvestį šifruoto teksto x-bitą ir aukščiau esantį slaptą raktą. Jei įvesties pranešimas yra per ilgas, palyginti su bloko dydžiu, jis bus suskaidytas į blokus ir šie blokai bus (atskirai) užšifruoti naudojant tą patį raktą. Kadangi naudojamas tas pats raktas, kiekviena pakartota eilutė paprastame tekste tampa ta pati pakartota seka šifro tekste, ir tai gali sukelti susirūpinimą dėl saugumo. Populiarūs blokų šifrai yra DES (duomenų šifravimo standartas) ir AES (išplėstinis šifravimo standartas)..
Kuo skiriasi srautinė „Cipher“ ir „Block Cipher“?
Nors tiek srauto šifrai, tiek blokų šifrai priklauso simetrinių šifravimo šifrų šeimai, yra keletas pagrindinių skirtumų. Blokuoti šifrai užkoduoja fiksuoto ilgio bitų blokus, o srautiniai šifrai sujungia paprasto teksto bitus su pseudo-atsitiktinių šifrų bitų srautu, naudodamiesi XOR operacija. Nors bloko šifruose naudojama ta pati transformacija, srauto šifruose naudojamos įvairios transformacijos, atsižvelgiant į variklio būseną. Srauto šifrai paprastai vykdomi greičiau nei blokuoti šifrai. Kalbant apie aparatūros sudėtingumą, srauto šifrai yra palyginti ne tokie sudėtingi. Srauto šifrai yra tipiška pirmenybė, palyginti su blokų šifrais, kai paprasto teksto yra įvairių dydžių (pvz., Saugiam „Wi-Fi“ ryšiui), nes blokų šifrai negali tiesiogiai veikti blokuose, mažesniuose nei blokas. Tačiau kartais skirtumas tarp srauto ir šifrų nėra labai aiškus. Priežastis ta, kad kai naudojami tam tikri darbo režimai, bloko šifras gali būti naudojamas kaip srauto šifras, leidžiant šifruoti mažiausią turimą duomenų vienetą..