cerca
AES
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

AES

 :: 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