Sei sulla pagina 1di 8

Tecniche crittografiche per la protezione dei dati

LEZIONE 4

CRITTOGRAFIA SIMMETRICA
(O A CHIAVE PRIVATA)
IN QUESTA UNITA IMPAREREMO.
la crittografia elettronica a chiave simmetrica
il cifrario D E S e 3 - D E S
il metodo I D E A
lo standard D E S

Generalit
L'avvento dei computer ha portato innovazioni rivoluzionarie anche nella crittografia offrendo nuove possibilit e permettendo lo sviluppo di tecniche di crittografia profondamente diverse da quelle
del passato. Anche la velocit dell'elaboratore pi lento permette di violare t u t t i i metodi sicuri fin
al XIX secolo i n pochi secondi e, d'altra parte, proprio la velocit di computazione elettronica permette di realizzare meccanismi crittografici irrealizzabili col calcolo manuale (o elettromeccanico).
La diffusione capillare dei computer ha inoltre introdotto nuove esigenze, soprattutto con la connessione dei computer, grazie alla quale milioni di persone si scambiano messaggi e dati su canali di comunicazione condivisi, e quindi facilmente intercettabili: ogni giorno vengono prelevati soldi con un
bancomat, effettuati acquisti i n Internet, trasmessi codici e password segrete per compiere transazioni.
Q u i n d i , oltre alla segretezza d e i m e s s a g g i , s o n o nate n u o v e esigenze e la c r i t t o g r a f i a d i v i e n
u n o s t r u m e n t o i n d i s p e n s a b i l e per:
I i d e n t i f i c a r e un u t e n t e all'accesso alla rete o al s i n g o l o PC;
I a u t e n t i c a r e un m e s s a g g i o , c i o accertarsi d e l l ' i d e n t i t d e l l ' a u t o r e e della integrit d e l m e s saggio ricevuto;
f i r m a r e d i g i t a l m e n t e un m e s s a g g i o , in m o d o da p e r m e t t e r e la verifica d e l l ' a u t o r e e q u i n d i
la n o n r i p u d i a b i l i t d e l m e s s a g g i o stesso.

Tutti i cifrari tradizionali sono caratterizzati da una (o pi) chiave segreta che mittente e destinatario dei messaggi segreti devono i n "qualche modo" concordare e quindi scambiarsi prima di poter
comunicare: questa esigenza un grosso punto debole i n quanto praticamente impossibile avere
un canale sicuro.

Crittografia simmetrica (o a chiave privata)

I sistemi crittografici contemporanei vengono classificati proprio i n base al tipo e al numero di


chiavi usate:
sistemi a chiave simmetrica (o privata): viene utilizzata una sola chiave:
Chiave (unica)

File
originale

Crypto

File

Decrypto

crittato

File
originale

I sistemi a chiave asimmetrica (o pubblica): sistemi dove ogni utente dispone di due chiavi, una
pubblica e una privata (le chiavi sono invertibili):
Chiave pubblica

Chiave privata

fpi
File
originale

File
crittato

Decrypto

File
originale

Un s e c o n d o livello d i classificazione p u essere f a t t o in base al t i p o d i d a t i su cui l a v o r a n o ,


c i o se i sistemi e l a b o r a n o i d a t i in b l o c c h i d i d i m e n s i o n e fissa o p p u r e se e l a b o r a n o i d a t i p e r
singola unit d i i n f o r m a z i o n e (bit o byte) p e r v o l t a :
I b l o c k c i p h e r s : il m e s s a g g i o viene diviso in b l o c c h i , o g n i b l o c c o subisce la stessa t r a s f o r m a zione (a m e n o d i una variazione d i chiave);
s t r e a m c i p h e r s : cerca d i r i p r o d u r r e i v a n t a g g i d e l o n e - t i m e p a d , d o v e o g n i e l e m e n t o
d e l m e s s a g g i o v i e n e c o m b i n a t o (ad e s e m p i o t r a m i t e XOR) c o n un e l e m e n t o p r o v e n i e n te d a una g e n e r a z i o n e p s e u d o c a s u a l e , spesso g e n e r a t o a partire d a una chiave iniziale
(detta v e t t o r e d i inizializzazione). In alcuni casi il flusso casuale p u d i p e n d e r e d a g l i i n p u t
recedenti.

