Crittografia a chiave asimmetrica

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Elementi di Crittografia MAC e FUNZIONI HASH
ERREsoft1 Basi matematiche del sistema RSA Pierluigi Ridolfi Università di Roma La Sapienza marzo 2000.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Ricorrenze Il metodo di sostituzione Il metodo iterativo
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
Mat_Insieme Lavoro di Gruppo Prodotti Notevoli
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Seminario per il corso di Sistemi Operativi mod
COORDINATE POLARI Sia P ha coordinate cartesiane
Frontespizio Economia Monetaria Anno Accademico
Introduzione alle curve ellittiche
Lez. 3 - Gli Indici di VARIABILITA’
esponente del radicando
I cifrari a chiave pubblica: Introduzione alle curve ellittiche
RSA Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Sistemi di elaborazione delle informazioni
CRITTOGRAFIA La crittografia, ovvero la scienza dei messaggi segreti sicuri, nasce come raccolta di tecniche e sistemi per nascondere messaggi tra regnanti,
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
EIE 0607 III / 1 A B P a = 30 P b = 35 t = 2, tc = 1 Questo può essere un equilibrio? No! Politiche di un paese importatore: una tariffa allimportazione.
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Programmazione 1 9CFU – TANTE ore
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico
Cos’è un problema?.
CORSO DI CRITTOGRAFIA Terzo incontro PROGETTO LAUREE SCIENTIFICHE
LA CRITTOGRAFIA QUANTISTICA
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Elementi di Informatica di base
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
Radix-Sort(A,d) // A[i] = cd...c2c1
Passo 3: calcolo del costo minimo
LE SAI LE TABELLINE? Mettiti alla prova!.
1 Questionario di soddisfazione del servizio scolastico Anno scolastico 2011/2012 Istogramma- risposte famiglie.
Un trucchetto di Moltiplicazione per il calcolo mentale
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
Esempi risolti mediante immagini (e con excel)
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Numeri Interi senza segno
Minimo comune multiplo
Massimo comun divisore
I chicchi di riso e la sfida al Bramino
Il numero più grande Accademia dei Lincei
TRASFORMATA DI FOURIER
RSA e questioni relative
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
I Numeri primi Eratostene e la crittografia.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Elgamal Corso di Sicurezza – A.A. 2006/07 Angeli Fabio29/05/2007.
Informatica Lezione 10 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Un sistema di sicurezza dei dati.  La crittografia, il cui termine indica "nascosto", è la branca della crittologia che tratta delle "scritture nascoste",
Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi CRITTOGRAFIA E CRITTOANALISI ATTACCHI AI SISTEMI DI.
Transcript della presentazione:

Crittografia a chiave asimmetrica o pubblica (PKC) Proposta pubblicamente nel 1976 da Diffie e Hellman ma nota alla NSA dalla metà degli anni 60, rappresenta l’avanzamento più significativo nella lunga storia della criptografia Usa due chiavi: pubblica e privata Sistema asimmetrico poichè le due estremità non si trovano nella stessa condizione Rappresenta un complemento e non una sostituzione della criptografia a chiave privata Fondata sull’applicazione di concetti inerenti la teoria dei numeri

Crittografia a chiave asimmetrica Perchè? Due importanti problemi da risolvere Distribuzione delle chiavi Come avere delle comunicazioni sicure senza dovere ottenere le chiavi da un KDC fiduciale Firma digitale Come verificare che un messaggio provenga effettivamente da chi se dichiara autore

Crittografia a chiave pubblica Anche se può assicurare la segretezza, la crittografia asimmetrica non viene utilizzata per questo scopo a causa dei lunghi tempi computazionali. Viene utilizzata in prevalenza per garantire autenticazione.

Crittografia a chiave asimmetrica Ciascun utente dispone di una coppia di chiavi (Kpu, Kpr), da lui stesso generate: Kpu viene resa pubblica in un elenco centrale, consultabile liberamente, mentre Kpr deve restare segreta (la conosce solo il proprietario), un msg cifrato con una chiave può essere decifrato solo con l’altra e viceversa, dalla conoscenza di Kpu non è possibile risalire a Kpr

Crittografia a chiave asimmetrica Testo in chiaro cifrato Kd Ki

