Differenza tra Block Cipher e Stream Cipher

Autore: Laura McKinney
Data Della Creazione: 1 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
CISSP Domain 3 Cryptography: Difference Between ECB, CBC, CFB, OFB, and CTR Modes
Video: CISSP Domain 3 Cryptography: Difference Between ECB, CBC, CFB, OFB, and CTR Modes

Contenuto


Block Cipher e Stream Cipher sono i metodi utilizzati per convertire direttamente la pianura in cifratura e appartengono alla famiglia di cifrature simmetriche.

La differenza principale tra un codice a blocchi e un codice a flusso è che il codice a blocchi crittografa e decodifica un blocco alla volta. D'altra parte, lo stream cipher crittografa e decodifica il prendendo il byte di un alla volta.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontoCifra cifrataCifra di flusso
Di base

Converte la pianura prendendo il suo blocco alla volta.
Converte prendendo un byte della pianura alla volta.
Complessità
Design semplice

Complessivamente comparativamente
Numero di bit utilizzati
64 bit o più
8 bit
Confusione e diffusione

Utilizza sia confusione che diffusioneSi basa solo sulla confusione
Modalità algoritmo utilizzate

BCE (Electronic Code Book)
CBC (Cipher Block Chaining)
CFB (Feedback cifrato)
OFB (feedback di uscita)
Reversibilità
L'inversione crittografata è difficile.

Usa XOR per la crittografia che può essere facilmente invertita in chiaro.
Implementazione
Feistel Cipher
Vernam Cipher


Definizione di Block Cipher

Block Cipher prende un e lo spezza in una dimensione fissa di blocchi e converte un blocco di in un istante. Per esempio, abbiamo un semplice "STREET_BY_STREET" richiesto per essere crittografato. Usando il codice cifrato, “STREET” deve essere inizialmente crittografato, seguito da “_BY_” e infine “STREET”.
Nella pratica, la comunicazione avviene solo in bit. Pertanto, STREET in realtà significa l'equivalente binario del carattere ASCII di STREET. Successivamente, qualsiasi algoritmo li crittografa; i bit risultanti vengono trasformati nuovamente nel loro equivalente ASCII.

Un evidente problema relativo all'utilizzo dei cifrari a blocchi è ripetendo , per cui viene generato lo stesso codice. Quindi, darebbe un suggerimento al crittanalista che rende più facile capire le stringhe ricorrenti della pianura. Di conseguenza, può rivelare il tutto.


Per ovviare a questo problema il modalità concatenamento viene utilizzato. In questa tecnica, il blocco di cifratura precedente viene mescolato con il blocco corrente, così come per il cifrario vago, questo evita gli schemi ricorrenti di blocchi con lo stesso contenuto.

Definizione di Stream Cipher

Stream Cipher in genere crittografa un byte di quel momento invece di usare i blocchi. Prendiamo un esempio, supponiamo che l'originale (semplice) sia "cielo blu" in formato ASCII (cioè formato). Quando converti questi ASCII in valori binari equivalenti, otterrai l'output in forma di 0 e 1. Lascia che sia tradotto in 010111001.

Per la crittografia e la decrittografia, a generatore di bit pseudocasuali viene utilizzato in cui vengono caricate una chiave e un semplice. Un generatore di bit pseudocasuale crea un flusso di numeri a 8 bit apparentemente casuali noti come keystream. Lascia che la chiave di input sia 100101011. Ora la chiave e il piano sono XOR. La logica XOR è semplice da capire.
XOR produce un'uscita di 1 quando un ingresso è 0 e l'altro è 1. L'uscita è 0 se entrambi gli ingressi sono 0 o entrambi gli ingressi sono 1.

Confusione è un metodo che garantisce che un codice non dia indizi sulla pianura originale.
Diffusione è una strategia utilizzata per migliorare la ridondanza della pianura diffondendola su righe e colonne.

  1. La tecnica di cifratura a blocchi prevede la crittografia di un blocco alla volta, ovvero singolarmente. Allo stesso modo, decifrare prendendo un blocco dopo l'altro. Al contrario, la tecnica di cifratura Stream prevede la crittografia e la decrittografia di un byte di alla volta.
  2. La crittografia a blocchi utilizza sia la confusione che la diffusione, mentre la crittografia a flusso si basa solo sulla confusione.
  3. La dimensione normale del blocco potrebbe essere 64 o 128 bit nella cifra del blocco. Al contrario, 1 byte (8 bit) alla volta viene convertito nel codice di flusso.
  4. Utilizza cifratura a blocchi BCE (Electronic Code Book) e CBC (Cipher Block Chaining) modalità algoritmo. Al contrario, utilizza la crittografia Stream CFB (Feedback cifrato) e OFB (feedback di uscita) modalità algoritmo.
  5. Lo stream cipher usa la funzione XOR per convertire il plain in cipher, ecco perché è facile invertire i bit XORed. Considerando che la crittografia a blocchi non utilizza XOR per farlo.
  6. La crittografia a blocchi utilizza la stessa chiave per crittografare ciascun blocco, mentre la crittografia a flusso utilizza una chiave diversa per ogni byte.

Conclusione:

Block Cipher e Stream Cipher si differenziano per il modo in cui plain è crittografato e decrittografato. L'idea alla base della cifratura a blocchi è quella di dividere la pianura in blocchi crittografandoli ulteriormente. Mentre il codice di flusso converte piano piano a bit, simile al flusso.