Il cifrario D E S
DBO dei p r i m i sistemi crittografici moderni a chiave simmetrica stato sviluppato da Horst Feistel
> nel 1976 ed diventato uno standard negli U S A per la protezione di dati sensibili.
1

n-T'-

- " 3
.

Security A g e n c y ( U S A ) e i l N a t i o n a l Bureau of S t a n d a r d s ( U S A ) lo ritenne un sistema

efficiente, compatibile e venne quindi certificato.

Tecniche crittografiche per la protezione dei dati

DES un algoritmo simmetrico a chiave segreta di 64


bit ma dei quali 8 sono di controllo, quindi solo 56 bit
utili, e tramite questa chiave prevede 16 trasformazioni successive applicate a ogni blocco del messaggio.

trasformazioni sono sia d i trasposizione che d i sostituzione, q u i n d i il


I pire; ^
j f r i o misto
L e

u n

r a

Ricordiamo che nei computer la crittografia deve lavorare non pi su di un alfabeto d i 26 lettere ma
su file binari con byte codificati i n ASCII, quindi con 128 caratteri d i cui solo 96 sono i cosiddetti
printable characters.

Il DES rispetta i l principio d i Kerckhoffs, cio l'algoritmo noto ed la chiave segreta, ed stato
realizzato applicando i principi d i Shannon:
> diffusione dei caratteri consecutivi del messaggio i n tutto il crittogramma;
I confusione del messaggio con la chiave.
Praticamente i l testo i n chiaro viene suddiviso in blocchi d i 8 byte e scrivendo la codifica ASCII da
ogni blocco si otterr una stringa di 64 cifre binarie: a queste cifre viene applicata una trasposizione
di 56 bit alla chiave e successivamente per 16 volte si applica una funzione cifrante di sostituzione
dei bit, usando due porzioni della chiave di 28 bit ciascuna delle quali viene ruotata a sinistra di un
certo numero d i bit che dipende dal numero di iterazione; come ultimo passaggio viene effettuata
una trasposizione inversa a quella iniziale.
II funzionamento sintetizzato nello schema seguente:
Testo chiaro (64 bit)
Trasposizione iniziale

Interazione 2

Chiave
' di 56 bit

Interazione )B

Trasposizione inversa
Testo cifrato(64 bit)

Crittografia simmetrica (o a chiave privata)

La decifrazione avviene utilizzando la


medesima

chiave

adoperata per la ci-

fratura, solo che i passi vengono effettuati nell'ordine inverso: quindi u n


eterna simmetrico dato che sia l'emittente del messaggio che i l ricevente devono conoscere la stessa chiave
segreta.

EFFETTO VALANGA
Una caratteristica d e s i d e r a t a p e r o g n i a l g o r i t m o di c r i p t a z i o n e q u e l l o che p r e n d e il
n o m e di e f f e t t o v a l a n g a : un c a m b i a m e n t o di
p o c h i b i t nel p l a i n t e x t d e v e p r o v o c a r e un c a m b i a m e n t o
di q u a n t i p i bit nel c i p h e r t e x t , e il DES p o s s i e d e un
f o r t e e f f e t t o valanga.

Chiave -

CRITtogramma [ X ^ > 4 M S G } - >


Canale
sicuro

Canale di
comunicazione
INSICURO

Canale
sicuro

Il DES viene anche utilizzato p e r cifrare file p e r s o n a l i su d i un d i s c o locale

r c r circa vent'anni i l DES stato utilizzato come u n cifrario assolutamente sicuro e alla sua presentazione fu comunicato che per violarlo esaustivamente sarebbe stato necessario costruire u n
elaboratore dal costo stimato i n un 1 milione di dollari.
Le prime critiche arrivarono verso al fine del secolo scorso, soprattutto per la lunghezza della chiave
ritenuta insufficiente: le chiavi possibili sono 2 che, pur essendo u n numero molto elevato, doveva
"competere" con l'evoluzione tecnologica dei moderni supercomputer.
16

DES F U V I O L A T O N E L '98
Il 17 luglio 1998 la
rctronic Fronti
diffuse un comunicato stampa con il quale
annunci la definitiva sconfitta del
effettuata grazie a un calcolatore costato 250.000 dollari che
~>eno di sessanta ore era capace di forzare un messaggio cifrato con DES.
HBv

