| 原理 | 共享点 = 私钥 × 对方公钥 |
|---|---|
| 变体 | 静态 ECDH(固定密钥)、临时 ECDHE |
| 输出 | 共享秘密(须经 KDF 派生密钥) |
| 常用曲线 | P-256、X25519、SM2 |
Python 示例(cryptography)
Python 示例(cryptography)
from cryptography.hazmat.primitives.asymmetric import ec
a = ec.generate_private_key(ec.SECP256R1())
b = ec.generate_private_key(ec.SECP256R1())
ss_a = a.exchange(ec.ECDH(), b.public_key())
ss_b = b.exchange(ec.ECDH(), a.public_key()) # ss_a == ss_b共享秘密是曲线上的点坐标,通常再经 HKDF 等 KDF 派生出多条用途分离的密钥。