cerca
AES
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Return to AES  (Edit)

Uni.AES History

Hide minor edits - Show changes to output

July 07, 2009, at 10:42 PM by studente - aggiustamenti alla modifica precedente
Changed lines 46-47 from:
Lo schemino sta a significare che si parte dal blocco, si fa una ARK iniziale, poi si esegue il round per 10 volte (o 12 o 14). Ogni round è composto dai 4 stadi in fila: SUB, SHIFT, MIX, ARK. Alla fine arriva l'output.
to:
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.
Changed lines 66-69 from:
In questo caso, c'è sempre una ARK iniziale, ma:
* i round sono uno in meno, perché c
'è un round "diverso" finale, con un'operazione in meno
* 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
* il round finale non ha lo stadio
MIX
to:
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
July 07, 2009, at 10:40 PM by studente - L'ultimo round di CrittaAES è diverso; manca MixColumnsAES->Critta
Changed line 33 from:
ROUND * 10, 12, 14
to:
ROUND * 9, 11, 13
Added lines 37-41:
ARK
|
ROUND * 1
SUB
SHIFT
Added lines 1-66:
(:title AES:)
%titolo%''':: AES ::'''

[[Torna alla pagina di Crittografia -> 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 -> DES]], ma usa uno schema ben diverso. Inoltre, si basa per i suoi calcoli interni su di un tipo particolare di [[campo -> CrittoGAC]], il '''campo finito 2'^8^''''. 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 * 10, 12, 14
SUB
SHIFT
MIX
ARK
|
output

Lo schemino sta a significare che si parte dal blocco, si fa una ARK iniziale, poi si esegue il round per 10 volte (o 12 o 14). Ogni round è composto dai 4 stadi in fila: SUB, SHIFT, MIX, ARK. Alla fine 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:
* i round sono uno in meno, perché c'è un round "diverso" finale, con un'operazione in meno
* 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
* il round finale non ha lo stadio MIX

[[Torna alla pagina di Crittografia -> Crittografia]]