На главную

Шифрование и ключи

Обмен ключами ECDH

Алиса и Боб обмениваются открытыми ключами и получают один и тот же секрет, не передавая его. Можно подставить свои ключи.

TLS 1.3, WireGuard, Signal, SSH. Ключ — 32 байта.

Алиса

Ключи появятся через мгновение

Боб

Ключи появятся через мгновение

Со своими ключами

PKCS#8 PEM или JWK с полем d, на выбранной выше кривой

SPKI PEM, JWK или сырая точка в hex/base64

Как это работает

  • Каждый умножает точку-открытый ключ собеседника на свой закрытый скаляр — результат у обоих один и тот же.
  • Подслушавший видит только открытые ключи; вычислить из них секрет — задача дискретного логарифма.
  • Сырой секрет не используют как ключ шифрования: его пропускают через KDF (здесь HKDF-SHA256 с info «ecdh-demo aes-256-gcm»).
  • Сам по себе ECDH не защищает от подмены ключа посредником — открытые ключи нужно подписывать или сверять отпечатки.
  • Всё считается Web Crypto в вашем браузере; ключи никуда не отправляются.