Il crittosistema D-H permette a due persone di generare insieme una chiave segreta attraverso un canale di comunicazione non sicuro (come internet), senza che nessuno che stia ascoltando possa capire quale sia quella chiave. Alice e Bob concordano pubblicamente su due numeri:

  1. Un numero primo molto grande, .
  2. Un generatore sul gruppo moltiplicativo .
  3. Alice sceglie una chiave privata e invia la chiave pubblica a Bob.
  4. Bob sceglie una chiave privata e invia la chiave pubblica a Alice.
  5. Bob può computare e Alice può fare lo stesso .
  6. Entrambi ottengono la stessa chiave .

Perché è sicuro il crittosistema D-H

La sicurezza di D-H risiede nella difficoltà computazionale del Problema del Logaritmo Discreto (DLP). Dato un elemento è computazionalmente impossibile per grandi trovare tale che

D-H con Curve Ellittiche

ECDH (Elliptic Curve Diffie–Hellman) è il protocollo che permette a due parti di stabilire una chiave segreta condivisa su un canale insicuro usando le curve ellittiche.

È l’equivalente di Diffie–Hellman classico, ma:

  • più sicuro
  • con chiavi più piccole
  • più efficiente

La sicurezza si basa sul problema del logaritmo discreto su curve ellittiche (ECDLP).

Tutti conoscono:

  • una curva ellittica su
  • un punto generatore di grande ordine

L’utente A ha come chiave privata e chiave pubblica L’utente B ha come chiave privata e chiave pubblica

L’utente A computa e l’utente B fa lo stesso con . Alla fine della computazione, entrambi gli utenti hanno la stessa chiave: