Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lezione 18: Funzionamento della cifratura a blocchi - Coggle Diagram
Lezione 18: Funzionamento della cifratura a blocchi
Le 5 modalità illustrate considerano tutte le possibili applicazioni di un algoritmo di cifratura a blocchi, possono prevedere un utilizzo a blocco o a flusso e possono essere usate con qualsiasi tipologia di cifratura simmetrica
Electronic Codebook (ECB)
Il testo in chiaro viene codificato un blocco alla volta e sempre con la stessa chiave
Se nel messaggio compare più volte lo stesso blocco questo produrrà sempre lo stesso testo cifrato in uscita
Vulnerabilità all'analisi crittografica
Utilizzati due algoritmi distinti per cifratura e decifratura e chiave K unica
L'algoritmo di cifratura riceve in input un blocco del testo in chiaro Pi di b bit e la chiave K
Se i bit del blocco Pn sono minori di b, a tale blocco vengono aggiunti dei bit di riempimento
Cipher Block Chaining (CBC)
In questo caso lo stesso blocco del testo in chiaro produce diversi blocchi di testo cifrato
L'input all'algoritmo di cifratura è lo XOR tra il blocco di testo in chiaro e il blocco di testo cifrato al passo precedente + la chiave K (unica)
Nel primo step si usa un vettore di inizializzazione (IV) noto anche al destinatario, esso va in XOR con il primo blocco di testo in chiaro
Cipher Feedback (CFB)
Cifratura a flussi
Elimina la necessità di bit di riempimento per l'ultimo blocco e ciascun carattere crittografato è trasmesso immediatamente
Il testo viene diviso in segmenti
s
L'input all'algoritmo di crittografia è un
registro a scorrimento
di b bit e la chiave K (unica)
Nel primo step esso e inizializzato con un vettore di inizializzazione (IV)
Gli
s
bit più significativi del testo cifrato prodotto dallo step n° 2 vanno in XOR con gli
s
bit del blocco di testo in chiaro per generare il primo blocco di testo cifrato C1
Il registro di scorrimento viene shiftato a sinistra si
s
bit e negli
s
bit meno significativi si inserisce il blocco di testo cifrato dello step precedente
Il ciclo poi riparte: questo nuovo registro verrà criptato, ne verranno presi gli
s
bit più significativi e andranno in XOR con il secondo blocco di testo in chiaro per produrre il secondo blocco di testo cifrato C2
Output Feedback (OFB)
Il funzionamento è simile al CFB ma in questo caso nel registro di scorrimento vengono inviati gli
s
bit cifrati del registro di scorrimento anziché Ci
La produzione dei blocchi di testo cifrato è la medesima con lo XOR degli
s
bit più significativi del registro con il blocco di testo in chiaro
L'unica differenza è come questo registro viene prodotto
Counter (CTR)
Si utilizza un
counter
di dimensione uguale a quella del blocco di testo in chiaro
Il valore del
counter
deve essere differente per ciascun blocco che viene cifrato
In genere si usa un determinato valore che viene poi incrementato di un'unità nel blocco successivo
L'input all'algoritmo di cifratura è il counter e la chiave K (unica)
Il risultato criptato viene messo in XOR con il blocco di testo in chiaro dello step in questione per produrre il blocco di testo cifrato Ci
Vantaggi
Non esiste alcuna concatenazione (e quindi una dipendenza) tra i successivi stadi di cifratura
L'esecuzione di tale cifratura per blocchi può quindi avvenire in parallelo
Sicurezza uguale alle altre modalità
Non si deve implementare l'algoritmo di decifratura come per ECB e CBC