Seminario sulla Seminario sulla
Crittografia Crittografia
Corso: T.A.R.I Corso: T.A.R.I
Prof.: Giulio Concas Prof.: Giulio Concas
Autore: Ivana Turnu Autore: Ivana Turnu
Crittografia Crittografia
■
Cos’è la crittografia Cos’è la crittografia
■
Le tecniche più usate Le tecniche più usate
Cos’è la crittografia Cos’è la crittografia
■
Per garantire la riservatezza di un messaggio si Per garantire la riservatezza di un messaggio si usa normalmente trasformarlo in modo tale che usa normalmente trasformarlo in modo tale che solo le persone abilitate siano in grado di solo le persone abilitate siano in grado di
recuperare il messaggio originale.
recuperare il messaggio originale.
■
Esiste a tale scopo, una serie di algoritmi e di Esiste a tale scopo, una serie di algoritmi e di
Le tecniche più usate Le tecniche più usate
■
Chiave segreta (simmetrica) Chiave segreta (simmetrica)
Crittografia a chiave segreta Crittografia a chiave segreta
■
E’ la forma più tradizionale di crittografia, E’ la forma più tradizionale di crittografia, nella quale una sola chiave viene usata per nella quale una sola chiave viene usata per
cifrare e decifrare i messaggi.
cifrare e decifrare i messaggi.
■
Vantaggi Vantaggi : :
– E’ generalmente più veloce di un sistema a E’ generalmente più veloce di un sistema a chiave pubblica.
chiave pubblica.
Crittografia a chiave segreta Crittografia a chiave segreta
■
Svantaggi Svantaggi : :
– Problemi nel key management. Il mittente e Problemi nel key management. Il mittente e il ricevente devono trovare un mezzo sicuro il ricevente devono trovare un mezzo sicuro
per scambiarsi la chiave in modo che nessuno per scambiarsi la chiave in modo che nessuno
la scopra la scopra
– In un sistema a chiave segreta per ogni In un sistema a chiave segreta per ogni
Crittografia a chiave pubblica Crittografia a chiave pubblica
■
In questo sistema, ogni persona possiede In questo sistema, ogni persona possiede due chiavi, una pubblica e una privata.
due chiavi, una pubblica e una privata.
Tutti possono accedere alla prima mentre Tutti possono accedere alla prima mentre
la seconda deve rimanere segreta.
la seconda deve rimanere segreta.
La chiave pubblica viene usata per cifrare
La chiave pubblica viene usata per cifrare
Key Server Key Server Bob Bob
Jack Jack
Bob Bob
Jack Jack Key Server
Key Server
Bob Bob
Jack Jack Key Server
Key Server
Bob Bob
Jack Jack Key Server
Key Server
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Bob pub key Bob pub key Jack private key
Jack private key
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Bob pub key Bob pub key Jack private key
Jack private key
Key Server Key Server
Jack pub key Jack pub key
Bob Bob
Jack Jack
Jack private key
Jack private key Bob pub keyBob pub key
Jack pub key Jack pub key
Bob Bob
Jack Jack
Jack private key
Jack private key Bob pub keyBob pub key
Jack pub key Jack pub key
Cos’ è l’ RSA Cos’ è l’ RSA
■
L’ RSA è il crittosistema a chiave L’ RSA è il crittosistema a chiave pubblica che permette sia la cifratura pubblica che permette sia la cifratura
che la firma digitale (autenticazione).
che la firma digitale (autenticazione).
L’ RSA fu sviluppato nel 1977 da Ron L’ RSA fu sviluppato nel 1977 da Ron
Rivest, Adi Shamir e Leonard Rivest, Adi Shamir e Leonard
Adleman. La sigla RSA deriva dalle
Adleman. La sigla RSA deriva dalle
Come funziona l’ RSA ? Come funziona l’ RSA ?
■ Si prendono due numeri primi grandi,Si prendono due numeri primi grandi, pp e e qq..
■ Si calcola il prodotto Si calcola il prodotto n=pqn=pq detto detto modulomodulo..
■ Si sceglie un numero Si sceglie un numero ee minore di minore di nn e primo e primo rispetto a
rispetto a (p-1)(q-1)(p-1)(q-1) . .
■ Si sceglie un altro numero Si sceglie un altro numero d=[k(p-1)(q-1)+1]/ed=[k(p-1)(q-1)+1]/e con con kk tale per cui tale per cui dd sia un numero intero. sia un numero intero.
■ I valori I valori ee e e dd prendono il nome di esponente prendono il nome di esponente
Cifrare con RSA Cifrare con RSA
■
Supponiamo che Bob voglia mandare un mes- Supponiamo che Bob voglia mandare un mes- saggio
saggio m m a Jack. Egli crea un messaggio cifrato a Jack. Egli crea un messaggio cifrato c = m
c = m
eemod n mod n d d ove ove (n,e) (n,e) è la chiave pubblica di è la chiave pubblica di Jack.
Jack.
■
Jack per decifrare il messaggio si calcola Jack per decifrare il messaggio si calcola m = c
m = c
ddmod n mod n
■
La relazione tra La relazione tra e e e e d d assicura che Jack possa assicura che Jack possa
Esempio numerico Esempio numerico
■ Si prendono due numeri primi, Si prendono due numeri primi, 1111 e e 77..
■ Si calcola il prodotto Si calcola il prodotto n=(pxq)=77n=(pxq)=77 detto detto modulomodulo..
■ Si sceglie un numero Si sceglie un numero ee minore di minore di nn e primo rispetto a e primo rispetto a (p-1)(q-1)=60
(p-1)(q-1)=60, , prendiamoprendiamo ad esempioad esempio e=13e=13..
■ La coppia La coppia (n,e)(n,e) costituisce la costituisce la chiave pubblica, chiave pubblica, ovvero ovvero (77, 13)
(77, 13)..
■ Si sceglie un altro numero Si sceglie un altro numero d=[k(p-1)(q-1)+1]/ed=[k(p-1)(q-1)+1]/e con con kk tale per cui
tale per cui dd sia un numero intero, per sia un numero intero, per k=8k=8 abbiamo abbiamo
C C i i a a
Criptazione del messaggio Criptazione del messaggio
77 mod
67
1367 67
C C i i a a
Criptazione del messaggio Criptazione del messaggio
77 mod
105
1367
7
C C i i a a
Criptazione del messaggio Criptazione del messaggio
77 mod
97
1367
7
69
C C i i a a
67
7 69
Criptazione del messaggio
Criptazione del messaggio
Decriptazione del messaggio Decriptazione del messaggio
C C
77 mod
67
3767
7
69
Decriptazione del messaggio Decriptazione del messaggio
C C i i
77 mod
7
3767
7
69
Decriptazione del messaggio Decriptazione del messaggio
C C i i a a
77 mod
69
3767
7
69
Decriptazione del messaggio Decriptazione del messaggio
C C i i a a
67
7
69
Funzioni “One-Way”
Funzioni “One-Way”
■ La sicurezza dell’RSA si basa sul fatto che la La sicurezza dell’RSA si basa sul fatto che la funzione di cifratura
funzione di cifratura c = m c = m ee mod n mod n è un è un funzione “one-way” che è computazionalmente funzione “one-way” che è computazionalmente
difficile da invertire.
difficile da invertire.
■ Solo conoscendo la fattorizzazione di n è Solo conoscendo la fattorizzazione di n è possibile trovare il valore delle chiavi.
possibile trovare il valore delle chiavi.
Funzioni “One- Funzioni “One-
Way” Way”
■ Fattorizzare un numero di 664 bit richiede 10Fattorizzare un numero di 664 bit richiede 102323 passi usando gli algoritmi più efficienti; per cui passi usando gli algoritmi più efficienti; per cui disponendo di una rete costituita da un milione di disponendo di una rete costituita da un milione di computer, ciascuno di loro capace di eseguire un computer, ciascuno di loro capace di eseguire un milione di passi al secondo sarebbero necessari milione di passi al secondo sarebbero necessari 4000 anni. Se n fosse un numero a 1024 bit la 4000 anni. Se n fosse un numero a 1024 bit la
stessa rete impiegherebbe 10
stessa rete impiegherebbe 101010 anni. anni.
Non è impossibile decifrare un testo cifrato con
La firma digitale La firma digitale
■ La firmaLa firma digitale é un’ informazione che viene digitale é un’ informazione che viene aggiunta
aggiunta ad un documento informatico al fine di ad un documento informatico al fine di garantirne integrità e provenienza.
garantirne integrità e provenienza.
■ Il processo di firma digitale richiede che l'utente Il processo di firma digitale richiede che l'utente effettui una serie di azioni preliminari:
effettui una serie di azioni preliminari:
– La registrazione dell'utente presso un’Autorità La registrazione dell'utente presso un’Autorità di Certificazione (AC)
di Certificazione (AC)
Generazione della firma Generazione della firma
digitale digitale
Documento
Documento Funzione diFunzione di
HashHash ImprontaImpronta Documento
Documento Algoritmo di Algoritmo di codifica
codifica FirmaFirma Digitale Digitale
Chiave Chiave Privata Privata
La firma viene apposta, con il processo schematicamente mostrato La firma viene apposta, con il processo schematicamente mostrato in Figura , mediante una sequenza di tre operazioni:
in Figura , mediante una sequenza di tre operazioni:
Verifica della firma digitale Verifica della firma digitale
Documento
Documento Funzione diFunzione di
HashHash ImprontaImpronta Documento
Documento Algoritmo di Algoritmo di Decodifica
Decodifica FirmaFirma Digitale Digitale
Chiave Chiave Pubblica Pubblica
L'operazione di verifica della firma digitale viene effettuata L'operazione di verifica della firma digitale viene effettuata calcolando, con la medesima funzione di hash usata nella fase di calcolando, con la medesima funzione di hash usata nella fase di
V V antaggi dei sistemi a antaggi dei sistemi a chiave pubblica
chiave pubblica
■
Il principale vantaggio è l’incremento di Il principale vantaggio è l’incremento di sicurezza, infatti la chiave privata non deve sicurezza, infatti la chiave privata non deve
essere trasmessa o rivelata.
essere trasmessa o rivelata.
■
Un altro vantaggio è che la firma digitale non Un altro vantaggio è che la firma digitale non può essere ripudiata (
può essere ripudiata ( non - repudiation non - repudiation ). ).
Servono meno chiavi rispetto al sistema a
Servono meno chiavi rispetto al sistema a
Svantaggi dei sistemi a Svantaggi dei sistemi a
chiave pubblica chiave pubblica
■
Il principale svantaggio è la maggiore lentezza Il principale svantaggio è la maggiore lentezza di cifratura rispetto ai sistemi a chiave di cifratura rispetto ai sistemi a chiave
simmetrica.
simmetrica.
■
Gli algoritmi asimmetrici necessitano di chiavi Gli algoritmi asimmetrici necessitano di chiavi
più lunghe, rispetto a quelli simmetrici, per
più lunghe, rispetto a quelli simmetrici, per
raggiungere il medesimo grado di sicurezza
raggiungere il medesimo grado di sicurezza
Protocollo SSL Protocollo SSL
■
SSL sta per Secure Socket Layer SSL sta per Secure Socket Layer (Netscape)
(Netscape)
■
Un client invia una richiesta ed il server Un client invia una richiesta ed il server risponde con il proprio certificato e le sue risponde con il proprio certificato e le sue
preferenze riguardo i metodi di cifratura.
preferenze riguardo i metodi di cifratura.
Protocollo SSL Protocollo SSL
■
Il server recupera la chiave master ed Il server recupera la chiave master ed
autentica se stesso inviando un messaggio autentica se stesso inviando un messaggio
cifrato (usando la chiave master) al client.
cifrato (usando la chiave master) al client.
■