Ieteicams, 2024

Redaktora Izvēle

Atšķirība starp bloku šifrēšanu un straumēšanas šifrēšanu

Block Cipher un Stream Cipher ir metodes, ko izmanto parastā teksta pārveidošanai par šifrētu tekstu un pieder simetrisko atslēgu šifru ģimenei.

Galvenā atšķirība starp bloku šifrēšanu un plūsmas šifrēšanu ir tā, ka bloka šifrēšana šifrē un atšifrē teksta bloku vienlaikus. No otras puses, straumēšanas šifrēšana šifrē un atšifrē tekstu, vienā reizē paņemot vienu baitu.

Salīdzinājuma diagramma

Salīdzināšanas pamatsBloķēt šifrēšanuStraumēšanas šifrēšana
Pamata
Pārvērš vienkāršā teksta tekstu, ņemot to bloku vienlaicīgi.
Pārvērš tekstu, veicot vienu vienkārša teksta baitu.
Sarežģītība
Vienkāršs dizains
Salīdzinoši komplekss
Izmantoto bitu skaits
64 biti vai vairāk
8 biti
Apjukums un difūzija
Izmanto gan apjukumu, gan izkliedēšanuPamatojas tikai uz neskaidrībām
Izmantotie algoritma režīmi
ECB (elektronisko kodu grāmata)
CBC (kodēšanas bloka ķēde)
CFB (atšifrēt atsauksmes)
OFB (izejas atsauksmes)
Atgriezeniskums
Šifrētā teksta maiņa ir grūti.
Tas izmanto XOR šifrēšanai, ko var viegli mainīt pret vienkāršu tekstu.
Īstenošana
Feistel Cipher
Vernam Cipher

Bloka šifrēšanas definīcija

Bloķēt šifrēšanu ņem ziņu un pārrauj to fiksētā bloku lielumā un pārvērš vienu ziņojuma bloku uzreiz. Piemēram, mums ir ziņojums vienkāršā tekstā “STREET_BY_STREET”, kas nepieciešams šifrēšanai. Izmantojot bock šifru, “STREET” vispirms ir jāšifrē, kam seko “_BY_” un visbeidzot „STREET”.
Faktiskajā praksē komunikācija notiek tikai bitos. Tāpēc STREET faktiski nozīmē STREET ASCII rakstzīmes bināro ekvivalentu. Pēc tam jebkurš algoritms tos šifrē; iegūtie biti tiek pārveidoti atpakaļ to ASCII ekvivalentā.

Acīmredzama bloka šifru izmantošanas problēma ir atkārtojot tekstu, kuram tiek ģenerēts tas pats cipars. Tātad, tas dotu mājienu cryptanalyst, kas padara to vieglāk noskaidrot atkārtojas virknes teksta. Tā rezultātā var atklāt visu ziņojumu.

Lai pārvarētu šo problēmu, tiek izmantots ķēdes režīms . Šajā metodē iepriekšējais šifrētā teksta bloks tiek sajaukts ar pašreizējo bloku, lai šifrēšanas teksts būtu neskaidrs, tādējādi izvairoties no atkārtotiem blokiem ar tādu pašu saturu.

Stream Cipher definīcija

Stream Cipher parasti šifrē vienu baitu ziņu tajā brīdī, nevis izmantojot blokus. Piemēram, pieņemsim, ka sākotnējais ziņojums (vienkāršais teksts) ir “zilā debesis” ASCII (ti, teksta formāts). Pārvēršot šos ASCII līdzvērtīgos bināros lielumos, tas sniegs rezultātu 0 un 1 formā. Ļaujiet to iztulkot 010111001.

Šifrēšanai un atšifrēšanai izmanto pseidoganduma bitu ģeneratoru, kurā tiek ielādēta atslēga un vienkāršais teksts. Pseudorandom bitu ģenerators rada plūsmu 8 bitu skaitļiem, kas šķietami ir nejauši pazīstami kā keystream . Ļaujiet ievades taustiņam 100101011. Tagad atslēga un teksta teksts ir XORed. XOR loģika ir viegli saprotama.
XOR rada 1 izeju, ja viens ieeja ir 0, bet otrs ir 1. Izeja ir 0, ja vai nu abas ieejas ir 0, vai abas ieejas ir 1.

Apjukums ir metode, kas garantē, ka šifrēšanas teksts nesniedz pavedienu par sākotnējo vienkāršo tekstu.
Difūzija ir stratēģija, ko izmanto, lai uzlabotu vienkārša teksta atlaišanu, izplatot to rindās un kolonnās.

Galvenās atšķirības starp bloku šifrēšanu un plūsmas kodējumu

  1. Bloka šifrēšanas metode ietver viena teksta bloka šifrēšanu, ti, atsevišķi. Līdzīgi atšifrējiet tekstu, veicot vienu bloku pēc otra. Turpretim straumēšanas šifrēšanas paņēmiens ietver viena baita šifrēšanu un atšifrēšanu vienā reizē.
  2. Bloka šifrēšana izmanto gan neskaidrības, gan difūziju, bet plūsmas šifrēšana balstās tikai uz neskaidrībām.
  3. Bloka šifrējumā parastais bloka lielums varētu būt 64 vai 128 biti. Pretstatā 1 baits (8 biti) vienā reizē tiek pārvērsts plūsmas šifrā.
  4. Bloka šifrēšana izmanto ECB (elektronisko kodu grāmatu) un CBC (kodēšanas bloka ķēdes) algoritmu režīmus. Gluži pretēji, Stream šifrēšana izmanto CFB (Cipher Feedback) un OFB (Output Feedback) algoritmu režīmus.
  5. Plūsmas šifrēšana izmanto XOR funkciju, lai pārveidotu vienkāršo tekstu šifrētajā tekstā, tāpēc XORed bitus ir viegli mainīt. Tā kā bloķēšanas šifrēšana neizmanto XOR, lai to izdarītu.
  6. Bloķēšanas šifrēšana izmanto vienu un to pašu taustiņu, lai šifrētu katru bloku, bet plūsmas šifrēšana katram baitam izmanto citu atslēgu.

Secinājums:

Block Cipher un Stream Cipher atšķiras veidā, kādā vienkāršais teksts ir šifrēts un atšifrēts. Bloka šifrēšanas ideja ir sadalīt vienkāršo tekstu blokos, kas turpmāk šifrē šos blokus. Kamēr plūsmas šifrēšana pārvērš vienkāršu tekstu mazliet līdzīgi plūsmai.

Top