CRITTOGRAFIA
Alberto Rossi
Sistemi di elaborazione delle
informazioni
Cos’è?
La parola crittografia deriva dall'unione di due parole greche kryptósv che significa
nascosto e graphía che significa scrittura. La crittografia è la scienza che si occupa di
proteggere delle informazioni rendendole incomprensibili a chi le dovesse intercettare,
in modo che possano essere lette e capite solo dal destinatario. Il messaggio da
proteggere viene detto testo in chiaro, mentre quello ``trasformato'' in modo da essere
incomprensibile viene detto testo cifrato; la trasformazione da testo in chiaro a testo
cifrato si dice cifratura, mentre la trasformazione inversa si dice decifratura. La
trasformazione crittografica è detta algoritmo di cifratura, e specifica la procedura che
trasforma il testo in chiaro in quello cifrato. La crittografia è attualmente molto
importante, in quanto ci consente di rendere sicure le nostre comunicazioni (mail
criptate), i nostri dati (database criptati) e i nostri riconoscimenti (firma digitale).
Sistemi di elaborazione delle
informazioni
Crittografia antica
La necessità di trasmettere messaggi cifrati è antica quanto l’uomo, alcuni esempi di cifratura
sono il metodo Atbash degli ebrei, la Scitala degli spartani e il cifrario di Cesare di Giulio
Cesare.
Una scitala era una piccola bacchetta. Il messaggio veniva scritto su di una striscia di pelle
arrotolata attorno ad essa. Una volta srotolata e tolta dalla scitala la striscia di pelle, era
impossibile capire il messaggio. La decifrazione era invece possibile se si aveva una
bacchetta identica alla scitala del mittente
L'atbash è un semplice cifrario in cui la prima lettera dell'alfabeto è sostituita con l'ultima, la
seconda con la penultima, e così via, "invertendo" l'ordine alfabetico delle lettere.
Il cifrario di Cesare è un cifrario a sostituzione monoalfabetica in cui ogni lettera del testo in
chiaro è sostituita nel testo cifrato dalla lettera che si trova un certo numero di posizioni dopo
nell‘alfabeto. Ad esempio, usando il 3 come chiave ottengo:
Sistemi di elaborazione delle
informazioni
Crittografia moderna
La crittografia moderna nasce con la stesura da parte di Leon Battista Alberti del De Cifris,
utilizzando un Disco Cifrante composto da due dischi concentrici contenenti uno l’alfabeto
in chiaro, l’altro l’alfabeto cifrato, rotanti uno rispetto all’altro consentendo così la
sostituzione polialfabetica con periodo irregolare.
Il cifrario di Vigenère Si basa sull'uso di un versetto per controllare l’alternanza degli
alfabeti di sostituzione si può considerare una generalizzazione del cifrario di Cesare;
invece di spostare sempre dello stesso numero di posti la lettera da cifrare, questa viene
spostata di un numero di posti variabile ma ripetuto, determinato in base ad una parola
chiave, da concordarsi tra mittente e destinatario, e da scrivere ripetutamente sotto il
messaggio
Sistemi di elaborazione delle
informazioni
Crittografia moderna
Per semplificare la cifratura, il Vigenère propose l'uso della seguente "matrice" quadrata,
composta da alfabeti ordinati e spostati. Se si vuole cifrare, con la chiave dell'esempio
precedente, la lettera "R" della parola rapporto basterà trovare la lettera "R" nella prima
riga orizzontale, individuando la colonna verticale in cui sta la lettera cifrata. Basterà poi
trovare la "V" di "verme" nella prima riga verticale per trovare la colonna orizzontale,
individuando, tramite l'incrocio, la lettera corretta da usare.
Sistemi di elaborazione delle
informazioni
Crittografia simmetrica
Le tecniche crittografiche descritte fin qui trattano tutte di crittografia simmetrica, ovvero
quella tecnica di codifica nella quale i due interlocutori devono accordarsi precedentemente
sulla chiave di lettura, in quanto una sola.
La robustezza degli algoritmi di cifratura dipende dalla lunghezza della chiave utilizzata,
tanto è più lungo il testo della chiave, tanto più difficile sarà decifrare il messaggio. Una
chiave di 40 bit ad esempio viene definita debole in quanto di facile decifratura, una di
128 invece è definita forte. Il problema nell’utilizzo della crittografia simmetrica comunque
non è relativo all’algoritmo utilizzato, bensì alla difficoltà nella distribuzione della chiave,
dovendo questa essere trasmessa in modo sicuro tra gli interlocutori. Oltre alla sicurezza
si deve pensare che, se si gestisce un numero alto di utenti (pensiamo a un servizio
bancario via internet) allora dovranno esistere N chiavi segrete, le quali comportano
elevati costi e tempi di amministrazione. Alcuni esempi di algoritmi di decodifica a chiave
privata sono il DES, IDEA, 3DES, RC2
Sistemi di elaborazione delle
informazioni
Crittografia asimmetrica
Il problema dell’unica chiave è stato risolto in tempi relativamente recenti (anni
Settanta) con l'invenzione della crittografia a chiave pubblica (crittografia
asimmetrica). Con algoritmi di questo tipo ognuno ha due chiavi: una pubblica da
distribuire a tutti quelli con cui vuole comunicare, e una privata da tenere segreta. Ciò
che viene cifrato con la chiave pubblica (operazione che può essere fatta da
chiunque) può essere decifrato solo con la chiave privata corrispondente (operazione
che può essere fatta solo dal proprietario della chiave): in questo modo non c'è più il
problema di comunicare segretamente la chiave, perché questa è nota a tutti; per
comunicare in modo sicuro con una persona basta cifrare il messaggio con la sua
chiave pubblica. Questa è la tecnica che si utilizza per le firme digitali.
Con questa crittografia si ovvia il problema logistico di distribuzione di più chiavi,
sorge però il problema dovuto alla robustezza degli algoritmi utilizzati, in quanto la
doppia codifica comporta procedimenti onerosi e lenti. Alcuni esempi di algoritmi a
chiave pubblica sono il RSA, DSS, Diffie-Hellman, HFE
Sistemi di elaborazione delle
informazioni
Che crittografia adottare?
Riassumendo :
simmetrica
asimmetrica
pro
Veloce, di facile utilizzo
Distribuzione delle chiavi non
impegnativa
contro
Presenza
Impegnativa dal punto di vista
computazionale e onerosa in termini
di tempo
della sola chiave
privata, a rischio vulnerabilità;
Difficoltà nella distribuzione
delle chiavi in un sistema
multiutente
La soluzione maggiormente adottata è un sistema “ibrido” che si traduce nell’utilizzo
della crittografia asimmetrica per la trasmissione della chiave segreta, utilizzando poi
la crittografia simmetrica per la trasmissione dei dati.
Sistemi di elaborazione delle
informazioni
DES (Data Encryption Standard)
L’algoritmo DES è stato messo a punto nel
1974 dall’IBM. Il DES è un cifrario a
blocchi, divide il testo in chiaro in blocchi
separati e opera su ognuno di essi,
indipendentemente, per produrre una
sequenza di testo cifrato. I blocchi del DES
sono di 64 bit, ad ogni blocco corrisponde
una chiave di 56 bit ed è invertibile. La
struttura del DES è la seguente: dopo una
fissata permutazione iniziale (IP) il blocco di
64 bit di testo in chiaro viene rotto in due
metà da 32 bit ciascuno. Queste due metà
passano quindi attraverso 16 iterazioni di
una trasformazione dipendente dalla chiave
per produrre un blocco di pre-output a 64 bit.
Questo blocco viene sottoposto ad una
permutazione finale per produrre un blocco
di testo cifrato.
Sistemi di elaborazione delle
informazioni
Il Des con CrypTool
Sistemi di elaborazione delle
informazioni
RSA
L’algoritmo RSA (prende il nome dalle iniziali dei tre sviluppatori Rivest, Shamir,
Aldeman) è il più comune ed utilizzato in ambito di crittografia asimmetrica
Per semplificare il funzionamento immaginiamo che A debba spedire un messaggio
segreto a B. Occorrono i seguenti passaggi:
 B sceglie due numeri primi molto grandi (per esempio da 300 cifre) e li moltiplica
