Verschil tussen blokcodering en streamcodering

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 1 Kunnen 2024
Anonim
The ULTIMATE GAMING & STREAMING SETUP in a closet! | Full Tour (2022)
Video: The ULTIMATE GAMING & STREAMING SETUP in a closet! | Full Tour (2022)

Inhoud


Block Cipher en Stream Cipher zijn de methoden die worden gebruikt om de vlakte rechtstreeks naar een cijfer te converteren en behoren tot de familie van symmetrische sleutelcodes.

Het grote verschil tussen een blokcodering en een stroomcodering is dat de blokcodering tegelijkertijd een blok van de codeert en decodeert. Aan de andere kant codeert en codeert stroomcodering de door de byte van de tegelijk te nemen.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingBlok cijferStreamcodering
basis-

Converteert de vlakte door het blok per keer te nemen.
Converteert de door één byte van de vlakte tegelijk te nemen.
ingewikkeldheid
Simpel ontwerp

Complex relatief
Aantal gebruikte bits
64 bits of meer
8 bits
Verwarring en diffusie

Gebruikt zowel verwarring als diffusieVertrouwt alleen op verwarring
Gebruikte algoritmemodi

ECB (elektronisch codeboek)
CBC (Cipher Block Chaining)
CFB (cijferfeedback)
OFB (uitgangsfeedback)
reversibiliteit
Gecodeerd omkeren is moeilijk.

Het maakt gebruik van XOR voor de codering die eenvoudig kan worden teruggedraaid naar het gewone.
Implementatie
Feistel Cipher
Vernam cijfer


Definitie van blokcodering

Blokcodering neemt een en breekt deze in een vaste grootte van blokken en converteert één blok van het moment. Bijvoorbeeld, we hebben gewoon een "STREET_BY_STREET" nodig om te worden gecodeerd. Bij gebruik van bockcijfer moet "STREET" eerst worden gecodeerd, gevolgd door "_BY_" en ten slotte "STREET".
In de praktijk vindt communicatie alleen in bits plaats. Daarom betekent STREET eigenlijk het binaire equivalent van ASCII-karakter van STREET. Vervolgens codeert elk algoritme deze; de resulterende bits worden terug omgezet in hun ASCII-equivalent.

Een duidelijk probleem met betrekking tot het gebruik van blokcijfers is herhalen , waarvoor hetzelfde cijfer wordt gegenereerd. Daarom zou het een hint geven aan de cryptanalyst die het gemakkelijker maakt om de terugkerende tekenreeksen te achterhalen. Als gevolg hiervan kan het het geheel onthullen.


Om dit probleem te overwinnen de ketenmodus is gebruikt. In deze techniek wordt het voorgaande blok van codering gemengd met het huidige blok, zodat het coderende vage blok de terugkerende patronen van blokken met dezelfde inhoud vermijdt.

Definitie van Stream Cipher

Stream Cipher codeert meestal één byte van de op dat moment in plaats van blokken te gebruiken. Laten we een nemen voorbeeld, stel dat het origineel (gewoon) 'blauwe lucht' is in ASCII (dat wil zeggen formaat). Wanneer u deze ASCII omzet in equivalente binaire waarden, geeft het de uitvoer in de vorm van 0 en 1. Laat het vertaald worden in 010111001.

Voor codering en decodering, a pseudorandom-bitgenerator wordt gebruikt waarin een sleutel en een vlakte worden geladen. Een pseudorandom-bitgenerator creëert een stroom van 8-bit getallen die schijnbaar willekeurig bekend staan ​​als keystream. Laat de invoersleutel 100101011 zijn. Nu zijn de sleutel en het toetsenbord XORed. De XOR-logica is eenvoudig te begrijpen.
XOR produceert een uitgang van 1 wanneer een ingang 0 is en de andere is 1. De uitgang is 0 als beide ingangen 0 zijn of beide ingangen 1 zijn.

Verwarring is een methode die garandeert dat een cijfer geen idee geeft van de oorspronkelijke vlakte.
verspreiding is een strategie die wordt gebruikt om de redundantie van de vlakte te verbeteren door deze over rijen en kolommen te spreiden.

  1. Blokcoderingstechniek omvat codering van één blok tegelijk, d.w.z. afzonderlijk. Op dezelfde manier decodeer je door het ene blok na het andere te nemen. Stream-coderingstechniek daarentegen omvat codering en decodering van één byte tegelijk.
  2. Blokcodering gebruikt zowel verwarring als diffusie, terwijl stroomcodering alleen op verwarring vertrouwt.
  3. De gebruikelijke grootte van het blok zou 64 of 128 bits in de blokcodering kunnen zijn. In tegenstelling hiermee wordt 1 byte (8 bits) tegelijk in de stroomcodering omgezet.
  4. Blokcodering gebruikt ECB (elektronisch codeboek) en CBC (Cipher Block Chaining) algoritmemodi. Integendeel, Stream codering gebruikt CFB (cijferfeedback) en OFB (uitgangsfeedback) algoritmemodi.
  5. Streamcijfer maakt gebruik van de XOR-functie voor het converteren van de vlakte naar codering, dat is de reden waarom het gemakkelijk is om de XOR-bits om te keren. Terwijl Block Cipher hiervoor geen XOR gebruikt.
  6. Blokcodering gebruikt dezelfde sleutel om elk blok te coderen, terwijl stroomcodering voor elke byte een andere sleutel gebruikt.

Gevolgtrekking:

Block Cipher en Stream Cipher verschillen in de manier waarop plain gecodeerd en gedecodeerd wordt. Het idee achter blokcodering is om de vlakte in blokken te verdelen en die blokken verder te coderen. Terwijl streamcijfer gewoon bit voor bit converteert, vergelijkbaar met stream.