Diffie-Hellman — протокол обмена ключами, позволяющий двум сторонам создать общий секрет через открытый канал. Обе стороны генерируют приватные числа, обмениваются публичными (g^a mod p и g^b mod p), и каждая вычисляет общий секрет (g^ab mod p). Подслушивающий видит публичные значения, но не может вычислить секрет (проблема дискретного логарифма). Используется в TLS для создания session key. ECDH — вариант на эллиптических кривых, быстрее и с меньшими ключами. В Go: crypto/ecdh.