Crittografia a chiave pubblica (msg privato e incertezza sull’identità del mittente  segretezza) A cifra un messaggio in chiaro X con la chiave KUb (pubblica) di B, genera il testo cifrato Y e lo recapita a destinazione. B utilizza la sua chiave KRb (privata e segreta) per decifrare Y e ottenere il messaggio X. Nessuno, eccetto B, può decifrare il messaggio X, neanche A che lo ha cifrato.

Crittografia a chiave pubblica Segretezza

Crittografia a chiave pubblica (msg pubblico e certezza identità mittente  autenticazione) A cifra un messaggio X con la propria chiave KRb(privata) e lo invia a n persone. Chiunque delle n persone decifra il testo cifrato Y con KUb (pubblica) di A ottenendo X e la certezza sull’identità del mittente perché solo A conosce la sua chiave segreta

Crittografia a chiave pubblica Autenticazione

Crittografia a chiave pubblica (msg privato e certezza identità mittente 25/03/2017  segretezza e autenticazione) A cifra un messaggio X con la propria chiave KRa (privata)Y (certezza su identità del mittente), poi cifra Y con KUb (pubblica) di B ( privatezza del msg) e lo recapita a destinazione  Z B decifra Z con la propria chiave KRb (privata)Y, (privatezza del msg) poi decifra Y con KUa (pubblica) di A (certezza identità di A) riottenendo X. Solo B può leggere il msg (privato) ed avere la certezza sull’identità del mittente.

Crittografia a chiave pubblica Segretezza eAutenticazione

Crittografia a chiave pubblica Vari sistemi applicabili per Encryption/decryption (segretezza) Firma digitale (autenticazione) Scambio delle chiavi (per le chiavi di sessione) Non tutti gli algoritmi adatti per tutti gli usi, alcuni sono specifici

Crittografia a chiave pubblica: considerazioni ◘Nello schema visto viene crittografato l’intero messaggio ◘ Richiede una grande area di memorizzazione poiché è necessario conservare copia del testo in chiaro ◘ Una copia di testo cifrato deve essere conservata per verificare l’origine e il contenuto in caso di disputa ◘ L’algoritmo di crittografia a chiave pubblica lento e complesso deve essere applicato 4 volte Soluzione Viene crittografato solo un piccolo blocco di bit che rappresenta una funzione del documento che funziona come blocco di autenticazione

Crittografia a chiave pubblica: sicurezza ◘Come negli schemi a chiave privata è sempre possibile in via teorica l’attacco con ricerca esaustiva a forza bruta ◘ Possibilità pratica di attacco dipende dalla lunghezza delle chiavi (tipicamente 512 - 1024 – 2048 bit) ◘ Sicurezza basata su differenza tra difficoltà di un pesante problema di criptanalisi e facilità di encrypt/decrypt ◘ Bisogno di usare numeri grandissimi ◘ Lentezza nei confronti degli schemi a chiave privata

Could One be Fundamentally Harder than the Other? Funzioni one-way Could One be Fundamentally Harder than the Other? ? Seating Tour

Funzioni one-way soluzione per ottenere una coppia di chiavi: funzioni one-way con trapdoor idea: una funzione f:    è one-way se: dato x, calcolare f(x) è facile dato y, calcolare x tale che f(x) = y è difficile la funzione one-way è con trapdoor se: dato y, calcolare x tale che f(x) = y è facile conoscendo un’informazione segreta k dato y, calcolare x tale che f(x) = y è difficile se non si conosce k

Funzioni one-way definizione formale: f:    è one-way se: f è calcolabile in tempo polinomiale da una MdT (Macchina di Touring) deterministica (cioè è facile da calcolare) esistono due polinomi p( ) e q( ) tali che: p(|x|)  |f(x)|  q(|x|) (cioè non deve produrre un output troppo corto) per ogni algoritmo A eseguibile su una MdT probabilistica, e per ogni polinomio p( ) esiste un numero naturale nA,p tale che:

Funzioni one-way osservazione: se P = NP, allora non esistono funzioni one-way ! contronominale: se esiste una funzione one-way, allora P  NP d’altra parte, potrebbe essere P  NP senza che esistano funzioni one-way (l’inversione di una funzione one-way deve essere “quasi sempre” difficile) in crittografia, spesso si lavora con permutazioni (su {0,1}n) one-way non sapendo se P = NP oppure P  NP, si suppone che esistano funzioni one-way

