Crittografia a chiave pubblica

Documenti analoghi
Crittografia a chiave pubblica

Crittografia a chiave pubblica

Cifratura. Decifratura. Cifratura. Decifratura. Crittografia a chiave pubblica ed a chiave privata. Corso di Sicurezza su Reti 1

Crittografia per la sicurezza dei dati

Crittografia a chiave pubblica

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno

crittografia a chiave pubblica

Sicurezza nelle applicazioni multimediali: lezione 4, crittografia asimmetrica. Crittografia asimmetrica (a chiave pubblica)

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Introduzione alla crittografia. Diffie-Hellman e RSA

Moltiplicazione mod n

Crittografia a chiave pubblica

Introduzione alla Crittografia

Crittografia a chiave pubblica. Cenni alla teoria dei numeri

Crittografia con Python

logaritmo discreto come funzione unidirezionale

la crittografia tratta delle "scritture nascoste", dei metodi per rendere un messaggio "offuscato"

Elementi di crittografia

idea della crittografia a chiave pubblica

Firme digitali. Firma Digitale. Firma Digitale. Elementi di Crittografia Equivalente alla firma convenzionale

Generatori di Z p. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi ?? K. Potenze in Z 19 26/05/2005. Vedremo due schemi: Esempio: * a

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici: Il cifrario Paillier

Crittografia da Whatsapp a Wikileakes, tra spie e segreti di stato

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

Aritmetica modulare, numeri primi e crittografia

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici (Terza Parte): RSA-OAEP e Cifrari basati sull identita

Crittografia: dagli antichi codici di Cesare ai protocolli avanzati

Introduzione. Crittografia: definizione, obiettivi, funzioni e strumenti. Crittografia e sicurezza, contesti applicativi

Domande di verifica su crittografia e Firma Digitale Esercitazione 15 Novembre per esame 2014 IC DAC 1 / 15

Crittografia a chiave pubblica - Un invito a RSA

Esercizi sull uso della crittologia a chiave asimmetrica o PKI (Public Key Infrastructured)

Un po di teoria dei numeri

I Cifrari Perfetti. Alessio Nunzi Fabiola Genevois Federico Russo

Scambio delle chiavi. mercoledì 7 dicembre 2011

Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Data Encryption Standard. Data Encryption Standard DES. Struttura del DES. Lunghezza della Chiave. Permutazione Iniziale IP

Seminario Sull Algoritmo R.S.A.

POLITECNICO DI BARI CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA

Sicurezza nelle reti: protezione della comunicazione

Altri cifrari a blocchi

Cifratura Asimmetrica

Introduzione alla Crittografia Moderna

Protocollo di Yao. Secure Two-Party Computation. Prof. Paolo D Arco. Università degli Studi di Salerno

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette

Altre alternative a RSA interessanti e praticabili

CRITTOGRAFIA: introduzione

Transcript:

Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Cifrari simmetrici canale insicuro 1 Problemi Come fanno e a condividere una chiave comune? Uso di un canale privato - un corriere fidato - un incontro faccia a faccia in un posto segreto Uso di una terza parte fidata... - che stabilisce la chiave di sessione e la invia ad entrambi in modo sicuro... 2 1

Gestione delle chiavi In una rete con n utenti ogni coppia di utenti deve condividere una chiave - Ogni utente deve memorizzare n-1 chiavi - Il numero totale delle chiavi segrete e dell ordine di n 2 /2 L aggiunta di un nuovo utente alla rete implica la distribuzione della chiave a tutti i precedenti utenti... Soluzione: cifrari asimmetrici 3 Cifrari asimmetrici Usano una cassaforte con due lucchetti Con una chiave (pubblica) chiudiamo la cassaforte Con l altra chiave (privata) apriamo la cassaforte Public key Private key 4 Cifrari asimmetrici chiave privata di m m canale insicuro chiave pubblica di 5 2

Cifrari asimmetrici 6 Cifratura canale insicuro 7 Cifratura canale insicuro 8 3

Decifratura 9 Decifratura 10 Cifrari asimmetrici Chiunque può cifrare un messaggio per Solo può decifrare un messaggio cifrato per lei Non ci sono chiavi condivise tra gli utenti Ogni utente genera da solo la propria coppia di chiavi (public key, private key) e rende pubblica la chiave pubblica Ogni utente memorizza una sola chiave (privata) 11 4

Cifrari simmetrici e asimmetrici Vantaggi della crittografia a chiave pubblica Chiavi private mai trasmesse Possibile la firma digitale Vantaggi della crittografia a chiave privata Molto più veloce (ad es., DES è 100 volte più veloce di RSA, in hardware tra 1.000 e 10.000 volte) Sufficiente in diverse situazioni (ad esempio, applicazioni per singolo utente) 12 Cifrari ibridi canale insicuro C 1 C 2 13 Cifrari ibridi 14 5

