CyberGlossary

Криптография

Обмен ключами Диффи–Хеллмана

Также известно как: DH, DHKE

Определение

Протокол с открытым ключом, позволяющий двум сторонам вырабатывать общий секрет по небезопасному каналу без его передачи; опирается на трудность задачи дискретного логарифма.

Опубликованный Уитфилдом Диффи и Мартином Хеллманом в 1976 году протокол обмена ключами DH позволяет двум сторонам согласовать общий секрет в недоверенной сети. Каждая сторона выбирает секретный показатель, вычисляет g^x mod p с открытыми параметрами (генератор g и большое простое p), отправляет результат и затем возводит полученное от партнёра значение в свой показатель; обе получают одно и то же g^xy. Безопасность опирается на вычислительное предположение Диффи–Хеллмана, связанное с дискретным логарифмом. Чистый DH не обеспечивает аутентификацию и уязвим для атак «человек посередине», поэтому в TLS, IPsec и SSH обмен подтверждают подписями или сертификатами и предпочитают эфемерные варианты (DHE, ECDHE) ради совершенной прямой секретности. Современные внедрения используют эллиптические кривые (X25519, X448) ради скорости и компактных сообщений.

Примеры

  • TLS 1.3 обязательно использует (EC)DHE в каждом рукопожатии ради PFS.
  • Протокол Signal применяет X3DH — тройной обмен Диффи–Хеллмана.

Связанные термины