Funzioni one-way La classe dei problemi che hanno un algoritmo di soluzione che lavora in tempo polinomiale viene denotata P, La classe di complessità NP è l’insieme di tutti i problemi decisionali per cui la risposta SI può essere verificata in un tempo polinomiale avendo una informazione extra detta certificato (non è detto che però sia semplice ottenerlo). La classe di complessità co-NP è l’analogo del precedente, ma riguardante la risposta NO.

Esponenziazione modulare primo esempio di funzione che sembra essere one-way: l’esponenziazione modulare sia p un numero primo consideriamo il campo p, e in particolare il suo gruppo moltiplicativo p* = {1,2,…,p-1} si dimostra che p* è un gruppo ciclico   g  p* tale che p* = {g0, g1,…, gp-2} l’esponenziazione modulare è la funzione f :   p* definita come segue: f(z) = g z mod p

Esponenziazione modulare Esempio: 5* = {1,2,3,4} è il gruppo moltiplicativo contenuto nel campo 5 = {0,1,2,3,4} 2 è un generatore di 5*; infatti: 5* = {20,21,22,23} = {1,2,4,3} possiamo definire la seguente esponenziazione modulare: f(z) = 2 z mod 5 ogni esponenziazione modulare produce una permutazione (one-way) degli elementi di p*

Esponenziazione modulare dato x, possiamo calcolare g x mod p in tempo polinomiale possiamo supporre che 0  x  p-2 la dimensione dell’input è il numero di bit necessari per rappresentare gli elementi di p*, quindi n = log2 p vale: dove (xn-1,…,x1,x0 ) è la rappresentazione binaria di x

Esponenziazione modulare Approccio immediato per il calcolo di gx mod p: ModExp(p, g, x) risultato = 1 while x > 0 do risultato = risultato * g mod p x = x – 1 return risultato in pratica, nella variabile risultato si ottiene: g0, g1, g2, …, gx (sempre mod n) problema: il numero di iterazioni è elevato e pari a x  2n (esponenziale rispetto a n)

Esponenziazione modulare soluzione migliore: poiché vale: allora ci basta calcolare i valori g2 j, per j  {0,1,…,n-1}, e moltiplicare tra loro solo quelli per cui xj=1 il tutto può essere fatto in tempo polinomiale (rispetto a n) tramite il cosiddetto algoritmo “square-and-multiply”

Esponenziazione modulare algoritmo “square-and-multiply”: ModExp(p, g, x) ris = 1 for j = n-1 downto 0 do ris = (ris * ris) mod p if xj = 1 then ris = (ris * g) mod p return ris esempio: 87 mod 11  p = 11, g = 8, x = 7, n = 4 osservazione: 87 = 2097152

Esponenziazione modulare esecuzione dell’algoritmo: nella prima colonna, il valore di ris all’inizio della j-esima iterazione nelle ultime due colonne, non è stata fatta la riduzione modulo p ris j xj ris*ris ris*g 1 3 0111  2 8 9 6 64 512 262144 2097152

Logaritmi discreti l’operazione inversa si chiama logaritmo discreto definizione del problema: dati: p primo g generatore di p* y  p* calcolare x  {0,1,…,p-2} tale che gx  y mod p il calcolo dei logaritmi discreti sembra essere intrattabile: non si conoscono algoritmi che lo risolvono in tempo polinomiale (rispetto a n = log2 p) per tutte le istanze per farsi un’idea, provare a calcolare a mano i logaritmi in base 3 in 113*

Logaritmi discreti osservazioni: 113 è troppo piccolo per applicazioni crittografiche elencare gli elementi di p* richiede tempo O(p) = O(2n) quindi, l’esponenziazione modulare può essere usata per “nascondere” il valore di x  {0,1,2,…,p-2} in gx mod p è come chiudere x in una cassetta che non può più essere aperta abbiamo la funzione one-way, manca la trapdoor

Fattorizzazione altro esempio di funzione che sembra essere one-way: il prodotto tra numeri interi definizione molto semplice: dati due numeri primi p e q, calcolare n = p q il problema inverso è la fattorizzazione: dato un numero intero n, che si sa essere il prodotto di due numeri primi p e q, calcolare p (o q)

Fattorizzazione la dimensione dell’input è il numero di bit necessari per rappresentare gli elementi n, p e q; poniamo quindi m = log2 n algoritmo banale: si prova a dividere n per tutti gli interi compresi tra 2 e  questo algoritmo richiede però tempo che è esponenziale rispetto a m altri algoritmi, in generale possono richiedere un tempo esponenziale

