Hi,
I have a question regarding diffie-hellman.
What exactly are we doing with diffie-hellman key? Do we use it to create another key? Or is it the key itself?
Thanks!
Hi,
I have a question regarding diffie-hellman.
What exactly are we doing with diffie-hellman key? Do we use it to create another key? Or is it the key itself?
Thanks!
Hi,
I assume you are referring to LE Secure Connections (LESC), which is where a Diffie–Hellman key exchange is used in Bluetooth. That is used so that the two peers can exchange their public keys with each other to generate a shared secret that no one else can know, even an attacker that has intercepted all of the communication. This in turn is used to generate a encryption key.
You can read more about LESC here, and refer to the Bluetooth specification for all details.
Hi,
I assume you are referring to LE Secure Connections (LESC), which is where a Diffie–Hellman key exchange is used in Bluetooth. That is used so that the two peers can exchange their public keys with each other to generate a shared secret that no one else can know, even an attacker that has intercepted all of the communication. This in turn is used to generate a encryption key.
You can read more about LESC here, and refer to the Bluetooth specification for all details.
Hi,
I know that with diffie-hellman, both sides generates a key, without sharing private keys.
After it's done - we are we doing with that key? Do we use it to generate another key?
Yes. In the end, the only key that remains after the pairing procedure is the LTK. This is briefly described in the second link I provided.
Thanks!
Why do need another step after generating diffie-hellman key? What is the difference between this key and LTK?
In addition - what about a connection which isn't bonded?
Do we still have diffie-hellman and LTK?
Thanks!
Hi,
Why do need another step after generating diffie-hellman key?
Short answer - direct use of shared secret is insecure. The theory is somewhat complicated but we can trust OpenSSL wiki that clearly says: "Never use a derived secret directly".
In addition - what about a connection which isn't bonded?
Do we still have diffie-hellman and LTK?
As Einar pointed out, LTK is the only key that we have after pairing process in case of LESC - we just have an option to forget it after disconnection when bonding is not required.