Questo sito contribuisce alla audience di

L'algoritmo Diffie-Hellman

Diffie-Hellman è l’algoritmo per lo scambio pubblico di chiavi segrete, ecco come funziona! L'articolo è tratto dalla tesi di laurea in "Applicazione delle tecniche di crittografia nella trasmissione ed elaborazione dati" redatta dall'ingegnere Federico Gennari nell'anno accademico 2000/2001.

Diffie-Hellman
Vediamo come funziona l’algoritmo per lo scambio pubblico di chiavi segrete:

- I partecipanti allo scambio scelgono di comune accordo un grande numero primo o un polinomio p di circa 200 cifre.

- I partecipanti scelgono a una radice primitiva, mod p, detta anche generatore.

- Il primo utente sceglie la propria chiave segreta xA < p.

- Il secondo utente sceglie la propria chiave segreta xB < p.

- Le chiavi pubbliche sono :

yA = axA mod p

yB = axB mod p

- La chiave privata è:

KAB = axA.xB mod p

= yAxB mod p (che l’utente B può calcolarsi)

= yBxA mod p (che l’utente A può calcolarsi)

A questo punto la chiave KAB, nota agli utenti che se la sono calcolata in privato, può essere usata come chiave in una sessione del cifratore a chiave segreta: gli utenti hanno la stessa chiave senza averla trasmessa.

La sicurezza risiede nella difficoltà del calcolo della chiave KAB = axA.xB mod p dati i due valori pubblici ga mod p e gb mod p quando p è un numero primo sufficientemente largo.