Differenza tra Block Cipher e Stream Cipher in informatica

Differenza tra Block Cipher e Stream Cipher in informatica

Cipher

In informatica, un cifrario è un metodo per nascondere parole o testo con crittografia sostituendo le lettere originali con altre lettere, numeri e simboli tramite sostituzione o trasposizione. Un codice spesso consente la comunicazione privata e viene spesso utilizzato nelle e-mail, in modo che se un messaggio crittografato viene intercettato da un utente non autorizzato, il messaggio non può essere letto.

Esistono diversi tipi di cifratura, tuttavia due esempi tipici sono:

  • Baconian: nasconde un messaggio all’interno di un altro messaggio con vari caratteri, caratteri tipografici o caratteristiche.
  • Atbash: La lettera A viene modificata in Z. B viene modificata in Y, D viene modificata in Q, E viene modificata in W, F in P e così via.

Stream Cipher

Un cifrario a flusso è un cifrario a chiave simmetrica (metodo di crittografia) in cui le cifre di testo in chiaro sono combinate con un flusso di cifre di cifratura pseudocasuale. Un cifrario a flusso crittografa il testo in chiaro con una chiave e un algoritmo applicati a ogni cifra binaria (uno e zeri) per ogni bit nel flusso di dati. Le cifre di cifratura pseudocasuali vengono generate tramite un numero di valori iniziali casuali che utilizzano registri a scorrimento delle cifre.

In un cifrario a flusso, il testo è diviso in piccoli blocchi, lunghi un bit o un byte e ogni blocco è codificato a seconda di molti blocchi precedenti.

Tipi di cifratura del flusso

  1. Crittografie a flusso sincrono : una crittografia a flusso sincrono genera un Keystream basato su stati interni non correlati al testo normale o al testo cifrato. La crittografia e la decrittografia richiedono che la crittografia a stato sincrona si trovi nello stesso stato, altrimenti il ​​messaggio non può essere decrittografato.
  2. Crittografie del flusso con sincronizzazione automatica: una cifratura del flusso con sincronizzazione automatica, nota anche come cifratura del flusso asincrono o chiave automatica del testo cifrato (CTAK), è una cifratura del flusso che utilizza le precedenti N cifre per calcolare il keystream utilizzato per i successivi N caratteri.

Differenza tra Block Cipher e Stream Cipher in informatica

Block Cipher

Un cifrario a blocchi è un metodo di crittografia che applica un algoritmo deterministico insieme a una chiave simmetrica per crittografare un blocco di testo, piuttosto che crittografare un bit alla volta come nei cifrari a flusso. Nella cifratura a blocchi, il testo è diviso in blocchi relativamente grandi, tipicamente lunghi 64 o 128 byte e ogni blocco è codificato separatamente. Il testo in chiaro viene utilizzato durante la crittografia e il testo crittografato risultante viene indicato come testo cifrato.

L’algoritmo di cifratura a blocchi è simmetrico in quanto, durante la crittografia, utilizza la chiave condivisa per trasformare il suo input di testo normale in un testo cifrato (testo crittografato). Durante la decrittografia, utilizza la stessa chiave per trasformare il testo cifrato nel testo in chiaro originale. La lunghezza dell’output è la stessa dell’ingresso.  

Differenza tra Block Cipher e Stream Cipher

BASE DI CONFRONTO STREAM CIPHER BLOCCO CIPHER
Descrizione Un cifrario a flusso è un cifrario a chiave simmetrica (metodo di crittografia) in cui le cifre di testo in chiaro sono combinate con un flusso di cifre di cifratura pseudocasuale. Un codice a blocchi è un metodo di crittografia che applica un algoritmo deterministico insieme a una chiave simmetrica per crittografare un blocco di testo.  
Utilizzo chiave Stream Cipher utilizza una chiave diversa per ogni byte. La crittografia a blocchi utilizza la stessa chiave per crittografare ogni blocco.  
Integrità I cifrari di flusso non forniscono protezione dell’integrità o autenticazione. Alcuni cifrari a blocchi (a seconda della modalità) possono fornire protezione dell’integrità, oltre alla riservatezza.
Funzione XOR Il cifrario a flusso utilizza la funzione XOR per convertire il testo normale in testo cifrato, motivo per cui è facile invertire i bit XORed. La crittografia a blocchi non utilizza la funzione XOR.
Crittografia del testo normale La cifratura a flusso utilizza la confusione per crittografare il testo del reclamo. I codici a blocchi utilizzano sia la confusione che la diffusione per crittografare il testo in chiaro in testo cifrato.  
Velocità 1 byte (8 bit) alla volta viene convertito nel cifrario a flusso, questo rende il processo più veloce. Cifrari a blocchi, la dimensione normale del blocco potrebbe essere 64 o 128 bit nel cifrario a blocchi e questo rende il cifrario a blocchi più lento del cifrario a flusso.
Implementazione Le cifrature a flusso sono più difficili da implementare correttamente e sono soggette a punti deboli in base all’utilizzo. Relativamente facile da implementare.
Modalità algoritmo La cifratura a flusso utilizza CFB (Cipher Feedback) e OFB (Output Feedback). La cifratura a blocchi utilizza ECB (Electronic Code Book) e CBC (Cipher Block Chaining).

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *