I watched a YouTube video about Diffie-Hellman called "Diffie-Hellman Key Exchange", and it said after doing some modulo operations with the public modulus and generator and the random private numbers, you eventually arrive at a shared secret, or key between Bob and Alice (or whoever is exchanging data). Now that you have the key, how do you use the key to encrypt and decrypt data over whatever channel you are sending over? Do you use the key as the generator? Please give a mathematical example of how to encrypt and decrypt using the key.

  • 2
    $\begingroup$ The answer to this question can range from "extremely simple" to "extremely complicated". The simplest answer is, once two parties share a secret key of sufficient length, they can use pretty much any symmetric-key encryption algorithm to exchange a single message. A lede to the more complicated answer is that if you want to exchange multiple messages, authenticate (one, both, or more) parties, or have other features, the key exchange must be part of a larger protocol such as TLS. $\endgroup$ – Stephen Touset Oct 13 '14 at 21:43
  • $\begingroup$ Is there also a decryption algorithm for the encryption algorithm? Can i just use modulo somehow? Is there a mathematical formula for these algorithms? $\endgroup$ – Logern Oct 13 '14 at 22:26
  • $\begingroup$ Wait now I understand I read a microsoft page about Symmetric and Asymmetric encryption. $\endgroup$ – Logern Oct 13 '14 at 22:36
  • $\begingroup$ There are many different symmetric encryption algorithms; their selection, implementation, and use is an enormous topic and warrants another question (or many). $\endgroup$ – Stephen Touset Oct 13 '14 at 23:01
  • $\begingroup$ Ok, but I read the microsoft page, and it said that an algorithm for symmetric encryption could be as simple as changing the letters by the key. $\endgroup$ – Logern Oct 13 '14 at 23:06

Typical scenario is to run the raw shared secret through a key derivation function to generate keys for any symmetric primitives they will use.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.