Rsa e questioni relative
Download
1 / 26

RSA e questioni relative - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' RSA e questioni relative' - eudora


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Rsa e questioni relative

RSA e questioni relative

Rossella Ascione


Il crittosistema rsa
Il crittosistema RSA

  • Introduzione al crittosistema RSA

  • Firme digitali e RSA

  • Attacchi a RSA


Il crittosistema rsa1
Il crittosistema RSA

realizza un’intuizione rivoluzionaria di Diffie, Hellmann e Merkle che nel 1976 tentarono di inventare una tecnica di cifratura che non fosse a chiave simmetrica

1978 :Ron Rivest,

Adi Shamir

Leonard Adleman

Crittosistema

a

Chiave Pubblica


Crittosistema a chiave pubblica
crittosistema a chiave pubblica

Def: Una biezione f:AB viene detta

funzione unidirezionale se il calcolo di aєA

è realizzabile con una complessità polinomiale

per tutti gli a єA , mentre il calcolo di f-1(b) non

lo è per quasi tutti i bєB

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

l’inversione della funzione di cifratura fk e computazionalmente difficile per tutti, mittente compreso, ma non per il destinatario che possiede l’informazione necessaria (chiave di decifratura) per il calcolo efficiente di fk−1 .


Analogia della scatola a due lucchetti
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 LA, di cui solo A ha la chiave, e invia la scatola a B.

2) Ricevuta la scatola, l’utente B aggiunge un lucchetto LB, di cui è il solo a possedere la chiave, e rinvia il tutto ad A.

3) Ricevuta la scatola chiusa con i due lucchetti LA e LB, l’utente A libera la scatola dal proprio lucchetto LA e la rinvia a B.

4) Ricevuta la scatola, l’utente B libera la scatola dal proprio lucchetto LB e legge il messaggio di A.


Dalla precedente analogia della scatola con lucchetti
Dalla precedente analogia della ”scatola con lucchetti”…

Diffie, Hellmann e Merkle osservarono ”semplicemente” che un lucchetto si può chiudere senza usare alcuna chiave(!):

  • 1) l’utente 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.


Idea base di rsa
Idea base di RSA lucchetti”…

  • 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 l’inverso di e modulo φ(n)

  • Rende nota la coppia (n, e) come sua chiave pubblica

  • Tiene segreti la coppia (φ(n), d) come chiave privata


Se b volesse mandare un messaggio ad a
Se B volesse mandare un messaggio ad A… lucchetti”…

Se un utente B desidera mandare un messaggio segreto ad A deve calcolare l’equivalente numerico x di tale messaggio modulo n e utilizzare la funzione crittografica di A che può esere calcolata da tutti gli utenti del sistema:

Ricevuto il messaggio l’utente A utilizza la funzione di decifratura solo a lui nota:

La sicurezza del sistema

dipende

dalla difficoltà di scomporre n

nei suoi fattori primi

Cioè eleva il messaggio ricevuto a d modulo n.. Infatti poichè

Si ottiene

Cioè eleva x ad e modulo n e lo invia ad A


Possibile svelare n
È possibile svelare lucchetti”…φ(n)?

Prop:Sia n=pq con p e q primi. Allora

  • Noti p, q e n, il calcolo di φ(n) ha complessità computazonale O(logn)

  • Noti n e φ(n) il calcolo di p e q ha complessita computazionale O(log3n)

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)

Per mantenere un corretto funzionamento del crittosistema, ogni utente deve tenere segreto, oltre ai parametri p, q e d che ha scelto, anche φ(n)

P+q=n+1-φ(n) . Quindi di p e q conosciamo somma e prodotto quindi p e q sono soluzioni dell’eq:X2 –(p+q)x+n=0

Per ricavare p e q abbiamo quindi bisogno dell’estrazione della radice quadrata intera che ha complessita computazionale pari a O(log3n)


Se conosco n e e d
Se conosco lucchetti”…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

Concludendo ogni

utente deve

Assolutamente tenere

Segreto d

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 die complessità computazionale


Estensione al caso x n 1

(n,x) potrebbe fornire un fattore non banale di n consentendo di violare completamente il crittosistema

(n,x)=n

Estensione al caso (x,n)>1

Teorema:

Sia nєN prodotto di primi distinti. Se m≡1 modφ(n) allora am ≡a mod n per ogni a єZ

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

Se (n, x)≠1

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


Una versione leggermente diversa di rsa

Funzione di Eulero consentendo di violare completamente il crittosistema

Funzione di Carmichael

Una versione leggermente diversa di RSA…

  • 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 l’inverso 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

Vantaggio di tale metodo:

L’operazione di decifratura risulta

essere più veloce

che nel caso standard

  • Calcola λ(n)=φ(n)/(p-1,q-1)

  • Sceglie un numero casuale e di N coprimo con λ(n)

  • Calcola d di Z*n l’inverso di e modulo λ(n)


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


