L’algoritmo di Diffie-Hellman

Nel 1976 Diffie e Hellman hanno proposto un metodo particolare per generare e trasmettere su un canale insicuro una chiave segreta, da utilizzare successivamente per un algoritmo di cifratura simmetrico.

[adsense:block:adcontenuto]

Poiché le caratteristiche dell’algoritmo sono state più tardi utilizzate come base per lo sviluppo degli algoritmi a chiavi asimmetriche, l’interesse per questo metodo va oltre il suo principale obiettivo appena ricordato..
Detti X e Y i due interlocutori, il procedimento si divide nei seguenti passi:

  • 1. X e Y scelgono pubblicamente un valore naturale N (grande) e un altro valore s appartenente all’intervallo di valori G=[0,N-1].
  • 2. X sceglie in modo casuale e privato un valore a nell’intervallo G; calcola poi il valore x = sa mod N, e invia x a Y.
  • 3. Analogamente Y sceglie in modo casuale e privato un valore b nell’intervallo G; calcola poi il valore y = sb mod N, e invia y a X.
  • 4. A questo punto entrambi gli interlocutori possono calcolare la stessa chiave privatamente, X nella forma Kx=ya mod N, Y nella forma Ky=xb mod N.

[adsense:block:adcontenuto]

Che la chiave calcolata separatamente sia la stessa si verifica facilmente poiché risulta:

  • Kx = ya mod N = (sb mod N)a mod N = (sb)a mod N
  • Ky = xb mod N = (sa mod N)b mod N = (sa)b mod N = (sb)a mod N = Kx

Attraverso il canale insicuro sono transitati N, s, x e y ma non a e b, necessari per il calcolo della chiave: la sicurezza è basata sulla elevata difficoltà computazionale di ricavare l’esponente a della formula x = sa mod N (logaritmo intero) noti N, s e x, e analogamente per b e y.

[adsense:block:adcontenuto]

Esempio:
N=1000 s= 9 X sceglie a=4 e calcola x= 94 mod 1000 = 6561 mod 1000 = 561
Y sceglie b = 6 e calcola y= 96 mod 1000 = 531441 = 441
Kx = 4414 mod 1000 = 37822859361 mod 1000 = 361
Ky = 5616 mod 1000 = 31172897213027361 mod 1000 = 361

Risorse per sviluppo: 

Ti potrebbero anche interessare:

PGP (Pretty Good Privacy)

 

Questa applicazione, pensata all’inizio degli anni ’90 da Philip Zimmermann e freeware, include sostanzialmente tutte le funzionalità descritte sopra e agevola la gestione delle chiavi. È disponibile per molte piattaforme (Windows, OS/2, Mac, Amiga, Unix/Linux, Vms, ecc.) e per Unix anche in formato sorgente modificabile. Esiste come plug-in di alcuni diffusi client di posta elettronica.
Risorse per sviluppo: 

Sezione Hosting per Drupal!

E' attualmente in sviluppo una sezione del sito interamente dedicata agli hosting per drupal, quindi hosting linux configurati e pensati appositamente per sfruttare al massimo delle risorse il nostro caro cms. La sezione sarà arricchita da classifiche, comparazioni e caratteristiche vincenti e non di ogni singolo provider e relativa offerta.
Blog: