# Intuitive explanation for key exchange with public/private keys

I want to teach some people about crypto basics, and one of the topic will be key exchange with a public and private keys.

The audience is made of people working in InfoSec, but mostly junior fresh out of school.

I am looking for a visual/experimental way to show how we can achieve key exchange with both parties having a public/private elements.

The best thing I found was the example with color being mixed:

I like it, but it only shows the use of 1 secret key, there's no concept of public key. Also, color may not be as intuitive as I like because people tend to think you can unmix (even if we made the hypothesis we can't.) And a real-world experiment would probably get messy.

Is there another example that would relay on 2 elements from each sides?

I made some attempts with pieces of paper, but alas, nothing came out. I would need a transformation that can be done with 1 piece of paper, and that can only be undone with another. Perhaps someone have a bright idea here.

PS: I introduce the concept of public/private key with the padlock/key analogy, which is very good. However this just depicts a 1way transfert of data, it is not a key exchange.

• Problem with analogies about public/private key, key exchange, signature, PK encryption, is that they give the audience a mental picture that's so imperfect it can't be used to explain common things. For example the color analogy works for DH key exchange (if the audience swallows that a secret color can't be found from mixed and common color, which does not pass an experimental test); but not authenticated DH, ElGamal encryption, or signature. My advice is to skip analogy and explain the functionality; and have a handout explaining the math (with DH in $\mathbb Z_p^*$) – fgrieu Apr 15 at 12:31
• @fgrieu, true I am also not a very good fan of color analogy. It gives people the impression that "the common color" and "the secret color" are similar things while they are not. Giving little bit of explanation about cyclic groups and then explaining the nature of such groups that can be used for DH would be more helpful. – Manish Adhikari Apr 16 at 12:02