Modalità di Funzionamento per Cifratura a Blocchi
(come utilizzare cifratura a blocchi su messaggi di lunghezza arbitraria)
Inizialmente per il DES (1981) esistevano 4 modalità, nel 2001 NIST ne ha aggiunta una 5° e nel 2010 è stata
introdotta una modalità per cifratura AES di dispositivi di memorizzazione
Ecco le cinque modalità:
1. ECB – Electronic Code Book
Il messaggio in input viene suddiviso in blocchi da 64bit, ogni blocco viene cifrato indipendentemente
utilizzando però la medesima chiave (CodeBook sta a indicare che per ogni blocco di testo in chiaro vi è un
unico blocco di testo cifrato, e quindi la cifratura del messaggio non è altro che una sequenza di cifrature
dei blocchi).
n.b. Se nel testo in chiaro compare più volte lo stesso blocco, verrà prodotto sempre lo stesso testo cifrato
2. CBC – Cipher Block Chaining
Il primo blocco di testo in chiaro viene “xorato” con un Vettore di Inizializzazione (IV),il blocco ricavato
viene criptato con la chiave ottenendo il primo blocco cifrato, in seguito per ogni fase l’input è il blocco di
testo in chiaro combinato in XOR con il blocco cifrato del passo precedente, il testo ottenuto viene quindi
criptato con la medesima chiave per ogni blocco.
Nella decifratura ogni blocco viene prima decifrato con la chiave e il risultato viene composto in XOR con il
blocco criptato precedente.
Pregi (+) e Difetti (-) di CBC
+ Ogni blocco di testo cifrato dipende da tutti i blocchi di testo in chiaro precedenti
+ La decifratura può essere in parallelo
- La cifratura non può essere in parallelo
- Il messaggio deve avere una dimensione che sia un multiplo del blocco
- Un errore nel testo cifrato comporta una decifratura errata su due blocchi
3. CFB – Chiper FeedBack
E’ una modalità di cifratura a flussi, l’unità di trasmissione sono 8bit (per carattere quindi, 1 byte), ogni
carattere di testo cifrato dipende da tutto il testo in chiaro cifrato fino a quel momento.
Funzionamento:
In ogni fase il carattere di testo in chiaro (P) viene “xorato” con 8bit, questi ultimi sono i bit più significativi
del blocco da 64bit ottenuto dalla criptazione della chiave (K) con un blocco che viene generato per ogni
fase.
Questo blocco che di partenza è un IV (vettore di inizializzazione) viene generato di volta in volta facendo
scorrere i bit che contiene verso sinistra e aggiungendo in coda gli 8bit ottenuti dallo XOR tra carattere in
chiaro e gli 8bit più significativi del blocco (il carattere criptato C).
(il testo in chiaro non passa quindi dall’algoritmo di cifratura, l’algoritmo genera solo gli 8bit con cui
“x
-
Fondamenti di sicurezza - autenticatori
-
Fondamenti di sicurezza - Cifratura simmetrica Feistel DES
-
Fondamenti di sicurezza - introduzione alla crittografia
-
Fondamenti di sicurezza - applicazioni della cifratura asimmetrica