Crittografia a chiave asimmetrica 25/03/2017 Caratteristiche Sicurezza dei msg da chiunque verso chiunque Il numero di chiavi è proporzionale al numero di utenti Il segreto risiede nella chiave Si possono distribuire le chiavi pubbliche come si vuole

Crittografia a chiave asimmetrica 25/03/2017 R.S.A. (Rivest-Shamir-Adleman Algorithm) D.S.A. (Digital Signature Algorithm) ALGORITMI CONSENTITI DALLA LEGGE PER IL CALCOLO DELLA FIRMA DIGITALE

Crittografia a chiave asimmetrica 25/03/2017 Problematiche Tempi di computazione lunghi (i numeri -testo e chiave- coinvolti nei calcoli sono estremamente grandi ) E’ necessario avere chiavi molto lunghe per ridurre al minimo la probabilità di forzature Inadatti per testi molto lunghi Resta problema certezza attributi associati alla chiave pubblica  certificati digitali firmati da C.A.

Rivest, Shamir, Adleman (RSA) Rivest, Shamir e Adleman del MIT nel 1977 Sistema a chiave pubblica più noto e usato Sicurezza dovuta alla difficoltà di fattorizzare grandi numeri Chiavi funzioni di una coppia di grandi numeri primi Cifrario a blocco Basato sulla esponenziazione modulo un primo, di numeri interi in un campo di Galois Utilizza grandi numeri interi (tipicamente > 512 bit) Brevetto scaduto nel 2000

Rivest, Shamir, Adleman (RSA) cenni preliminari Generazione delle chiavi Selezionare due numeri primi p, q Calcolare n = p · q Calcolare Ф(n) = (p – 1) · (q – 1) Scegliere e primo relativamente a Ф(n) Scegliere d tale che d · e modulo Ф(n) = 1 KPub = [e,n] Kpri = [d,n]

Rivest, Shamir, Adleman (RSA)

Rivest, Shamir, Adleman (RSA)

Rivest, Shamir, Adleman (RSA)

Rivest, Shamir, Adleman (RSA)

Rivest, Shamir, Adleman (RSA)

RSA … altro esempio

Rivest, Shamir, Adleman (RSA)

Rivest, Shamir, Adleman (RSA)

RSA

Uso di RSA

RSA

RSA + -------------------------------- + | From: Alice | | To: Bob | | Subject: TOP SECRET! | + -------------------------------- + | Parte 1: | | chiave di sessione C | | crittata con RSA | + -------------------------------- + | | | | | | | Parte 2: | | messaggio M | | crittato con DES | | | | | | | ------------------------------------------------------------ +

RSA

RSA

RSA: esempio supponiamo che Bob scelga p = 101 e q = 113, da cui nB = p q = 11413 e (nB) = (p-1)(q-1) = 11200 ora Bob deve scegliere dB, compreso tra 2 e (nB)-1 = 11199, tale che MCD(dB,(nB)) = MCD(dB, 11200) = 1. Supponiamo che scelga dB = 6597 usando l’algoritmo di Euclide esteso, Bob calcola eB  dB-1 mod (nB)  3533 mod 11200 la chiave pubblica di Bob è (nB, eB) = (11413, 3533), mentre la chiave privata è dB = 6597

RSA: esempio se Alice vuole inviare a Bob il messaggio m = 9726, calcola: c = 97263533 mod 11413 = 5761 e lo invia a Bob Bob recupera m calcolando: cdB = 57616597 mod 11413 = 9726

Alcuni attacchi a RSA ricordiamo che p, q e (n) devono rimanere segreti supponiamo che Eve conosca p e q calcola (n) = (p-1)(q-1) conosce e (fa parte della chiave pubblica) calcola d  e-1 mod (n) lo stesso accade se Eve conosce solo (n) quindi, se Eve sa fattorizzare n, rompe RSA non è detto che valga il viceversa, ma si congettura che sia vero  rompere RSA sarebbe equivalente a fattorizzare n

Alcuni attacchi a RSA se Eve conosce solo (n), non solo riesce a rompere RSA, ma riesce anche a fattorizzare n: sa che n = p q e (n) = (p-1)(q-1) = pq – (p+q) + 1 = n – (p+q) + 1 ricava p+q = n – (n) + 1 conoscendo somma e prodotto di p e q, li può ricavare risolvendo l’equazione di secondo grado: x2 – (p+q)x + pq = 0

