I sistemi RSA e Diffie Hellman

Lo scambio di chiavi Diffie-Hellman è un protocollo crittografico che consente a due entità di stabilire una chiave condivisa e segreta utilizzando un canale di comunicazione insicuro (pubblico) senza la necessità che le due parti si siano scambiate informazioni o si siano incontrate in precedenza.

La chiave ottenuta mediante questo protocollo può essere successivamente impiegata per cifrare le comunicazioni successive tramite uno schema di crittografia simmetrica.

I due algoritmi presentano la stessa difficoltà che un estraneo incontra nel calcolare la chiave privata di un computer data la conoscenza del numero pubblico. La formula di Diffie Hellman è l’equazione di base su cui si basano le tecniche di crittografia moderna. Nel caso dell’algoritmo Diffie Hellman, la forza del sistema di crittografia dipende dalla difficoltà di calcolare logaritmi discreti in un campo finito generato da un numero primo molto grosso. Mentre per quanto riguarda l’RSA invece la sua forza si basa sulla difficoltà di trovare fattori primi di un grosso intero. Gli algoritmi fondamentali su cui si basano entrambi i sistemi di decrittografia sono problemi matematici molto complessi.

Esempi

L’aritmetica che serve per implementare l’algoritmo RSA è quella della struttura algebrica Zn: l’insieme delle classi di resto modulo n, cioè l’insieme {0, 1, …, n−1} in cui sono definite la somma e il prodotto nel seguente

modo:    a+b = mod(a+b, n)       a*b = mod(a*b, n)

dove mod(x,y) è la funzione (implementata in qualsiasi sistema di calcolo) che restituisce il resto del quoziente tra numeri interi x/y.

Una trattazione di questo tipo è già molto complessa e richiama i Teoremi di Fermat ed Eulero.

Così come l’agoritmo di Diffie Hellman richiama al problema dei gruppi e del logaritmo discreto.

Matematici e crittografi concordano nel dire che il problema di trovare un logaritmo discreto sia più difficile da risolvere rispetto al problema del fattore primo, ma in termini pratici queste differenze sono trascurabili. Col crescere della velocità computazionale le differenze non sono particolarmente significative. Se si fa crescere la dimensione della chiave l’algoritmo Diffie Hellman sembra avere prestazioni superiori rispetto all’RSA. Anche se gli algoritmi sono differenti poiché i principi matematici sono differenti dal punto di vista pratico e hanno differente implementazione, entrambi hanno quasi la stessa forza e resistenza al calcolo. Il brevetto del Diffie Hellman è scaduto nel 1997 e Diffie ed Hellman hanno deciso di lasciare l’algoritmo al pubblico dominio.