Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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
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
.
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)
chiave
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 -
Canale di
comunicazione
INSICURO
Canale
sicuro
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
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.
Codifica
Encrypt
Decrypt
Encrypt
Decrypt
Encrypt
Decrypt
Deodifica
I
In
D
0
B
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.
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.
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
d u r r e un b l o c c o di t e s t o cifrato a 6 4 bit.
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;
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
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
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
3,3
c(x)
_
~ -
0,2
0,3
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
2,2 J 2,3
3,2
3,3
1,3
2,3
3,3
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