Cifrari asimmetrici Come realizzarli? 15 Funzioni one-way Facili da calcolare e difficili da invertire 16 Funzioni one-way trapdoor Facili da calcolare e difficili da invertire a meno che si conosca una trapdoor 17 6

RSA Proposto nel 1978 da Rivest Shamir Adleman 18 Chiavi RSA n = pq p,q primi gcd(e, (p-1)(q-1))=1 ed = 1 mod (p-1)(q-1) 19 Cifratura RSA canale insicuro 20 7

Cifratura RSA canale insicuro 21 Decifratura RSA 22 Decifratura RSA 23 8

Piccolo esempio: Chiavi RSA 3337 = 47 71 p = 47, q = 71 ed = 79 1019 = 1 mod 3220 (p-1)(q-1) = 46 70 = 3220 24 Piccolo esempio: Cifratura RSA 25 Piccolo esempio: Decifratura RSA Decifratura di C = 1570 688 1570 1019 mod 3337 26 9

Correttezza decifratura RSA C d mod n = (M e ) d mod n = M ed mod n = M 1+k(p-1)(q-1) mod n = M (M (p-1)(q-1) ) k = M mod n = M poichè 0 M<n ed = 1 mod (p-1)(q-1) Teorema di Eulero M Z n * M (p-1)(q-1) =1 mod n 27 Efficienza delle computazioni RSA utilizza le seguenti computazioni Generazione numeri primi p e q Generazione e,d generazione di e d e -1 mod (p-1)(q-1) Elevazione a potenza modulare Per cifratura e decifratura 28 Generazione chiavi 1. Input L (lunghezza modulo) 2. Genera 2 primi di lunghezza L/2 3. n p q 4. Scegli a caso e 5. If gcd ( e, (p-1)(q-1) ) = 1 then d e -1 mod (p-1)(q-1) else goto 4. 29 10

Scelta esponente pubblico Minimizzare operazioni per elevazione a potenza e 3 e 2 16 +1 decimale 65.537 binario 10000000000000001 30 Generazione chiavi (comunemente usata in pratica) 1. Input L (lunghezza modulo) 2. e 3 oppure e 2 16 +1 (= 65.537) 3. Genera 2 primi di lunghezza L/2 4. n p q 5. If gcd ( e, (p-1)(q-1) ) = 1 then d e -1 mod (p-1)(q-1) else goto 3. 31 RSA Performance Celeron 850MHz, Windows 2000, Crypto++, millisecondi/ operazione 512 bit cifratura 0,14 512 bit decifratura 1,93 1024 bit cifratura 0,32 1024 bit decifratura 10,23 2048 bit cifratura 0,89 2048 bit decifratura 64,13 32 11

Sicurezza di RSA Sicurezza della generazione delle chiavi Sicurezza della cifratura 33 Sicurezza generazione chiavi di RSA Conoscendo la chiave pubblica (n,e) vuole calcolare la chiave privata d=e -1 mod (p-1)(q-1) 34 Attacco 1: fattorizzare n 35 12

Attacco 2: computare ϕ(n) Se potesse computare ϕ(n)=(p-1)(q-1), saprebbe fattorizzare n n = pq ϕ(n) = (p-1)(q-1) sostituendo p = n/q p 2 - (n-ϕ(n)+1)p + n = 0 Due soluzioni: p,q 36 Attacco 2: computare ϕ(n) Se potesse computare ϕ(n) = (p-1)(q-1), Saprebbe fattorizzare n n = pq ϕ(n) = (p-1)(q-1) sostituendo p = n/q p 2 - (n-ϕ(n)+1)p + n = 0 84.773.093 = pq p 2-18.426 p + 84.773.093 = 0 84.754.668 = (p-1)(q-1) radici: 9539 e 8887 37 Attacco 3: computare d Se potesse computare d saprebbe fattorizzare n Un algoritmo che computa d (con input n,e) può essere usato come oracolo in un algoritmo Las Vegas che fattorizza n con probabilità 1/2 38 13

Algoritmo Las Vegas per fattorizzare (n,e) d (n,e) (p,q) nessuna risposta prob 1/2 prob 1/2 39 Sicurezza generazione chiavi di RSA Fattorizza n Computa d Computa d Fattorizza n Computare d è equivalente a fattorizzare n 40 Fattorizzazione Dato n, calcolare due primi p, q >1 tali che n=pq Per valori grandi di n è un problema ritenuto computazionalmente difficile Complessità di tempo sub-esponenziale in media Running time O(2 o(k) ), dove k è la taglia dell input f(n)=o(g(n)) se 41 14

