There is a fundamental question of trust when dealing with two unknown parties. I use some super-techno, mathematical formula to derive a secret. using a derivitive of that I then generate a related, secondary secret. The trick is that if I share that secondary secret with you, you won't be able to guess or otherwise derive what my private secret is. Here's the cool part. By now you may be seeing the true beauty of public key cryptography.
Someone can establish a strong private key and a related public key.
Suffice it to say that what makes this possible is public key encryption techniques. Amazon was able to send us a public key which enabled us to transmit our credit card numbers to them securely over the wire. Lets bring in Lenny and Squiggy. Thus just as you would expect, the first stage of the process is for Lenny and Squiggy to both generate individual private and public keys. Before they do that, they first agree on some things.