La relativa vulnerabilit dell'algoritmo DES ha comportato lo studio d i nuove tecniche e di u n nuovo


N o n o s t a n t e t u t t o , o g g i il
rimane
algoritmo: dapprima si realizz, nel 1999, i l Triple
a m p i a m e n t e utilizzato.
basandosi sullo stesso algoritmo ma utilizzando
chiavi pi lunghe e pi passaggi di cifratura; successivamente, nel 2001, venne pubblicato un nuovo
standard di sostituzione, l'AES Advanced (Encryption Standard).
a

3-DES
1999 stato introdotto Triple DES, con tre passi di cifratura DES consecutivi con tre chiavi
erse e per u n totale di 168 bit: la maggior sicurezza rispetto al sicurezza al DES proprio nella
lunghezza tripla della chiave.

Tecniche crittografiche per la protezione dei dati

Codifica e decodifica avvengono secondo i l seguente schema:


K,

Codifica
Encrypt

Decrypt

Encrypt

Decrypt

Encrypt

Decrypt

Deodifica

I
In
D
0
B

Il passo c e n t r a l e , c o m e si p u v e d e r e dalla f i g u r a , in realt una d e c i f r a z i o n e , c i o " a p p l i c a t o al c o n t r a r i o " .

base alla scelta delle chiavi i l sistema 3DES offre tre alternative:
le tre chiavi K l , K2 e K3 sono diverse e indipendenti;
due chiavi uguali K l = K3 e una diversa (K2);
le tre uguali K l = K2 = K3.

Con la seconda opzione, avendo solo due chiavi da 56


bit, la sicurezza a 112 bit.
La terza opzione viene usata esclusivamente per garantire la compatibilit con DES: i primi due passi si
annullano, per cui l'applicazione di M 3 D E S con

keying option 3 equivalente a quella di DES normale


e quindi la sicurezza della chiave 56 bit, come DES.

O g g i il sistema
. i v i e n e utilizzato c o n alcune varianti nelle t r a n sazioni c o m m e r c i a l i
elettroniche
(circuiti VISA, Mastercard...).

