:: AES ::
Torna alla pagina di Crittografia
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.
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.
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.
Ogni round è composto da 4 stadi differenti:
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