Firma digitale e rsa
Firma digitale e RSA soddisfare tutti i requisiti minimi di base (

Problema di certificare la nostra identità con una firma digitale

CRITTOGRAFIAA CHIAVE PUBBLICA


Schema generale di firma digitale
Schema generale di firma digitale soddisfare tutti i requisiti minimi di base (

  • A, B utenti di un sistema a chiave pubblica

  • fAefB funzioni di cifratura (pubbliche)

  • fA-1 efB-1 funzioni di decifratura (segrete)

  • A desidera mandare un messaggio x a B

  • A manda fB(x)

  • Per certificare la propria identità invia la quantità fB(fA-1(sA)) con

  • fA-1(sA) firma digitale di A e sA 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 fB-1 e ottiene x

  • Per controllare che il mittente sia A applica alla funzione fB(fA-1(sA)) la funzione a lui nota fAfB-1 e ottiene sA

Il sistema funziona bene

poiché solo A può aver

firmato il messaggio

poiché solo A conosce

fA-1


Rischi di tale sistema

Introduzione di un soddisfare tutti i requisiti minimi di base (

ENTE CERTIFICATORE

Rischi di tale sistema

  • Potrebbe esistere un utente intruso C che renda pubblica una chiave attribuendola ad A, divenendo automaticamente capace di spacciarsi per A


Rischi di tale sistema1

Far dipendere la soddisfare tutti i requisiti minimi di base (

Firma digitale

Dal messaggio stesso

Rischi di tale sistema

  • Potrebbe capitare che un intruso riesca ad identificare fA-1(sA) utilizzando un numero opportuno di messaggi intercettati

La firma digitale diviene fA-1(h(M))


h(M) IMPRONTA DI M soddisfare tutti i requisiti minimi di base (

è una sequenza di bit di lunghezza fissata detta IMPRONTA DI M che viene ottenuta da M mediante una opportuna funzione di hash h

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 dall’ente certificatore, ne viene utilizzata una sola per tutti gli utenti del crittosistema


Come funziona
Come funziona… soddisfare tutti i requisiti minimi di base (

Per accertarsi dell’assenza di manomissioni B dovrà

  • Applicare a fA-1(h(M)) la fA e otterrà h(M)

  • Ricalcolare l’impronta di M h(M) per mezzo della funzione di hash


Firma digitale certificazione dell identit con rsa
Firma digitale: certificazione dell’identità con RSA soddisfare tutti i requisiti minimi di base (

Problema: gli spazi dei messaggi cifrati sono a priori diversi poiché A lavora su ZnA e B lavora su ZnB in generale diversi.

  • A sceglie una firma digitale sAє ZnA che rende pubblica

  • Per convincere B della propria identità , in calce al proprio messaggio A invia una forma crittografica della firma, e precisamente

    mA=fB(fA-1(sA)) se nA<nB; mA=fA-1(fB(sA)) se nA>nB

  • Per assicurarsi dell’identità di A, B calcola

    fA(fB-1(mA)) se nA<nB; fB-1 (fA(mA)) se nA>nB


Attacchi a rsa
Attacchi a RSA soddisfare tutti i requisiti minimi di base (

  • 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 C1≡ReAC mod nA

    In questo modo C ottiene ReAdACdA mod nA alla quale applicando R-1 si ottiene M

mai applicare la propria funzione di decifratura o la propria firma digitale ad un documento casuale


2. Un intruso può ricavare da due codifiche C1 e C2 ricavate mediante due chiavi pubbliche (n, e1) e (n, e2) con (e1,e2)=1, il messaggio M stesso

  • Si provano a codificare tutti i messaggi in chiaro fino a che non viene determinato quello la cui codifica è uguale al messaggio intercettato

Attacchi elementari:

  • scelta dei possibili messaggi in chiaro troppo limitati

Poiché (e1, e2)=1 con l’algoritmo di euclide si calcola r,sєZ tali che re1+se2=1 e poi calcolare

Cr1 Cs2≡Mre1+se2=M mod n

  • Scelta del modulo di n fissata per tutti gli utenti

ogni n non deve essere utilizzata da piu’ di un utente


Messaggio cifrato soddisfare tutti i requisiti minimi di base (

=

Messaggio in chiaro

Punti fissi:I messaggi da trasmettere non devono essere dei punti fissi della funzione di cifratura, cioè non deve accadere f(M)≡M mod n

Per non avere molti punti fissi si dimostra che e deve essere scelto in modo tale che (e-1, p-1, q-1) sia piccolo


Il più piccolo k tale che: soddisfare tutti i requisiti minimi di base (

Cycling attack:

Funzione di cifratura con periodo troppo corto

Sia “piccolo”

Teorema: Sia (n,e) una chiave pubblica RSA e MєZ*n. Sia r il più grande divisore primo di p-1 e l sia il più grande divisore primo di r-1. Allora

P(k≥l) ≥(1-l/r)(1-1/l)

Per diminuire la possibilità di cycling attack bisogna scegliere p e q in modo tale che sia r che l siano grandi


Teorema(Wiener) soddisfare tutti i requisiti minimi di base (: Sia p<q<2p, n=pq, . Dati n ed e tali che ed≡1modφ(n),esiste un algoritmo deterministico polinomiale in logn che consente di determinare d

Attacco causato da una chiave privata troppo piccola:

Due metodi per non intercorrere in questo tipo di attacco

2. Usare il teorema cinese del resto per ottenere una decifratura “veloce” senza dover scegliere d piccolo

  • Scegliere e>n3/2 con un conseguente aumento del tempo di cifratura


Teorema (Boneh, Durfee e Frankel) soddisfare tutti i requisiti minimi di base (:

Sia n≡3mod4, n1/2/2<q<p<2n1/2 e sia d una chiave privata di RSA. Siano note le [log2n]/4 cifre meno significative di d. Sia inoltre e<2[log2n]/4-3. Allora esiste un algoritmo che determina completamente d con complessita polinomiale in logn

Attacco a partire da una conoscenza parziale della chiave privata(e “piccolo”)

I seguenti risultati affermano che è possibile ricostruire completamente d nel caso in cui e sia piccolo, a partire da una conoscenza di una frazione dei bit costituenti l’espansione binaria di d.


ad