A 3 D E S The DES algorithm has been around for a long time, and the 56-bit version is now
easily crackable (in less than a day on fairly modest equipment). An enhancement, and one
which is still fairly c o m p a t i b l e with DES, is the 3-DES algorithm. It has three phases, and splits the key
into t w o . Overall the key size is typically 112 bits (with a c o m b i n a t i o n of the three keys - of which t w o of
the keys are the same). The algorithm is EncryptK3(DecryptK2(EncryptK1 (message), where K1 and K3
are typically the same (to keep compatibility).

IDEA
Nel 1991 fu proposto il cifrario IDEA (International Data Encryption Algorithm) i n sostituzione del DES,
proprio quando si temeva che questo non sarebbe ancora resistito per molto agli attacchi degli analisti.
Il metodo progettato i n Svizzera a opera dei due famosi ricercatori Xuejja Lai e James L. Massey si
basa su concetti simili al DES con chiave a 128 bit dove i blocchi di 64 bit del messaggio vengono
elaborati i n 8 iterazioni usando le operazioni di XOR, d i somma e moltiplicazione modulo 216.
I 64 bit del messaggio vengono divisi i n 4 gruppi di 16 e mescolati con 6 chiavi d i 16 estratte dalla
chiave di 128 bit.

Crittografia simmetrica (o a chiave privata)

.ttochiavi sono generate i n questo modo:


> la chiave a 128 bit divisa i n 8 blocchi

di 16 che costituiscono le prime 8 sottoc h i a v i ;

s j

s o t t o b

g
i

.,
d i

o c c h i

v e n

t e r z o

a l l ' u l t i m o passo

g o n o concatenati per pro-

d u r r e un b l o c c o di t e s t o cifrato a 6 4 bit.

I le cifre della chiave a 128 sono spostate


di 25 bit a sinistra i n modo da generare
una nuova combinazione, i l cui raggruppamento a 8 bit fornisce le prossime 8 sottochiavi;
secondo passo ripetuto finch le 52 sottochiavi sono generate.
Attualmente non si conoscono tecniche i n grado d i forzare IDEA che, grazie alla chiave a 128 bit,
i immune ad attacchi " b r u t a l i " ed il cifrario a chiave segreta pi utilizzato per quanto riguarda
: software commerciali d i crittografia vista la sua velocit di codifica e decodifica e la sua elevata
sicurezza.

AES
U 1 9 9 7 il NIST (National Institute of Standards and Technology) USA organizz u n "concorso" per
re l'ormai insicuro DES e definire u n nuovo standard crittografico, l'Advanced Encryption
mui I n 1 (AES).
presentarono 15 candidati con proposte di nuovi algoritmi e soluzioni criptografiche: dopo l u n e rigorose analisi nel 2000 vinse l'algoritmo Rijndael, proposto da due crittologi belgi, che
e ufficialmente i l nuovo standard, grazie alle sua velocit di esecuzione e alle caratteristiche
robustezza alla crittanalisi.
IHI

di valutazione di A E S

attuazione degli algoritmi che parteciparono al concorso furono effettuati dal NIST secondo due
metri d i giudizio,
prima valutazione si bas sulla verifica di requisiti fondamentali:
-zza: dato che i n AES la chiave ha dimensioni minime d i 128 bit, gli attacchi a "forza bruta"
brute force) con le tecnologie attuali e future non vennero neppure considerati;
to che la richiesta del NIST fu quella di un algoritmo da poter essere impiegato per
gamma d i applicazioni, doveva avere un'elevata efficienza computazionale e doveva
essere utilizzato nei collegamenti a banda larga;
eristiche d e l l ' a l g o r i t m o e d e l l ' i m p l e m e n t a z i o n e : per questi requisiti si richiedevano vari
progettuali dell'algoritmo, tra cui la leggibilit, la semplicit di codifica, la flessibilit e verper poter essere implementato i n differenti piattaforme hardware e software.
i progetti cinque furono selezionati come finalisti e si analizzarono pi dettagliatamente i
aspetti:
i generale: furono resi pubblici gli algoritmi e vennero valutati dalla comunit crittografica;
oni s o f t w a r e : fu valutata la velocit d i esecuzione i n diverse piattaforme hardware
si sistemi operativi, anche i n funzione della variazione della dimensione della chiave;
i con spazio l i m i t a t o : tra gli obiettivi c'era quello di poter implementare ed eseguire l'algoanehe i n situazioni di risorse limitate, come ad esempio con le Smart Card;
d e c r i t t o g r a f i a : analisi e comparazione delle risorse richieste tra la fase di crittografia
decrittografia nel caso i n cui i due algoritmi siano separati e quindi richiedano maggiore
d memoria;
Ma chiave: intesa come la capacit, la rapidit e i l costo necessario per effettuare i l camdella chiave;

Tecniche crittografiche per la protezione dei dati

I versatilit e flessibilit: possibilit di utilizzare blocchi e chiavi d i dimensioni diverse;


I potenzialit di sfruttamento del parallelismo: capacit di sfruttare le architetture parallele e quindi d i poter avere esecuzione contemporanea a livello delle istruzioni per massimizzare l'efficienza
del sistema.
L'algoritmo Rijndael risult vincitore e successivamente approvato dal Segretario del Dipartimento
di Commercio americano: rispetta praticamente t u t t i i canoni richiesti dal NIST ed resistente a
tutti gli attacchi a u n costo computazionale relativamente molto basso.

L'algoritmo A E S
AES fu progettato dai due crittologi Joan Daemen e Vincent Rijmen sulla base d i tre caratteristiche
fondamentali:
I resistenza contro tutti gli attacchi;
I velocit e compattezza del codice su un'ampia gamma di piattaforme;
I semplicit progettuale.
AES u n cifrario a blocchi (block cipher) con lunghezza del
blocco da 128 bit, ma pu avere chiavi indipendenti l'una
J n> u
*u
U J- - n o m i
e/
A
dall
altra con ilunghezza
variabile
di 128, 192 o -256
bit, ed
effettua una combinazione di permutazioni e sostituzioni.

r a 1 : i c a v i e n e

u t l

izzata m a g

q i o r m e n t e la chiave d i l u n q h e z za 128 bit.

A State II risultato intermedio delle operazioni fatte durante l'algoritmo prende il n o m e di state, rappresentabile c o m e un array di bytes.

La prima operazione eseguita dall'algoritmo quella di prendere i 128 bit del blocco (16 caratteri)
e di disporli i n una griglia d i 4 x 4 byte: si procede quindi con la codifica, che consiste fondamentalmente i n u n insieme di 10 fasi (rounds) ciascuna composta da 4 trasformazioni (nel caso di chiavi
a 128 b i t ) .
Le quattro operazioni che costituiscono ogni round sono le seguenti:

0,0

0,1

0,2

0,3

0,0

0,1

0,2

0,3

1,0

1,1

1,2

1,3

1,0

1,1

1,2

1,3

2,0

2,1

2,2

2.3

2,0

2,1

3,0

3,1

3,3

3,0

3 , 1 ^3,2

2 2

2 3

3,3

No
change

0,0

0,1

0,2

0,3

0,0

0,1

0,2

0.3

Shift 1

1,0

1,1

1,2

1,3

1,0

1.1

1,2

1,3

Shift_2

/ hr
a

2,0

2,1

2,2

2,3

2,0

2,1

2,2

2,3

3,1

3,2

3,3

3,0

3,1

3,2

3,3

Shift 3

44

3,0

Substitute Bytes: ogni byte viene trasformato


mediante una permutazione non lineare di byte
che vengono mappati tramite una tabella particolare definita i n AES stesso (tabella S-box i n
figura).

Shift Rows: le righe della matrice subiscono u n


semplice scorrimento di bytes nell'array state,
dove la prima riga rimane invariata, dalla seconda alla quarta viene sempre eseguito uno
scorrimento circolare a sinistra d i uno, due e
tre bytes rispettivamente.

Crittografia simmetrica (o a chiave privata)

a.

:y

i.q

ao.1

1,3

2,2

2,3

* 3,2

i,i

0,2
1.2

0,3

0,1

0,0
1,0
2,0

3,3

3,0

1,1

2,1

0,2
1,2
2,2

3,2

0,3

1,3
2,3

Mix Columns: ogni colonna viene trasformata


mediante una operazione che pu essere vista
come una moltiplicazione matriciale con una
particolare matrice generata da un polinomio
prefissato.

3,3

c(x)

_
~ -

0,2

0,3

=- : 1.1 1,2 1,3


a

2.1

*= : 3.1
a

2,2_

l^

*0,2

^,3

i.i

*2.1

*3.1

Su 0.1
A

3,2

1,2
2,2
3,2

3,3

0,0
1,0
2,0

3,0

0,1
1,1
2,1

0,2
1,2

0,3
1,3

A d d Round Key: questa non altro che la fase


in cui viene inserita la chiave segreta che rende
i l cifrario sicuro: ogni byte viene combinato i n
XOR con la chiave da 128 bit (16 bytes).

2,2 J 2,3

3,2

3,3

A o g n i r o u n d la chiave a g g i u n t a diversa e ricavata d a l l e p r e c e d e n t i ricorsivamente.

1,3
2,3
3,3

si pronunci cos sull'algoritmo Rijndael:


Kbn esiste alcun attacco noto alla sicurezza di Rijndael. Rijndael utilizza una S-box come comwmente non lineare. Rijndael sembra avere un margine di sicurezza adeguato, ma ha ricevuto
waiche critica che suggerisce che la sua struttura matematica potrebbe essere soggetta ad atwcht D'altro canto, la semplicit
della sua struttura dovrebbe aver facilitato l'analisi della
-.:za durante il processo di sviluppo dello standard AES."
I A E S i l primo standard approvato da NSA (National Security Agency) per comunicazioni topscret ed tuttora i l cifrario a chiave segreta pi usato negli ambienti informatici: a oggi non sono
o s c i u t i attacchi i n grado di violarlo (n d i crittoanalisi lineare n differenziale) e l'unico che
s e potrebbe farlo (The Square attack) impiegherebbe tempi inaccettabili.

e AES s o n o utilizzati p e r la v a l i d a z i o n e d i password

s e g r e t e (identificazione d e l l ' u t e n t e ) .

* - ES -ES otherwise known as Rijndael and FlPS-197 is a symmetric block cipher that can ac; ' i a b l e block length and key length. The specification for AES can use keys with a length
I '92, or 256 bits t o encrypt blocks with al length of 128, 192 or 256 bits (all nine combinations
ength and block length are possible). Both block length and key length can be e x t e n d e d very
to multiples of 32 bits. AES can be i m p l e m e n t e d very efficiently on a w i d e range of processors in
A w a r e , or directly in hardware.
I

45