tags | aliases | sources | |||
---|---|---|---|---|---|
|
|
Anonymous [[key establishment|key exchange]] scheme
Based on the following property of EC points:
$$ (a * G) * b = (b * G) * a $$ Where
a, b
- secretsG
- ECC elliptic curve with generator point
The ECDH algorithm (Elliptic Curve Diffie–Hellman Key Exchange) is trivial:
- Alice generates a random ECC key pair: {
alicePrivKey
,alicePubKey
=alicePrivKey
*G
} - Bob generates a random ECC key pair: {
bobPrivKey
,bobPubKey
=bobPrivKey
*G
} - Alice and Bob exchange their public keys through the insecure channel
- Alice calculates
sharedKey
=bobPubKey
*alicePrivKey
- Bob calculates
sharedKey
=alicePubKey
*bobPrivKey
- Now both Alice and Bob have the same
sharedKey
==bobPubKey
*alicePrivKey
==alicePubKey
*bobPrivKey