Timing Attack ad RSA

RSA
Home Successiva

 

Home
RSA
Timing Attack
Dettagli dell'attacco
RSAREF 2.0
Analisi
Contromisure
Conclusioni
Riferimenti
Appendice A
Appendice B
Appendice C

    RSA è un algoritmo crittografico a chiave pubblica, oggi ampliamente usato, per trasferire informazioni elettroniche in modo sicuro. L’algoritmo RSA è stato inventato dal team di Rivest, Shamir e Adleman nel 1978.

    RSA è un cifrario a chiave pubblica che permette di cifrare un messaggio attraverso un procedimento che sfrutta le proprietà dei numeri primi. RSA usa un esponente pubblico e per cifrare ed un esponente privato d per decifrare. Esso usa un modulo N che è il prodotto di due grandi numeri primi p e q , ovvero N = p * q . Gli esponenti e  d  devono essere scelti in modo da soddisfare la condizione:

ed =1 mod (p-1)(q-1)

Allora, la coppia di chiavi RSA ha come chiave pubblica la coppia (N,e) e come chiave privata la coppia (N,d). Ad esempio, se selezioniamo due numeri primi p=11  e q=3 , allora N=11*3=33. Ora calcoliamo (p-1)*(q-1)=10*2=20 e scegliamo un valore e primo su 20, diciamo 3. Poi d  è scelto in modo che ed=1 mod 20. Allora il valore di d è 7, poiché 3*7=21=1 mod 20.  (Teorema di Eulero).

    Così prendiamo la chiave pubblica (N=33,e=3) e la corrispondente chiave privata d=7. Scartiamo il fattore originale p,q. Per cifrare il messaggio M, calcoliamo C=Me mod N, dove C sarà il messaggio cifrato. Per decifrare il testo cifrato C, usiamo la formula M=Cd mod N, che conterrà il messaggio originale M .

Continuando con il nostro esempio, supponiamo di voler spedire un messaggio M=19. La codifica genera un messaggio codificato C=Me mod N=193 mod 33 = 28. Il mittente spedirà il messaggio cifrato C=28. Per decifrare il messaggio C, il destinatario usa la chiave privata d e calcola M=Cd mod N=287 mod 33 = 19, che corrisponde al messaggio originale.

    Un altro uso dell’algoritmo RSA è la generazione di una firma digitale il cui scopo è quello di verificare la sorgente del messaggio. Durante la firma si usa la chiave privata d e si esegue l’operazione matematica F=Md mod N per creare la firma. Il mittente invia al destinatario messaggio e firma, così il ricevente, per verificare la firma, ovvero che quel messaggio è stato spedito effettivamente dal mittente, usa la chiave pubblica e del mittente ed esegue l’operazione Me mod N, la cui firma va confrontata con quella ricevuta per verificare la validità del messaggio.

 

Home Successiva