con il suo computer (impiegando meno di un secondo).

B invia il numero che ha ottenuto ad A. Chiunque può vedere questo numero.

A usa questo numero per cifrare il messaggio

A manda il messaggio cifrato a B, chiunque può vederlo ma non decifrarlo

B riceve il messaggio e utilizzando i due fattori primi che solo lui conosceva lo
decifra.
A e B hanno impiegato pochi secondi a cifrare e decifrare, ma chiunque avesse
intercettato le loro comunicazioni impiegherebbe troppo tempo per scoprire i due
fattori primi, con cui si può decifrare il messaggio.
Sistemi di elaborazione delle
informazioni
RSA con CrypTool
Sistemi di elaborazione delle
informazioni
Sono realmente sicuri?
Il DES si è dimostrato un sistema molto utilizzato, ma allo stesso tempo insicuro.
Insicuro in quanto la lunghezza della chiave (solamente 56 bit) consente, tramite
attacchi a forza bruta (ovvero tramite tentativi), di scovarla in maniera abbastanza
rapida. Vi sono diversi sistemi creati per aggirare il DES (DES cracker,
COPACOBANA)i quali sono comunque molto costosi partendo dagli 8.000€
arrivando ai 250.000€. Vi sono comunque algoritmi che utilizzano chiavi associate
ad un numero maggiore di bit, tali da rendere più difficili l’attacco (3DES, IDEA ecc.).
Per quanto riguarda l’algoritmo RSA l’attacco a forza bruta (ovvero ottenere i due
numeri primi usati per creare la chiave pubblica), è una procedura lentissima.
L’attacco più veloce è durato 5 mesi utilizzando 80 processori da 2,2GHz, questi
dati consentono di dire che l’algoritmo è sufficientemente sicuro.
Sistemi di elaborazione delle
informazioni
FONTI
 wikipedia.org
 sicurezzainrete.com
 linux.it
 itl.nist.gov
Sistemi di elaborazione delle
informazioni
Scarica

Crittografia