Atšķirība starp šifru bloķēšanu un straumēšanu
Saturs
Block Cipher un Stream Cipher ir metodes, kuras izmanto, lai tieši pārveidotu vienkāršo šifrā un pieder simetrisko atslēgu šifru saimei.
Galvenā atšķirība starp bloka šifru un straumes šifru ir tā, ka bloka šifrs vienlaikus šifrē un atšifrē bloku. No otras puses, straumes šifrēšana tiek šifrēta un atšifrēta, paņemot vienu baitu vienā reizē.
- Salīdzināšanas tabula
- Definīcija
- Galvenās atšķirības
- Secinājums
Salīdzināšanas tabula
Salīdzināšanas pamats | Bloķēt šifru | Straumes šifrs |
---|---|---|
Pamata | Pārveido līdzenumu, vienlaikus ņemot tā bloku. | Pārvērš, paņemot vienu līdzenuma baitu vienlaikus. |
Sarežģītība | Vienkāršs dizains | Sarežģīti salīdzinoši |
Izmantoto bitu skaits | 64 biti vai vairāk | 8 biti |
Neskaidrības un difūzija | Izmanto gan apjukumu, gan difūziju | Paļaujas tikai uz neskaidrībām |
Izmantotie algoritma režīmi | ECB (elektroniskā kodu grāmata) CBC (Cipher Block Chaining) | CFB (Cipher atsauksmes) OFB (atsauksmes par izeju) |
Atgriezeniskums | Šifrēt ir grūti. | Šifrēšanai tas izmanto XOR, kuru var viegli atgriezt līdzenumā. |
Īstenošana | Feistela Šifre | Vernam Cipher |
Bloķētā šifra definīcija
Block Cipher ņem un sadala to fiksēta lieluma blokos un vienā mirklī pārveido vienu bloku. Piemēram, mums ir jābūt šifrētam vienkāršā “STREET_BY_STREET”. Izmantojot boksa šifru, “STREET” vispirms ir jāšifrē, kam seko “_BY_” un visbeidzot “STREET”.
Faktiskajā praksē komunikācija notiek tikai pa bitiem. Tāpēc STREET faktiski nozīmē STREET ASCII rakstura bināro ekvivalentu. Pēc tam jebkurš algoritms tos šifrē; iegūtie biti tiek pārveidoti par to ASCII ekvivalentu.
Acīmredzama problēma saistībā ar bloku šifru izmantošanu ir atkārtojot , kurai tiek ģenerēts tas pats šifrs. Tādējādi tas sniegtu mājienu kriptoanalītiķim, kas ļauj vieglāk izdomāt atkārtotās vienkāršās virknes. Rezultātā tas var atklāt visu.
Lai novērstu šo problēmu, ķēdes režīms tiek izmantots. Šajā metodē iepriekšējais šifra bloks tiek sajaukts ar pašreizējo bloku, tā kā šifrs ir neskaidrs, tas ļauj izvairīties no atkārtotiem bloku modeļiem ar tādu pašu saturu.
Straumes šifra definīcija
Straumēšanas šifrs parasti šifrē tajā brīdī vienu baitu, nevis izmanto blokus. Pieņemsim piemērs, pieņemsim, ka oriģināls (vienkāršs) ir “zilas debesis” ASCII (t.i., formātā). Pārvēršot šos ASCII ekvivalentos bināros lielumos, tas iegūs izvadi 0 un 1 formā. Ļaujiet to tulkot 010111001.
Šifrēšanai un atšifrēšanai: a pseidodokļu bitu ģenerators tiek izmantots, kurā tiek ielādēta atslēga un vienkāršais elements. Pseidodēmisks bitu ģenerators rada 8 bitu skaitļu straumi, kas šķietami ir nejauši pazīstama kā keystream. Ļaujiet ievades taustiņam būt 100101011. Tagad taustiņš un vienkāršais ir XORE. XOR loģika ir viegli saprotama.
XOR rada izeju 1, ja viena ieeja ir 0, bet otra ir 1. Izeja ir 0, ja abas ieejas ir 0 vai abas ieejas ir 1.
Apjukums ir metode, kas garantē, ka šifrs nerada norādes par sākotnējo līdzenumu.
Difūzija ir stratēģija, ko izmanto, lai uzlabotu līdzenuma dublēšanos, izplatot to rindās un kolonnās.
- Bloķēšanas šifrēšanas paņēmiens ietver viena bloka vienā reizē, t.i., šifrēšanu. Tāpat atšifrējiet, veicot vienu bloku pēc otra. Turpretī straumes šifrēšanas paņēmiens ietver viena baita vienā reizē šifrēšanu un atšifrēšanu.
- Bloķētajā šifrā tiek izmantota gan neskaidrība, gan difūzija, savukārt straumes šifrs ir atkarīgs tikai no neskaidrības.
- Parasti bloka lielums varētu būt 64 vai 128 biti bloka šifrā. Pretēji 1 baits (8 biti) vienlaikus tiek pārveidots straumes šifrā.
- Bloķēt šifru izmanto ECB (elektroniskā kodu grāmata) un CBC (Cipher Block Chaining) algoritma režīmi. Tieši pretēji, straumēšanas šifrs izmanto CFB (Cipher atsauksmes) un OFB (atsauksmes par izeju) algoritma režīmi.
- Straumēšanas šifrs izmanto XOR funkciju, lai pārveidotu vienkāršo šifrā, tas ir iemesls, kāpēc XORed bitus ir viegli mainīt. Tā kā bloķēšanas šifrs to neizmanto XOR.
- Bloķēšanas šifrs izmanto to pašu atslēgu, lai šifrētu katru bloku, savukārt straumes šifrs katram baitam izmanto atšķirīgu atslēgu.
Secinājums:
Block Cipher un Stream Cipher atšķiras tādā veidā, kādā vienkāršais tiek šifrēts un atšifrēts. Bloku šifra ideja ir sadalīt vienkāršo blokos, lai vēl vairāk šifrētu šos blokus. Kamēr straumes šifrs vienkāršā veidā konvertē līdzīgu straumei.