:: AES ::
Torna alla pagina di Crittografia
Che cos'è
AES è un cifrario a blocchi, che sta già iniziando a sostituire DES come standard per le agenzie governative americane, il che vuol dire che diventerà standard in tutto il mondo. DES infatti non è ormai più troppo sicuro.
Caratteristiche.
Non è basato per niente sulla rete di Feistel, ma usa uno schema ben diverso. Inoltre, si basa per i suoi calcoli interni su di un tipo particolare di campo, il campo finito 28. Le operazioni aritmetiche vengono compiute all'interno di questo campo.
- Dimensioni blocco: 128, 192, 256 bit
- Dimensioni chiave: 128, 192, 256 bit
- Numero di round (fasi): 10, 12, 14 (chiave lunga, più round)
- Numero di sottochiavi: round*4 + 4 => 10 round = 44 sottochiavi; 12 round = 52; 14 round = 60
Ogni round usa 4 sottochiavi, che per brevità sotto chiameremo chiave di round. Inoltre, c'è uno stadio aggiuntivo, fuori dalle fasi, che usa le 4 sottochiavi che avanzano.
Come funziona
Ogni round è composto da 4 stadi differenti:
- Substitute Bytes (SUB) = una sostituzione che fa uso delle S-Box
- Shift Rows (SHIFT) = una permutazione
- Mix Columns (MIX) = una sostituzione
- Add Round Keys (ARK) = una sostituzione che fa uso della chiave di round
Non si tratta di una rete di Feistel, come dicevo sopra: ciò vuol dire che ogni round e ogni stadio lavora sull'intero blocco.
La cifratura avviene in questo modo:
Blocco
|
ARK
|
ROUND * 9, 11, 13
SUB
SHIFT
MIX
ARK
|
ROUND * 1
SUB
SHIFT
ARK
|
output
Lo schemino sta a significare che si parte dal blocco, si fa una ARK iniziale, poi si esegue il round per 9 volte (o 11 o 13). Ogni round è composto dai 4 stadi in fila: SUB, SHIFT, MIX, ARK. Alla fine, fa un ultima volta SUB, SHIFT e ARK e poi arriva l'output.
La decifratura avviene invece così:
Blocco
|
ARK
|
ROUND * 9, 11, 13
SHIFT
SUB
ARK
MIX
|
ROUND "DIVERSO" * 1
SHIFT
SUB
ARK
|
output
In questo caso, c'è sempre una ARK iniziale, ma l'ordine delle operazioni è differente: sono infatti scambiate due a due: se ci fate caso, la coppia SUB -> SHIFT in crittografia diventa SHIFT -> SUB in decrittografia, mentre MIX -> ARK diventa ARK -> MIX
Torna alla pagina di Crittografia