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.
I like it, but it only shows the use of 1 secret key, there's no concept of public key.

The exchanged &quot;mixed colors&quot; are the public keys in the scheme.

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.

Sorry, but you will have to make some assumptions when performing analogies. And a real world experiment seems useless; if people don't get above analogy then they won't be able to understand key agreement.

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

If you are relying on an audience that needs to perform work with their bare hands to understand an idea, then you've already lost, as they won't get analogies either. Some abstract thinking is required.