rsa e questioni relative rossella ascione. il crittosistema rsa introduzione al crittosistema rsa...

Download RSA e questioni relative Rossella Ascione. Il crittosistema RSA Introduzione al crittosistema RSA Firme digitali e RSA Attacchi a RSA

If you can't read please download the document

Post on 02-May-2015

218 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • RSA e questioni relative Rossella Ascione
  • Slide 2
  • Il crittosistema RSA Introduzione al crittosistema RSA Firme digitali e RSA Attacchi a RSA
  • Slide 3
  • Il crittosistema RSA 1978 :Ron R ivest, Adi S hamir Leonard A dleman realizza unintuizione rivoluzionaria di Diffie, Hellmann e Merkle che nel 1976 tentarono di inventare una tecnica di cifratura che non fosse a chiave simmetrica Crittosistema a Chiave Pubblica
  • Slide 4
  • crittosistema a chiave pubblica ciascun utente sceglie una funzione crittografica che dipende da alcuni parametri, ma rende noti solo quelli che permettono di codificare i messaggi a lui diretti, mantenendo segreti quelli necessari alla decodifica linversione della funzione di cifratura f k e computazionalmente difficile per tutti, mittente compreso, ma non per il destinatario che possiede linformazione necessaria (chiave di decifratura) per il calcolo efficiente di f k 1. Def: Una biezione f:A B viene detta funzione unidirezionale se il calcolo di aA realizzabile con una complessit polinomiale per tutti gli a A, mentre il calcolo di f -1 (b) non lo per quasi tutti i bB
  • Slide 5
  • analogia della scatola a due lucchetti Supponiamo che A desideri mandare un messaggio segreto a B. Allora: 1) A chiude il messaggio in una scatola con un lucchetto L A, di cui solo A ha la chiave, e invia la scatola a B. 2) Ricevuta la scatola, lutente B aggiunge un lucchetto L B, di cui il solo a possedere la chiave, e rinvia il tutto ad A. 3) Ricevuta la scatola chiusa con i due lucchetti L A e L B, lutente A libera la scatola dal proprio lucchetto L A e la rinvia a B. 4) Ricevuta la scatola, lutente B libera la scatola dal proprio lucchetto L B e legge il messaggio di A.
  • Slide 6
  • Dalla precedente analogia della scatola con lucchetti Diffie, Hellmann e Merkle osservarono semplicemente che un lucchetto si pu chiudere senza usare alcuna chiave(!): 1) lutente A progetta e costruisce un lucchetto e una chiave unica per aprirlo 2) A rende disponibili al pubblico copie del lucchetto, ma conserva la chiave; 3) un qualunque altro utente B che desidera potr procurarsi una copia di tale lucchetto in un punto di distribuzione; 4) se B desidera inviare un messaggio ad A, allora chiude tale messaggio in una scatola chiusa con il lucchetto di A e la spedisce ad A.
  • Slide 7
  • Idea base di RSA A sceglie due primi p, q distinti e sufficientemente grandi Calcola n= pq Calcola (n)=(p-1)(q-1)=n-p-q+1 Sceglie un numero casuale e di N coprimo con (n) Calcola d di Z* n linverso di e modulo (n) Rende nota la coppia (n, e) come sua chiave pubblica Tiene segreti la coppia ((n), d) come chiave privata
  • Slide 8
  • Se B volesse mandare un messaggio ad A Se un utente B desidera mandare un messaggio segreto ad A deve calcolare lequivalente numerico x di tale messaggio modulo n e utilizzare la funzione crittografica di A che pu esere calcolata da tutti gli utenti del sistema: Cio eleva x ad e modulo n e lo invia ad A Ricevuto il messaggio lutente A utilizza la funzione di decifratura solo a lui nota: Cio eleva il messaggio ricevuto a d modulo n.. Infatti poich Si ottiene La sicurezza del sistema dipende dalla difficolt di scomporre n nei suoi fattori primi
  • Slide 9
  • possibile svelare (n)? Prop: Sia n=pq con p e q primi. Allora 1.Noti p, q e n, il calcolo di (n) ha complessit computazonale O(logn) 2.Noti n e (n) il calcolo di p e q ha complessita computazionale O(log 3 n) Dim: Se n pari allora p=2 e q=n/2 e (n)=n/2-1 Se n dispari (n)=(p-1)(q-1)=n+1-(p+q) P+q=n+1-(n). Quindi di p e q conosciamo somma e prodotto quindi p e q sono soluzioni delleq:X 2 (p+q)x+n=0 Per ricavare p e q abbiamo quindi bisogno dellestrazione della radice quadrata intera che ha complessita computazionale pari a O(log 3 n) Per mantenere un corretto funzionamento del crittosistema, ogni utente deve tenere segreto, oltre ai parametri p, q e d che ha scelto, anche (n)
  • Slide 10
  • Se conosco n, e e d La conoscenza di n, e e d consente di fattorizzare comunque efficientemente n mediante un determinato algoritmo probabilistico che basato sulla scelta casuale di un a Si dimostra che iterando u volte la scelta casuale di a si ottiene un algoritmo di fattorizzazione che termina con successo con probabilit maggiore o uguale di e complessit computazionale Concludendo ogni utente deve Assolutamente tenere Segreto d
  • Slide 11
  • Estensione al caso (x,n)>1 Teorema: Sia nN prodotto di primi distinti. Se m1 mod(n) allora a m a mod n per ogni a Z Se (n, x)1 (n,x) potrebbe fornire un fattore non banale di n consentendo di violare completamente il crittosistema (n,x)=n In particolare si pu osservare che un utente B potrebbe determinare i fattori di n generando casualmente un numero sufficientemente grande di elementi x e verificando di volta in volta se (n, x) 1 Si dimostra per che la probabilit di trovare un tale x risulta molto bassa e che la complessit computazionale di tale attacco maggiore di quello degli algoritmi di fattorizzazione di n
  • Slide 12
  • Una versione leggermente diversa di RSA Funzione di Eulero Funzione di Carmichael A sceglie (se ci riesce) due primi p, q distinti e sufficientemente grandi) Calcola n= pq Calcola (n)=(p-1)(q-1)=n-p-q+1 Sceglie un numero casuale e di N coprimo con (n) Calcola d di Z*n linverso di e modulo (n) Rende nota la coppia (n, e) come sua chiave pubblica Tiene segreti p, q e d cio la coppia ((n), d) come chiave privata Calcola (n)=(n)/(p-1,q-1) Sceglie un numero casuale e di N coprimo con (n) Calcola d di Z*n linverso di e modulo (n) Vantaggio di tale metodo: Loperazione di decifratura risulta essere pi veloce che nel caso standard
  • Slide 13
  • Il sistema appena presentato si rivelato essere adatto a soddisfare tutti i requisiti minimi di base (riservatezza, integrit, autenticit, non-ripudiabilit) richiesti ad un buon sistema crittografico dal punto di vista pratico. Ci grazie alla disponibilit di algoritmi ragionevolmente efficienti, affidabili e rapidi per: generare le chiavi, private e non, degli utenti per testare i parametri soddisfacenti particolari propriet per calcolare i valori della funzione crittografica per testare il carattere unidirezionale della funzione crittografica
  • Slide 14
  • Firma digitale e RSA Problema di certificare la nostra identit con una firma digitale CRITTOGRAFIA A CHIAVE PUBBLICA
  • Slide 15
  • Schema generale di firma digitale A, B utenti di un sistema a chiave pubblica f A e f B funzioni di cifratura (pubbliche) f A -1 e f B -1 funzioni di decifratura (segrete) A desidera mandare un messaggio x a B A manda f B (x) Per certificare la propria identit invia la quantit f B (f A -1 (s A )) con f A -1 (s A ) firma digitale di A e s A un nome convenzionale di A in cui si include un numero progressivo, tempo in cui stato spedito il messaggio, numero IP della machina speditrice B decifra il messaggio x Utilizzando f B -1 e ottiene x Per controllare che il mittente sia A applica alla funzione f B (f A -1 (s A )) la funzione a lui nota f A f B -1 e ottiene s A Il sistema funziona bene poich solo A pu aver firmato il messaggio solo A conosce poich solo A conosce f A -1
  • Slide 16
  • Rischi di tale sistema 1.Potrebbe esistere un utente intruso C che renda pubblica una chiave attribuendola ad A, divenendo automaticamente capace di spacciarsi per A Introduzione di un ENTE CERTIFICATORE
  • Slide 17
  • Rischi di tale sistema 1.Potrebbe capitare che un intruso riesca ad identificare f A -1 (s A ) utilizzando un numero opportuno di messaggi intercettati Far dipendere la Firma digitale Dal messaggio stesso La firma digitale diviene f A -1 (h(M))
  • Slide 18
  • una sequenza di bit di lunghezza fissata detta IMPRONTA DI M che viene ottenuta da M mediante una opportuna funzione di hash h h(M) IMPRONTA DI M Sono funzioni che hanno la caratteristica di non consentire di risalire a M conoscendo solo h(M),e di avere una buona probabilit di non generare collisioni Tale funzione viene messa a disposizione degli utenti dallente certificatore, ne viene utilizzata una sola per tutti gli utenti del crittosistema
  • Slide 19
  • Come funziona Per accertarsi dellassenza di manomissioni B dovr Applicare a f A -1 (h(M)) la f A e otterr h(M) Ricalcolare limpronta di M h(M) per mezzo della funzione di hash
  • Slide 20
  • Firma digitale: certificazione dellidentit con RSA Problema: gli spazi dei messaggi cifrati sono a priori diversi poich A lavora su Z nA e B lavora su Z nB in generale diversi. A sceglie una firma digitale s A Z nA che rende pubblica Per convincere B della propria identit, in calce al proprio messaggio A invia una forma crittografica della firma, e precisamente m A =f B (f A -1 (s A )) se n A n B Per assicurarsi dellidentit di A, B calcola f A (f B -1 (m A )) se n A n B
  • Slide 21
  • Attacchi a RSA Chosen-ciphertext: Un intruso C vuole determinare il testo in chiaro M di una codifica C inviata ad A C Sceglie un intero casuale R e chiede ad A la decodifica del messaggio C 1 R eA C mod n A In questo modo C ottiene R eAdA C dA mod n A alla quale applicando R -1 si ottiene M mai applicare la propria funzione di decifratura o la propria firma digitale ad un documento casuale
  • Slide 22
  • Attacchi elementari: scelta dei possibili messaggi in chiaro troppo limitati Si provano a codificare tutti i messaggi in chiaro fino a che non viene determinato quello

Recommended

View more >