A cura di Antonio Parziale
Pubblicato il 11/06/2005
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.