Skirtumas tarp „Block Cipher“ ir „Stream Cipher“

Autorius: Laura McKinney
Kūrybos Data: 1 Balandis 2021
Atnaujinimo Data: 11 Gegužė 2024
Anonim
Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan
Video.: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan

Turinys


„Block Cipher“ ir „Stream Cipher“ yra metodai, naudojami tiesiogiai konvertuojant paprastą šifrą ir priklausantys simetrinių raktų šifrui.

Pagrindinis bloko šifro ir srauto šifro skirtumas yra tas, kad bloko šifras vienu metu užšifruoja ir iššifruoja. Kita vertus, srauto šifras užšifruoja ir iššifruoja, imdamas po vieną baitą.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasBlokuoti šifrąSrauto šifras
Pagrindinis

Paverčia lygumą, paimdamas bloką vienu metu.
Konvertuoja, paimdamas vieną lygumos baitą vienu metu.
Sudėtingumas
Paprastas dizainas

Palyginti sudėtinga
Naudotų bitų skaičius
64 bitai ar daugiau
8 bitai
Sumišimas ir sklaida

Naudoja tiek painiavą, tiek difuzijąPasikliauja tik painiava
Naudoti algoritmo režimai

ECB (elektroninė kodų knyga)
CBC („Cipher Block Chaining“)
CFB („Cipher Feedback“)
OFB (grįžtamasis ryšys)
Grįžtamumas
Užšifruoti sunku.

Šifravimui naudojamas XOR, kurį galima lengvai pakeisti į lygumą.
Įgyvendinimas
Feistel Cipher
Vernamas Ciferis


Apibrėžimas „Block Cipher“

„Block Cipher“ paima ir padalija į fiksuoto dydžio blokus ir akimirksniu paverčia vieną bloką. Pavyzdžiui, turime paprastą „STREET_BY_STREET“, kurį reikia užšifruoti. Naudojant „Bock“ šifrą, „STREET“ iš pradžių turi būti užšifruotas, po to eina „_BY_“ ir galiausiai „STREET“.
Realioje praktikoje bendravimas vyksta tik dalimis. Todėl STREET iš tikrųjų reiškia dvejetainį STREET ASCII pobūdžio ekvivalentą. Vėliau bet koks algoritmas juos užšifruoja; gaunami bitai yra paverčiami atgal į jų ASCII ekvivalentą.

Akivaizdi problema, susijusi su „Block“ šifrų naudojimu kartojant , kuriai generuojamas tas pats šifras. Taigi, tai duotų užuominą į kriptovaliutą, todėl lengviau išsiaiškinti pasikartojančias lygumų stygas. Dėl to jis gali atskleisti visumą.

Norėdami išspręsti šią problemą, grandininis rėžimas yra naudojamas. Taikant šį metodą, ankstesnis šifro blokas sumaišomas su dabartiniu bloku, todėl, kad šifras būtų neaiškus, būtų išvengta pasikartojančių to paties turinio blokų modelių.


Apibūdinimas Srauto šifras

„Stream Cipher“ paprastai užšifruoja tą akimirką vieną baitą, o ne naudoja blokus. Paimkime pavyzdys, Tarkime, kad originalas (paprastas) yra „mėlynas dangus“ ASCII (t. y. formatu). Kai konvertuosite šias ASCII į lygiavertes dvejetaines reikšmes, jos išvestis bus 0 ir 1 pavidalu. Tegul jis išverstas 010111001.

Norėdami užšifruoti ir iššifruoti, a pseudovaldinių bitų generatorius naudojamas, kuriame įkeliamas raktas ir paprastas elementas. Pseudorandom bitų generatorius sukuria 8 bitų skaičių srautą, kuris, atrodytų, atsitiktinis, žinomas kaip „keystream“. Tegul įvesties klavišas yra 100101011. Dabar klavišas ir paprastas yra XORED. XOR logika yra lengvai suprantama.
„XOR“ sukuria 1 išvestį, kai viena įvestis yra 0, o kita - 1. Išvestis yra 0, jei abu įėjimai yra 0 arba abu įėjimai yra 1.

Sumišimas yra metodas, garantuojantis, kad šifras nesuvokia pradinės lygumos.
Difuzija yra strategija, naudojama norint padidinti lygumos perteklių, paskirstant ją eilėmis ir stulpeliais.

  1. Bloko šifravimo technika apima šifravimą vienu metu, ty atskirai. Panašiai iššifruokite, imdami vieną bloką po kito. „Stream“ šifravimo technika, priešingai, apima vieno baito vienu metu šifravimą ir iššifravimą.
  2. Blokuotame šifruje naudojama tiek painiava, tiek difuzija, o srauto šifras remiasi tik painiava.
  3. Įprastas bloko dydis gali būti 64 arba 128 bitai šifravimo bloke. Priešingai, srauto šifre konvertuojamas 1 baitas (8 bitai) vienu metu.
  4. Blokuoti šifrą ECB (elektroninė kodų knyga) ir CBC („Cipher Block Chaining“) algoritmo režimai. „Stream“ šifras, priešingai, naudoja CFB („Cipher Feedback“) ir OFB (grįžtamasis ryšys) algoritmo režimai.
  5. Srauto šifruje naudojama XOR funkcija, norint konvertuoti paprastą į šifrą, todėl yra lengva pakeisti XORed bitus. Kadangi „Block“ šifras tam nenaudoja XOR.
  6. Bloko šifras naudoja tą patį raktą šifruoti kiekvieną bloką, o srauto šifras naudoja skirtingą raktą kiekvienam baitui.

Išvada:

„Block Cipher“ ir „Stream Cipher“ skiriasi tuo, kaip paprastas yra užšifruotas ir iššifruojamas. Blokų šifro idėja yra padalinti lygumą į blokus, kad toliau būtų užšifruoti tie blokai. Nors srauto šifras po truputį paverčia panašiu į srautą.