Anbefalet, 2024

Redaktørens Valg

Forskel mellem Block Cipher og Stream Cipher

Block Cipher og Stream Cipher er de metoder, der bruges til at konvertere almindelig tekst til chiffertekst direkte og tilhører familien af ​​symmetriske nøglekoder.

Den væsentligste forskel mellem en blok-kryptering og en strøm-chiffer er, at blok-krypteringen krypterer og dekrypterer en blok af teksten ad gangen. På den anden side krypterer strømkrypter og dekrypterer teksten ved at tage tekstens eneste byte ad gangen.

Sammenligningstabel

Grundlag for sammenligningBloker cipherStream chiffer
Grundlæggende
Konverterer den almindelige tekst ved at tage sin blok ad gangen.
Konverterer teksten ved at tage en byte af almindelig tekst ad gangen.
kompleksitet
Enkelt design
Kompleks forholdsvis
Antal bits, der anvendes
64 bit eller mere
8 bit
Forvirring og diffusion
Bruger både forvirring og diffusionKun afhænger af forvirring
Algoritme tilstande anvendes
ECB (Electronic Code Book)
CBC (Cipher Block Chaining)
CFB (Cipher Feedback)
OFB (Output Feedback)
reversibilitet
Omvendt krypteret tekst er svært.
Det bruger XOR til kryptering, som let kan vendes til almindelig tekst.
Implementering
Feistel Cipher
Vernam Cipher

Definition af Block Cipher

Block Cipher tager en besked og bryder den ind i en fast størrelse af blokke og konverterer en blok af meddelelsen på et øjeblik. For eksempel har vi en meddelelse i almindelig tekst "STREET_BY_STREET", der skal krypteres. Ved hjælp af bock-kryptering skal "STREET" først krypteres, efterfulgt af "_BY_" og endelig "STREET".
I selve praksis foregår kommunikation kun i bit. Derfor betyder STREET faktisk den binære ækvivalent af ASCII karakter af STREET. Efterfølgende krypterer enhver algoritme disse; de resulterende bits transformeres tilbage i deres ASCII-ækvivalent.

Et tydeligt problem vedrørende brugen af ​​blokcifre er gentagelse af tekst, for hvilken den samme kryptering er genereret. Derfor vil det give et tip til kryptanalytikeren, som gør det lettere at finde ud af de tilbagevendende strenge af almindelig tekst. Som et resultat kan det afsløre hele meddelelsen.

For at overvinde fra dette problem anvendes kædefunktionen . I denne teknik blandes den foregående blok af kodetekst med den nuværende blok, for at undgå chifferteksten vag, undgår man de tilbagevendende mønstre af blokke med det samme indhold.

Definition af Stream Cipher

Stream Cipher krypterer typisk en byte af meddelelsen i det øjeblik i stedet for at bruge blokke. Lad os tage et eksempel, formoder , at den oprindelige meddelelse (almindelig tekst) er "blå himmel" i ASCII (dvs. tekstformat). Når du konverterer disse ASCII til tilsvarende binære værdier, vil det give output i 0 og 1's form. Lad det blive oversat til 010111001.

Til kryptering og dekryptering anvendes en pseudorandom bitgenerator, hvori en nøgle og almindelig tekst indlæses. En pseudorandom bitgenerator skaber en strøm af 8-bit tal, der tilsyneladende er tilfældigt kendt som keystream . Lad indtastningsnøglen være 100101011. Nu er nøglen og ren tekst XORed. XOR-logikken er let at forstå.
XOR producerer en udgang på 1, når en indgang er 0, og den anden er 1. Udgangen er 0, hvis begge indgange er 0 eller begge indgange er 1.

Forvirring er en metode, der sikrer, at en chiffertekst ikke giver nogen anelse om den oprindelige almindelig tekst.
Diffusion er en strategi, der bruges til at forbedre overfladen af ​​almindelig tekst ved at sprede den over rækker og kolonner.

Nøgleforskelle mellem Block Cipher og Stream Cipher

  1. Blokchifferteknik indebærer kryptering af en blok tekst ad gangen, det vil sige enkeltvis. På samme måde dekrypterer du teksten ved at tage en blok efter den anden. I modsætning hertil indebærer Stream-chifferteknik kryptering og dekryptering af en byte af teksten ad gangen.
  2. Blokciffer bruger både forvirring og diffusion, mens strømkrypteringen kun afhænger af forvirring.
  3. Den sædvanlige størrelse af blokken kan være 64 eller 128 bit i blok-cifferet. Imidlertid konverteres 1 byte (8 bit) ad gangen i strømkifferen.
  4. Block cipher bruger ECB (Electronic Code Book) og CBC (Cipher Block Chaining) algoritme tilstande. Tværtimod bruger Stream-kryptering CFB (Cipher Feedback) og OFB (Output Feedback) algoritmen.
  5. Stream-chiffer bruger XOR-funktion til at konvertere almindelig tekst til chiffertekst, det er grunden til, at det er let at vende XORed-bitsne. Mens blokchiffer ikke bruger XOR til at gøre det.
  6. Blokkifferifikation bruger den samme nøgle til at kryptere hver blok, mens strømkodning bruger en anden nøgle for hver byte.

Konklusion:

Block Cipher og Stream Cipher adskiller sig i den måde, hvorpå almindelig tekst krypteres og dekrypteres. Tanken bag blokchiffer er at opdele den klare tekst i blokke yderligere kryptere disse blokke. Mens stream-chiffer konverterer almindelig tekst bit for bit svarende til stream.

Top