3 ms·
I don't think you understand Diffie-Hellman, or how forward secrecy applies to it, so let me take you through it. Alice and Bob want to compute a shared secret
by bascule 13y ago
I don't think you understand Diffie-Hellman, or how forward secrecy applies to it, so let me take you through it.
Alice and Bob want to compute a shared secret with ECDHE. I'll use Wikipedia's notation:
https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93...
Alice has private key dA and public key QA.
Bob has private key dB and public key QB.
Alice can compute a shared secret S (I'll simplify here for brevity)using scalar multiplication as follows:
S = dA * QA
Bob can compute the same shared secret as:
S = dB * QB
Do you notice the inputs to the scalar multiplication operation? They're the elliptic curve public keys.
For Alice and Bob to arrive at a shared secret, they much have each others' public keys.
For forward secrecy to work, Alice and Bob can't use well-known public keys they found in advance. They generate ephemeral public keys for the session, and transmit them to each other as part of the protocol.
Still don't believe me? Let's look at CurveCP, an advanced transport encryption protocol that provides both passive and active forward secrecy:
http://curvecp.org/packets.html http://curvecp.org/packets.html
The "hello packet" is:
Hello packet:
(C',0,Box[0'](C'->S))
where C' is the client's short-term public key
The very first message sent from one peer to another is the short-term public key, in plaintext.
If you can solve the discrete logarithm problem, using future computers or future algorithms, you can derive the short-term private key, the shared secret, and with it the entire session.
- maggit 13y agoYep, you're right. I was thrown off by the fact that Elliptic Curve Diffie-Hellman has public and private keys. I figured you weren't talking about the DH part when you talked about public and private keys. Today I learned more about Elliptic Curve Diffie-Hellman. A good day. Thank you :)