Fattorizzazione: un semplice algoritmo Calcolo di un fattore primo di n: Complessità caso peggiore Θ( ) = Θ(2 1/2 log n ) (esponenziale nella lunghezza dell input) Se n ha 512 bit allora 42 Fattorizzazione: complessità algoritmi Complessità di tempo sub-esponenziale in media L q [a,c] = O(e (c+o(1))(ln q)a (lnln q) 1-a ) con c > 0 ed 0 < a < 1 Algoritmo basato su curve ellittiche: L n [ 1/2, 1] Quadratic sieve: L n [ 1/2, 1] General number field sieve: L n [ 1/3, 1.923] 43 Fattorizzazione: sfide Nel 1977 gli inventori di RSA Pubblicarono una sfida Rompere RSA con una chiave di 428 bit, premio 100 $ Stimarono il tempo richiesto: 40 quadrilioni di anni Nel 1994: task force di Internet ha reclamato il premio dopo 9 mesi di lavoro RSA Laboratories Altre sfide con chiavi di varia lunghezza Ultima sfida vinta (nel 2009): chiave con 768 bit 44 15

Fattorizzazione: progressi 45 Sfide RSA Proposte da RSA fino al 2007 Disponibili al link http://www.rsa.com/rsalabs/node.asp?id=2093 46 Che modulo scegliere? Ad oggi, i numeri più difficili da fattorizzare sono del tipo n = p q con p,q primi della stessa lunghezza e di almeno (per essere tranquilli!) 768 bit per uso personale 1024 bit per le aziende 2048 per chiavi importanti -ad esempio Autorità di Certificazione 47 16

Sicurezza cifratura RSA Conoscendo la chiave pubblica (n,e) e il messaggio cifrato C M e mod n vuole calcolare il messaggio M 48 Sicurezza cifratura RSA 49 Sicurezza cifratura RSA Se potesse computare M Importante problema aperto: non si sa se questo sia computazionalmente equivalente a fattorizzare! 50 17

Altri attacchi ad RSA Attacchi non basati sul problema della fattorizzazione Chosen ciphertext attack Common modulus attack Low exponent attack Attacchi ad implementazioni 51 Chosen ciphertext attack C 1 = M e 1 mod n C 2 = M e 2 mod n (M 1 M 2 ) e = M 1e M 2 e = C 1 C 2 mod n Proprietà di omomorfismo Obiettivo: decifrare C (= M e mod n) C' C x e mod n Scelgo x a caso M' (C') d mod n M' = (C') d =(C x e ) d = C d x mod n M M' x -1 mod n 52 Common Modulus Attack Stesso modulo n per diverse chiavi pubbliche Chiave : (n,e 1 ), chiave : (n,e 2 ) gcd(e 1,e 2 )=1 Stesso messaggio M inviato ai vari utenti Cifratura per : C 1 =M e1 mod n, Cifratura per : C 2 =M e2 mod n E semplice risalire ad M Usa Euclide esteso per calcolare x, y tali che 1=e 1 x+e 2 y C 1x C 2 y mod n = (M e1 ) x (M e2 ) y = M e1x+e2y = M 53 18

Low Exponent Attack Stesso e per diverse chiavi pubbliche Chiave : (n 1,3), chiave : (n 2,3), chiave Eva: (n 3,3) gcd(n i,n j )=1, i j Stesso messaggio M inviato ai vari utenti Cifratura per : C 1 =M 3 mod n 1 Cifratura per : C 2 =M 3 mod n 2 Cifratura per Eva: C 3 =M 3 mod n 3 E semplice risalire ad M Usa Teorema cinese del resto per calcolare la soluzione di x C 1 mod n 1 x=m 3 mod n 1 n 2 n 3 x C 2 mod n 2 x C poi calcola M=x 1/3 3 mod n 3 54 RSA: Attacchi ad implementazioni Timing Attack [Kocher, 97] Ricava i bit di d uno alla volta, analizzando il tempo richiesto per l esponenziazione modulare (decifratura) Power Attack [Kocher, 99] Ricava d analizzando la potenza consumata da una smartcard durante la decifratura Contromisure Ritardo costante (tutte le esponenziazioni richiedono lo stesso tempo) Ritardo casuale (introduce rumore per confondere l avversario) Blinding (moltiplica il cifrato per un numero casuale prima di decifrare) 55 Cryptography and Network Security by W. Stallings (2005) cap. 9 (Public-Key Cryptography and RSA) Cryptography: Theory and Practice (I ed.) by D.R. Stinson (1995) cap 5 (The RSA System and Factoring) 56 19