Protokół Diffiego-Hellmana

Z Wikipedii

Skocz do: nawigacji, szukaj

Protokół uzgadniania kluczy Diffiego-Hellmana to protokół kryptograficzny, w którym dwie strony mogą wylosować pewną liczbę, taką że obie strony po wykonaniu protokołu będą ją znały, za to nie będzie jej znał nikt z podsłuchujących wymianę wiadomości. Liczba ta może być potem używana jako klucz do szyfrowania komunikacji.

Protokół nie zabezpiecza przed ingerencjami w komunikację (atak "man in the middle"), jedynie przed pasywnym podsłuchem. Dlatego należy go uzupełnić o zabezpieczenia przed atakiem aktywnym.

Nazwa protokołu pochodzi od nazwisk jego twórców, którymi są Whitfield Diffie i Martin Hellman.

[edytuj] Protokół

Diffie-Hellman
Diffie-Hellman
  • Alicja i Bob w dowolny sposób wybierają dwie liczby względnie pierwsze: dużą liczbę p oraz liczbę g, będącą generatorem grupy multiplikatywnej Zp*. Liczby te mogą być opublikowane wcześniej lub uzgodnione on-line. Ich tajność nie jest istotna dla bezpieczeństwa procedury.
  • Alicja losuje liczbę a; Bob losuje liczbę b
  • Alicja wysyła Bobowi g^a \mod p; Bob wysyła Alicji g^b \mod p
  • Alicja oblicza k=\left(g^b\right)^a \mod p = g^{ab} \mod p; Bob oblicza k = \left(g^a\right)^b \mod p = g^{ab} \mod p
  • Podsłuchujący zna g, g^a \mod p i g^b \mod p. Jeśli nie potrafi obliczać logarytmu dyskretnego (a dla odpowiedniego p nie jest znany żaden algorytm o wielomianowej złożoności, który by potrafił), nie potrafi obliczyć g^{ab} \mod p.
  • Alicja nie zna liczby wylosowanej przez Boba, a Bob liczby wylosowanej przez Alicję