RSA Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione...

Click here to load reader

  • date post

    01-May-2015
  • Category

    Documents

  • view

    221
  • download

    2

Embed Size (px)

Transcript of RSA Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione...

  • Slide 1
  • RSA Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Universit di Siena
  • Slide 2
  • Introduzione 1 Nella crittografia classica, Alice e Bob scelgono segretamente una chiave k, che viene utilizzata per costruire una funzione di codifica e k ed una funzione di decodifica d k (uguale a e k o direttamente derivabile da essa): crittosistemi di questo tipo sono detti a chiave privata, dato che la conoscenza di e k li rende vulnerabiliNella crittografia classica, Alice e Bob scelgono segretamente una chiave k, che viene utilizzata per costruire una funzione di codifica e k ed una funzione di decodifica d k (uguale a e k o direttamente derivabile da essa): crittosistemi di questo tipo sono detti a chiave privata, dato che la conoscenza di e k li rende vulnerabili Lo svantaggio principale dei metodi a chiave privata che richiedono la comunicazione della chiave fra Alice e Bob, su un canale sicuro, prima della trasmissione di qualsiasi messaggio cifrato potrebbe essere molto difficile da realizzare!Lo svantaggio principale dei metodi a chiave privata che richiedono la comunicazione della chiave fra Alice e Bob, su un canale sicuro, prima della trasmissione di qualsiasi messaggio cifrato potrebbe essere molto difficile da realizzare! Per esempio, se Alice e Bob vivono lontani e decidono di comunicare via e-mail, non avranno accesso a nessun canale ragionevolmente sicuro per lo scambio della chiavePer esempio, se Alice e Bob vivono lontani e decidono di comunicare via e-mail, non avranno accesso a nessun canale ragionevolmente sicuro per lo scambio della chiave
  • Slide 3
  • Introduzione 2 I crittosistemi a chiave pubblica rendono il calcolo di d k, a partire da e k, computazionalmente irrealizzabileI crittosistemi a chiave pubblica rendono il calcolo di d k, a partire da e k, computazionalmente irrealizzabile e k pu essere resa pubblica e k pu essere resa pubblica Alice potr inviare il messaggio cifrato a Bob utilizzando e k, ma solo Bob sar in grado di decifrarlo, poich sar lunico a conoscere d kAlice potr inviare il messaggio cifrato a Bob utilizzando e k, ma solo Bob sar in grado di decifrarlo, poich sar lunico a conoscere d k Lidea dei crittosistemi a chiave pubblica dovuta a Diffie e Hellman (1976), mentre la prima realizzazione pratica si ha lanno successivo, ad opera di Rivest, Shamir e Adleman, che formularono RSALidea dei crittosistemi a chiave pubblica dovuta a Diffie e Hellman (1976), mentre la prima realizzazione pratica si ha lanno successivo, ad opera di Rivest, Shamir e Adleman, che formularono RSA Da allora, sono stati formalizzati molti e diversi crittosistemi a chiave pubblica, la cui sicurezza affidata alla difficolt di risoluzione di problemi matematici distintiDa allora, sono stati formalizzati molti e diversi crittosistemi a chiave pubblica, la cui sicurezza affidata alla difficolt di risoluzione di problemi matematici distinti
  • Slide 4
  • Introduzione 3 RSA: la sicurezza basata sulla difficolt di fattorizzazione di interi grandi RSA: la sicurezza basata sulla difficolt di fattorizzazione di interi grandi Merkle-Hellman Knapsack: la sicurezza del sistema, e di altri correlati, basata sulla NP-completezza del problema della somma di sottoinsiemi; tutti i sistemi di questo tipo si sono, tuttavia, rivelati insicuri, tranne il crittosistema di Chor-Rivest Merkle-Hellman Knapsack: la sicurezza del sistema, e di altri correlati, basata sulla NP-completezza del problema della somma di sottoinsiemi; tutti i sistemi di questo tipo si sono, tuttavia, rivelati insicuri, tranne il crittosistema di Chor-Rivest McEliece: basato sulla teoria algebrica dei codici, ed a tuttoggi ritenuto sicuro; la sicurezza basata sulla difficolt del problema di decodificare un codice lineare (che NP completo) McEliece: basato sulla teoria algebrica dei codici, ed a tuttoggi ritenuto sicuro; la sicurezza basata sulla difficolt del problema di decodificare un codice lineare (che NP completo) ElGamal: la sicurezza basata sulla difficolt del calcolo del logaritmo discreto in campi finiti ElGamal: la sicurezza basata sulla difficolt del calcolo del logaritmo discreto in campi finiti Curve ellittiche: sono crittosistemi che traggono origine da sistemi tipo ElGamal, ma operano sulle curve ellittiche piuttosto che sui campi finiti. Sono i sistemi pi sicuri, anche per chiavi piccole Curve ellittiche: sono crittosistemi che traggono origine da sistemi tipo ElGamal, ma operano sulle curve ellittiche piuttosto che sui campi finiti. Sono i sistemi pi sicuri, anche per chiavi piccole
  • Slide 5
  • Una osservazione molto importante che i sistemi a chiave pubblica non possono garantire la sicurezza incondizionata, poich una spia, essendo venuta in possesso di un testo cifrato y, pu codificare ogni possibile testo in chiaro x, utilizzando e k che pubblica, fino a trovare lunico x tale che y=e k (x) Una osservazione molto importante che i sistemi a chiave pubblica non possono garantire la sicurezza incondizionata, poich una spia, essendo venuta in possesso di un testo cifrato y, pu codificare ogni possibile testo in chiaro x, utilizzando e k che pubblica, fino a trovare lunico x tale che y=e k (x) Per i sistemi a chiave pubblica, sensato studiare la sicurezza computazionale Per i sistemi a chiave pubblica, sensato studiare la sicurezza computazionale A questo scopo, pu essere concettualmente utile pensare ad un sistema a chiave pubblica, in termini astratti, come ad una funzione unidirezionale A questo scopo, pu essere concettualmente utile pensare ad un sistema a chiave pubblica, in termini astratti, come ad una funzione unidirezionale La funzione pubblica di codifica, e k, deve essere semplice da calcolare, ma difficile da invertire, per tutti tranne che per Bob: una funzione siffatta una funzione one-way (unidirezionale) La funzione pubblica di codifica, e k, deve essere semplice da calcolare, ma difficile da invertire, per tutti tranne che per Bob: una funzione siffatta una funzione one-way (unidirezionale) e k deve essere una funzione iniettiva one-way e k deve essere una funzione iniettiva one-way Introduzione 4
  • Slide 6
  • Introduzione 5 Le funzioni unidirezionali giocano un ruolo fondamentale nella crittografia, sia per la costruzione di crittosistemi a chiave pubblica, sia in altri contestiLe funzioni unidirezionali giocano un ruolo fondamentale nella crittografia, sia per la costruzione di crittosistemi a chiave pubblica, sia in altri contesti Sfortunatamente, anche se vi sono varie classi di funzioni che sono ritenute unidirezionali, non esiste per nessuna di esse una prova certaSfortunatamente, anche se vi sono varie classi di funzioni che sono ritenute unidirezionali, non esiste per nessuna di esse una prova certa Sia n il prodotto di due numeri primi grandi, p e q, e sia b un intero positivo. : Z n Z n definita daSia n il prodotto di due numeri primi grandi, p e q, e sia b un intero positivo. : Z n Z n definita da (x) = x b (mod n) (x) = x b (mod n) ritenuta essere una funzione unidirezionale (e, di fatto, la funzione di codifica in RSA) ritenuta essere una funzione unidirezionale (e, di fatto, la funzione di codifica in RSA) Tuttavia, lessere one-way non una propriet sufficiente per, poich Bob deve essere in grado di decifrare i messaggi in maniera efficienteTuttavia, lessere one-way non una propriet sufficiente per, poich Bob deve essere in grado di decifrare i messaggi in maniera efficiente Bob deve possedere una trapdoor una sorta di canale preferenziale che gli permetta di accedere rapidamente allinformazione codificata, cio Bob pu decifrare facilmente il testo codificato perch possiede informazione aggiuntiva su kBob deve possedere una trapdoor una sorta di canale preferenziale che gli permetta di accedere rapidamente allinformazione codificata, cio Bob pu decifrare facilmente il testo codificato perch possiede informazione aggiuntiva su k e k deve essere iniettiva, trapdoor, one-way e k deve essere iniettiva, trapdoor, one-way
  • Slide 7
  • Ricordiamo che Z n un anello, per ogni intero positivo n. Inoltre, ogni b Z n tale che MCD(b,n)=1 ammette un inverso in Z n, con (n) numero degli interi positivi minori di n e primi con nRicordiamo che Z n un anello, per ogni intero positivo n. Inoltre, ogni b Z n tale che MCD(b,n)=1 ammette un inverso in Z n, con (n) numero degli interi positivi minori di n e primi con n Sia Z n * linsieme dei residui modulo n che sono primi con n. Z n * un gruppo abeliano rispetto alla moltiplicazioneSia Z n * linsieme dei residui modulo n che sono primi con n. Z n * un gruppo abeliano rispetto alla moltiplicazione Loperazione di moltiplicazione modulo n associativa e commutativa, e 1 lelemento neutroLoperazione di moltiplicazione modulo n associativa e commutativa, e 1 lelemento neutro Ogni elemento in Z n * ammette inversoOgni elemento in Z n * ammette inverso Z n * chiuso rispetto alloperazione di moltiplicazione, poich se x e y sono primi con n, tale anche il loro prodotto xyZ n * chiuso rispetto alloperazione di moltiplicazione, poich se x e y sono primi con n, tale anche il loro prodotto xy Sappiamo che, b Z n * esiste b -1, ma non conosciamo un algoritmo efficiente per calcolarlo: tale algoritmo noto come algoritmo di Euclide esteso Sappiamo che, b Z n * esiste b -1, ma non conosciamo un algoritmo efficiente per calcolarlo: tale algoritmo noto come algoritmo di Euclide esteso Ancora sulla Teoria dei Numeri 1
  • Slide 8
  • Lalgoritmo di Euclide 1 Descriviamo lalgoritmo di Euclide, nella formulazione di base, utilizzata per calcolare il pi grande divisore comune di due interi positivi, r 0 e r 1, con r 0 > r 1Descriviamo lalgoritmo di Euclide, nella formulazione di base, uti