Crittografia
Cosa
è la crittografia?
La scienza delle
scritture segrete si chiama Crittologia
e si divide in due grandi branche
la Crittografia, cioè l'arte di
scrivere messaggi che siano segreti
e quindi indecifrabili e la Crittanalisi
che è viceversa l'arte di decrittare
i messaggi segreti.
II modello di base che normalmente
si considera quando si parla di
crittografia è il seguente: Alice
(mittente) vuole comunicare con
Bob (destinatario) utilizzando
un canale di comunicazione insicuro
per spedire i suoi messaggi. Chiunque
sia in grado di ascoltare la comunicazione
che avviene lungo questo canale,
può carpire i messaggi che Alice
e Bob si stanno scambiando. Se Alice
e Bob si scambiano
informazioni segrete è opportuno
che essi adottino un qualche metodo
di cifratura o di codifica (algoritmo)
che permetta a Alice di spedire
i messaggi a Bob non in chiaro,
ma cifrati opportunamente (crittogramma),
cosicché il loro contenuto risulti
del tutto oscuro ad un ipotetico
impostore X (crittoanalista) che
si è posto in ascolto su quel canale.
D’altra parte il crittogramma non
deve risultare oscuro a Bob,
il quale all’atto della sua
ricezione deve essere in grado di
risalire facilmente al messaggio
in chiaro originale così da poterlo
leggere (decifrazione o decodifica).
Ruolo quindi fondamentale è quello
del metodo con cui si realizza il
crittogramma: esso è di solito funzione
di una certa chiave k, che
viene usata da Alice per
la codifica. Dal lato ricezione
Bob riceve il messaggio cifrato
e lo trasforma in chiaro tramite
la sua chiave di decodifica. Più
tale funzione è complessa, più sarà
difficile per l’impostore riuscire
a decrittare il messaggio codificato.
Gli algoritmi sono suddivisibili
in due classi: simmetrica e asimmetrica.
top
Cosa
sono gli algoritmi simmetrici?
Quando di parla
di sistemi crittografici a chiave
privata o simmetrici
ci si riferisce ad uno "scenario"
in cui Alice e Bob devono scambiarsi
informazioni segrete su un canale
insicuro: il sistema è a chiave
privata in quanto sia Alice che
Bob usano la stessa chiave (segreta)
per stabilire una comunicazione
"riservata". Alice la usa per crittare
il messaggio da spedire e Bob la
usa per decifrare il messaggio ricevuto.
La simmetria del sistema, infine,
è relativa alle fasi di cifratura/decifratura
del messaggio: esse devono avvenire
in maniera simmetrica, nel senso
che le operazioni di codifica (messaggio-in-chiaro->messaggio-cifrato)
e decodifica (messaggio-cifrato->messaggio-in-chiaro)
vengono effettuate in modo simmetrico.
Lo scambio della chiave assume un
aspetto di fondamentale importanza
affinché il sistema funzioni correttamente.
Gli algoritmi simmetrici più diffusi
sono il DES, Triplo DES, IDEA e
RC5.
top
Cosa
sono gli algoritmi asimmetrici?
Questa classe
comprende tutti gli algoritmi che
fanno uso di due chiavi distinte,
una pubblica e una privata. La chiave
privata è mantenuta segreta
mentre la chiave pubblica
non è segreta ma come dice lo stesso
nome è resa pubblica. Siccome questi
sistemi utilizzano due chiavi distinte
vengono anche detti asimmetrici.
La chiave pubblica e quella privata
sono collegate matematicamente ma
risulta "computazionalmente difficile"
derivare la chiave privata da quella
pubblica.
Vi sono due modi con cui utilizzare
i sistemi crittografici asimmetrici
(o a chiave pubblica) a seconda
se la chiave pubblica è utilizzata
per criptare (trasmissione dati
riservati) o per decifrare (firma
digitale).
Gli algoritmi simmetrici più diffusi
sono l’RSA e il DSA.
top
Cosa
è una chiave privata?
La chiave privata
è l’elemento della coppia di chiavi
asimmetriche, destinato ad essere
conosciuto soltanto dal soggetto
titolare, mediante il quale si appone
la firma digitale sul documento
informatico o si decifra il documento
informatico in precedenza cifrato
mediante la corrispondente chiave
pubblica.
top
Cosa
è una chiave pubblica?
La chiave pubblica
è l'elemento della coppia di chiavi
asimmetriche destinato ad essere
reso pubblico, con il quale si verifica
la firma digitale apposta sul documento
informatico dal titolare delle chiavi
asimmetriche o si cifrano i documenti
informatici da trasmettere al titolare
delle predette chiavi.
top
Quali
sono le caratteristiche dell'algoritmo
RSA?
Attualmente
RSA (Rivest, Shamir, Adelman) è
l’algoritmo asimmetrico più utilizzato.
Può essere utilizzato sia per criptare
un messaggio, sia per la firma elettronica
che per lo scambio di chiavi. La
lunghezza delle chiavi è variabile
fra 512 e 2048. Chiavi più lunghe
aumentano la sicurezza dell’algoritmo
ma ne diminuiscono la velocità.
La difficoltà di forzare RSA dipende
dalla fattorizzazione di un numero
intero molto grande.
top
Quali
sono le caratteristiche dell'algoritmo
DSA?
DSA (Digital
Signature Algorithm) è un algoritmo
che viene utilizzato prettamente
per firmare messaggi e non può essere
utilizzato per criptare. La sicurezza
di questo algoritmo dipende dalla
difficoltà di calcolare logaritmi
discreti.
top
Quali
sono le differenze fra algoritmi
simmetrici e asimmetrici?
Nell’ambito
degli algoritmi simmetrici si ha
che la chiave di cifratura e decifrazione
è la stessa ed è nota ad entrambi
i partner che la devono mantenere
segreta. Con i sistemi asimmetrici
la chiave di cifratura è completamente
diversa da quella di decifrazione.
La chiave di cifratura è nota a
tutti mentre quella di decifrazione
è mantenuta segreta.
Quindi il vantaggio della crittografia
a chiave pubblica è che non soffre
del problema legato allo scambio
segreto delle chiavi, proprio dei
cifrari simmetrici. Dall’altra parte
però questi sistemi sono circa mille
volte più lenti dei cifrari simmetrici
in hardware, e cento volte più lenti
degli stessi in software.
top
Che
cosa è un attacco?
L’obiettivo
di un attacco è quello di forzare
il sistema. Il proposito dell’impostore
che si inserisce nel canale tra
Alice e Bob può essere il più vario
possibile. Egli può limitarsi ad
"ascoltare" il messaggio che transita,
oppure potrebbe voler solo disturbare
la loro comunicazione intervenendo
sul canale modificando arbitrariamente
il testo cifrato (così che Bob sia
impossibilitato a risalire al messaggio
in chiaro), o infine potrebbe voler
modificare il contenuto del testo
in chiaro in modo opportuno agendo
sul testo cifrato e quindi facendo
sì che Bob riceva messaggi che Alice
non ha spedito. In generale si distingue
un comportamento passivo,
se l’impostore si limita ad ascoltare
la comunicazione oppure attivo
se egli agisce sul canale disturbando
la comunicazione o peggio modificando
i messaggi.
top
|