Protocollo di Diffie Hellman

Protocollo Diffie-Hellman

Nel protocollo di Diffie-Hellman due parti possono scambiare una chiave segreta attraverso un canale non sicuro senza che un attaccante possa recuperarla. Si basa sul Problema del Logaritmo Discreto.

Si considerano un primo p e un generatore $\alpha$ di Zp

  1. Alice sceglie un numero intero casuale $x \leq (p-2)$
  2. Alice calcola $K1 = \alpha^x mod\:p$ ed invia K1 a Bob
  3. Bob sceglie un numero intero casuale $y \leq (p-2)$
  4. Bob calcola $K2 = \alpha^y mod\:p$ ed invia K2 a Alice
  5. Bob riceve K1 da Alice e calcola $K1^y = (\alpha^x)^y mod\:p$
  6. Alice riceve K2 da Bob e calcola $K2^x = (\alpha^y)^x mod\:p$
  7. La chiave segreta condivisa è $\alpha^{xy} mod\:p$

Si osserva infatti che $K1^y = K2^x = \alpha^{xy} mod\:p$. Un attaccante intercetta $K1 = \alpha^x mod\:p$ e $K2 = \alpha^y mod\:p$ e da essi deve riuscire a calcolare $\alpha^{xy} mod\:p$.

Per riuscire ad ottenere il valore, l'attaccante deve risolvere anche in questo caso il problema di Diffie-Hellman. In altre parole deve calcolare il logaritmo discreto $log_{\alpha} \alpha^x = x$ ed utilizzare x per calcolare $K2^x$ (Oppure, analogamente, calcolare $log_{\alpha} \alpha^y = y$ ed utilizzare y per calcolare $K1^y$).

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License