Cifratura Rijndael
w(i) dove i vettore di rappresentazione
- Testo in chiaro
- AddRound Key
- Round 1
- Round 9
- Round 10
- Testo cifrato
w(0), w(1), w(2), w(3)
w(4), w(5), w(6), w(7)
w(36), w(37), w(38), w(39)
w(40), w(41), w(42), w(43)
128 bit da punti sono riorganizzati in 16 bytes ai,j
matrice 4x4
- a00, a02, a03
- a10, a11, a12, a13
Matrice d'ingresso
Si lavora su il campo finito GF(2⁸)
Trasformazione SubBytes
Ogni byte della matrice A è trasformato nella sua immagine nella S-box (16x16)
- b00, b01, b02, b03
- b10, b11, b12, b13
- b20, b21, b22, b23
- b30, b31, b32, b33
Trasformazione ShiftRows
Ogni riga della matrice B è fatta scorrere column
- c01, c02, c03, c00
- c10, c11, c12, c13
- c20, c21, c22, c23
- c30, c31, c32, c33
Trasformazione Mix Columns
Ogni elemento è calcolato secondo una complessa operazione
CIFFRATURE RIJNDAEL
addround key
round 1
round 9
round 10
testo cifrato
16 bytes matrice
- ai,j
- bi,j
- bi,j
TRASFORMAZIONE SUBBYTES
- Ogni bit della matrice a è trasformato nella b
- Considera la corrispondente colonna
- Elementi invertiti da 0 a 9
TRASFORMAZIONE SHIFTROWS
Righe della matrice B scorse
TRASFORMAZIONE MIX COLUMNS
- Ogni colonna della matrice B da C
- Riga calcolata in GF(28)
M.C = D
00000000
00000000
00000000
00000000
×
00010011
00100010
01000100
10001000
=
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
b0, b1, b2, b3
b0, b1, b2, b3
d0, d1, d2, d3
(d0, d1, d2, d3)
(d0, d1, d2, d3)
(d0, d1, d2, d3)
(d0, d1, d2, d3)
d0, d1, d2, d3
d0, d1, d2, d3
d3,
d3
d0 = 2b0 + 3b1 + b2 + b3,
d1 = b0 + 2b1 + 3b2 + b3,
d2 = b0 + b1 + 2b2 + 3b3,
d3 = 3b0 + b1 + b2 + 2b3.
ADD ROUND KEY
La chiave di round é formata da 128 bit disposti in matrice di byte 4×4. Questa matrice è som mata xor con l'output del passo MC
D⊕K = E
(d0,0, d0,1, d0,2, d0,3)
+
(k0,0, k0,1, k0,2, k0,3)
=
(e0,0, e0,1, e0,2, e0,3)
(d1,0, d1,1, d1,2, d1,3)
(k1,0, k1,1, k1,2, k1,3)
(e1,0, e1,1, e1,2, e1,3)
(d2,0, d2,1, d2,2, d2,3)
(k2,0, k2,1, k2,2, k2,3)
(e2,0, e2,1, e2,2, e2,3)
(d3,0, d3,1, d3,2, d3,3)
(k3,0, k3,1, k3,2, k3,3)
(e3,0, e3,1, e3,2, e3,3)
(R0, R1, R2, R3)
(R4, R5, R6, R7)
(R8, R9, R10, R11)
(R12, R13, R14, R15)
OUTPUT INIZIE DEL ROUND
CHIAVI ROUND
La chiave originalséé formata da 128 bit disposti in matrice di byte 4×4. Questa matrice è ampliata eseguendo quattro cicli. Lo scopo è incrementare il valore della prima W(i0), W(i1), W(i2), W(i3):
Si esegue un ciclo da 1 a n = 4: W(i+4j) W(i+4(j-1)) T:
Al termina trasformatasi utilizza la funzione W' (la riga a W fino ad W a W' la riga trasformatasi)
riga escluse A b0 A1 A13 della colona W
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Sicurezza nelle reti 1
-
Sicurezza delle reti
-
Paniere Domande Sicurezza nelle reti e Cyber Security
-
Sicurezza delle Reti