Alcuni attacchi a RSA mostriamo ora alcuni accorgimenti da adottare nella scelta dei parametri p, q e (n) i valori di p e q non devono essere troppo vicini: supponiamo che sia p > q se p e q sono vicini, allora (p-q)/2 è piccolo, e (p+q)/2 è poco più grande di dall’uguaglianza (sempre valida) (p+q)2/4 – n = (p-q)2/4 si deduce che (p+q)2/4 – n è un quadrato perfetto cerchiamo allora gli interi x > per cui x2 - n è un quadrato perfetto, che chiamiamo y2

Alcuni attacchi a RSA da x2 – n = y2 ricaviamo: n = x2 – y2 = (x + y)(x - y) e quindi p = x + y e q = x – y bisogna fare attenzione anche al valore di (n): supponiamo che MCD(p-1, q-1) sia grande di conseguenza, sarà piccolo rispetto a (n)

Alcuni attacchi a RSA osservazione: se d’  e-1 mod u, si può usare d’ al posto di d per decifrare (questo fatto deriva dal teorema di Eulero) dato che u è relativamente piccolo, può essere cercato per tentativi  è meglio che p-1 e q-1 non abbiano fattori comuni grandi cattiva idea: usare lo stesso n per un gruppo di utenti (es: un ente o un’azienda) supponiamo che un utente debba mandare m a due (o più) utenti

Alcuni attacchi a RSA detti e1 ed e2 gli esponenti di cifratura, calcola: se MCD(e1, e2) = 1 allora Eve, usando l’algoritmo di Euclide esteso, calcola r, s tali che re1 + se2 = 1 calcolati r ed s, Eve può calcolare:

Alcuni attacchi a RSA altra cattiva idea: usare lo stesso valore (piccolo) di e (es: e = 3) e valori diversi per n supponiamo che un utente voglia spedire m a tre utenti A, B, C, che hanno moduli nA, nB e nC. Calcola: cA = m3 mod nA cB = m3 mod nB cC = m3 mod nC se nA, nB ed nC sono a due a due coprimi, Eve può usare il Teorema Cinese del Resto (CRT) e calcolare x tale che:

Alcuni attacchi a RSA x  cA mod nA x  cB mod nB x  cC mod nC Eve trova un’unica soluzione x* compresa tra 0 ed N-1, dove N = nAnBnC poiché m3 è minore di nA, di nB e di nC, allora m3 < N, ovvero x* = m3 Eve calcola la radice cubica intera di x* (Koblitz, capitolo 1) per calcolare m

Attacchi a RSA: conclusioni calcolare d sembra essere difficile teorema (Salomaa, pag. 143): un algoritmo per calcolare d può essere convertito in un algoritmo probabilistico per fattorizzare n quindi, rompere RSA sembrerebbe essere equivalente a fattorizzare n

Crittografia a chiave asimmetrica Problematiche Tempi di computazione lunghi (i numeri -testo e chiave- coinvolti nei calcoli sono estremamente grandi ) E’ necessario avere chiavi molto lunghe per ridurre al minimo la probabilità di forzature Inadatti per testi molto lunghi Resta problema certezza attributi associati alla chiave pubblica  certificati digitali firmati da C.A.

RSA

Quattro possibili tipi di attacco: Sicurezza di RSA Quattro possibili tipi di attacco: Forza bruta (praticamente impossibile) Attacco matematico (basato sulla difficoltà di calcolare (n) fattorizzando modulo n Timing attacks (basati sul tempo di decryption) Chosen ciphertext attacks (sfruttando proprietà dell’algoritmo)

Tre approcci possibili Attacco a RSA Tre approcci possibili Fattorizzare n = pq; questo permette di calcolare (n) e quindi d Determinare direttamente (n) e quindi trovare d Trovare d direttamente Sono ritenuti tutti e 3 equivalenti alla fattorizzazione Il problema è meno difficile di quello che sembra Vi sono stati miglioramenti nel tempo dovuti alla potenza dei computer e al miglioramento degli algoritmi usati

Grafico dei MIPS-anno necessari per la fattorizzazione

Timing Attacks Similare ad uno scassinatore che osserva quanto tempo si impiega per girare il quadrante di una cassaforte Applicabile pure ai sistemi criptografici Un criptanalista può calcolare una chiave privata notando il tempo necessario per decriptare i messaggi. L’esponente è calcolato bit per bit partendo dal LSB Il pericolo è eliminato facilmente introducendo un tempo un ritardo casuale.