This article was first published on Loopring Protocol - Medium
Diffie-Hellman Key Exchange is used for various public key/private key encryption schemes. Security assumptions about the key exchange protocol are guaranteed through the difficulty of breaking the discrete log problem. We will talk about how we can generate discrete logarithmic problems through generator points of polynomials of extension fields (covered in the previous article).
If you haven’t read the previous article about finite fields, I’d highly recommend you to do so before reading this article!
Loopring’s “Learning Cryptography” series hopes to educate the community about this fascinating field. This series will begin from the basics, and work its way up to the advanced tools that make our scalable v3 DEX protocol — which utilizes zero-knowledge proofs — possible.
Diffie-Hellman Key Exchange
Suppose Bob wanted to communicate with Alice in a secure way. To keep things simple, they could have a shared secret between them which could both agree on and encrypt all their messages with that secret. However, there are two problems with this scheme:
- How do they communicate the secret in a secret way?
- How is key abuse prevented? eg. Alice and Bob may share the keys with 3rd parties.
What we’re describing here is a symmetric key encryption scheme. The trade-offs we described above don’t really cut it for adversarial environments such as crypto. So what’s the solution? Asymmetric key encryption schemes.
Diffie-Hellman is an asymmetric key exchange protocol where each party has its own public key and private key.
- Alice has her private key a and public key A and Bob has his private key b and public key B;
- We have two variables which are known as public parameters: p (some large prime number) and 𝛂 (some integer);
- private keys a and b are randomly selected numbers from a finite field having ...
To keep reading, please go to the original article at:
Loopring Protocol - Medium