Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

Skirtumas tarp „Block Cipher“ ir „Stream Cipher“

„Block Cipher“ ir „Stream Cipher“ yra metodai, naudojami tiesioginiam tekstui konvertuoti į šifruotą tekstą ir priklauso simetrinių raktų šifrų šeimai.

Pagrindinis bloko šifro ir srauto šifravimo skirtumas yra tas, kad bloko šifravimas vienu metu užšifruoja ir iššifruoja teksto bloką. Kita vertus, srauto šifravimas šifruoja ir iššifruoja tekstą, vienu metu paimdamas vieną baito tekstą.

Palyginimo diagrama

Palyginimo pagrindasBlokuoti šifravimąSrauto šifravimas
Pagrindinis
Konvertuoja paprastą tekstą vienu metu.
Konvertuoja tekstą vienu baito paprasto teksto vienu metu.
Sudėtingumas
Paprastas dizainas
Kompleksas palyginti
Naudotų bitų skaičius
64 bitai ar daugiau
8 bitai
Sumišimas ir difuzija
Naudoja tiek painiavą, tiek sklaidąNaudojama tik dėl painiavos
Naudojami algoritmo režimai
ECB (elektroninių kodų knyga)
CBC (blokinis blokavimas)
CFB (Cipher Feedback)
OFB (išvesties atsiliepimai)
Grįžtamumas
Šifruoto teksto keitimas yra sunkus.
Jis naudoja XOR šifravimui, kurį galima lengvai pakeisti į paprastą tekstą.
Įgyvendinimas
„Feistel Cipher“
Vernam Cipher

Blokų šifravimo apibrėžimas

Blokuoti „Cipher“ užpildo pranešimą ir sulaužo į fiksuotą blokų dydį ir konvertuoja vienu pranešimo bloku. Pavyzdžiui, mes turime pranešimą paprastu tekstu „STREET_BY_STREET“, kurį reikia užšifruoti. Naudojant „Bock“ šifrą, „STREET“ turi būti užšifruotas iš pradžių, po to - „_BY_“ ir pagaliau „STREET“.
Iš tikrųjų praktika komunikacija vyksta tik bitais. Todėl STREET iš tikrųjų reiškia STREET ASCII simbolio dvejetainį ekvivalentą. Vėliau bet kuris algoritmas šifruoja juos; gaunami bitai vėl paverčiami į savo ASCII ekvivalentą.

Akivaizdi problema, susijusi su blokų šifrų naudojimu, yra kartoti tekstą, kuriam sukuriamas tas pats šifras. Taigi, tai duotų užuominą į kriptoanalizatorių, kuris leidžia lengviau išsiaiškinti pasikartojančių paprasto teksto eilutes. Todėl jis gali atskleisti visą pranešimą.

Norėdami įveikti šią problemą, naudojamas grandinės režimas . Šiuo metodu ankstesnis šifravimo teksto blokas yra maišomas su dabartiniu bloku, kad šifravimo tekstas būtų neaiškus, todėl išvengiama pasikartojančių blokų, turinčių tą patį turinį.

Stream Cipher apibrėžimas

„Stream Cipher“ paprastai užkoduoja vieną žinutės baitą, o ne naudojant blokus. Paimkime pavyzdį, tarkime, kad originalus pranešimas (paprastas tekstas) yra „mėlynas dangus“ ASCII (ty teksto formatas). Kai konvertuojate šiuos ASCII į lygiavertes dvejetaines reikšmes, ji suteiks išėjimą 0 ir 1 formose. Leiskite jį išversti į 010111001.

Šifravimui ir iššifravimui naudojamas pseudorandinis bitų generatorius, kuriame yra įdėtas raktas ir paprastas tekstas. Pseudorandominis bitų generatorius sukuria 8 bitų numerių srautą, kuris, atrodo, yra atsitiktinis, vadinamas keystream . Leiskite įvesties klavišui 100101011. Dabar raktas ir paprastas tekstas yra XORed. XOR logika yra paprasta suprasti.
XOR sukuria 1 išėjimą, kai vienas įėjimas yra 0, o kitas yra 1. Išėjimas yra 0, jei abu įėjimai yra 0 arba abu įėjimai yra 1.

Sumišimas yra metodas, garantuojantis, kad šifruotas tekstas nesuteikia jokios informacijos apie paprastą tekstą.
Difuzija yra strategija, kuria siekiama padidinti paprasto teksto redundanciją, skleidžiant ją eilutėse ir stulpeliuose.

Pagrindiniai „Block Cipher“ ir „Stream Cipher“ skirtumai

  1. Blokavimo šifravimo technika apima vieno teksto bloko šifravimą vienu metu, ty atskirai. Panašiai iššifruokite tekstą, paimdami vieną bloką po kito. Priešingai, srauto šifravimo technika apima vieno baito teksto šifravimą ir iššifravimą vienu metu.
  2. Blokavimo šifras naudoja tiek painiavą, tiek difuziją, o srauto šifravimas priklauso tik nuo painiavos.
  3. Įprastas bloko dydis gali būti 64 arba 128 bitų blokų šifravimo. Priešingai, 1 baitas (8 bitai) vienu metu konvertuojamas srauto šifru.
  4. Blokinis šifras naudoja ECB (elektroninių kodų knygą) ir CBC (koduotės blokavimo grandinės) algoritmo režimus. Priešingai, „Stream“ šifras naudoja CFB (Cipher Feedback) ir OFB (Output Feedback) algoritmo režimus.
  5. „Stream“ šifras naudoja XOR funkciją paprastam tekstui konvertuoti į šifruotą tekstą, todėl XORed bitus lengva pakeisti. Tuo tarpu bloko šifras nenaudoja XOR.
  6. Blokavimo šifras naudoja tą patį raktą kiekvienam blokui užšifruoti, o srauto šifras kiekvienam baitui naudoja kitą raktą.

Išvada:

Blokuoti „Cipher“ ir „Stream Cipher“ skiriasi tuo, kaip paprastas tekstas yra užšifruotas ir iššifruotas. Blokavimo šifro idėja yra padalinti paprastą tekstą į blokus, kurie toliau šifruoja tuos blokus. Nors srauto šifras konvertuoja paprastą tekstą šiek tiek panašiu į srautą.

Top