Symmetric encryption requires one shared private key. This same key is used by Person A to encrypt the message and by Person B to decrypt the message. They can go back and forth all day long using the same key. It's great and it's private. However, the problem is getting the
key to the other person. Physically giving the key to the other person is great, but obviously not practical for an internet situation.
Asymmetric encryption is another technique. Asymmetric means one-way. It is another means of encrypting a message, but it can only occur in one direction. Person A can encrypt a message that
only Person B can decrypt. How? Mathematics. You don't really need to understand the cryptography details to understand this. Person B has a private key. Mathematically, Person B can derive a public key from this private key. Due to the miracle of modern math, this "public" key can be used to encrypt a message, but not decrypt the message. Person B can give this public key out to anyone that he wants to receive a secure message from and only Person B will be able to decrypt the message. So Person B sends Person A the public key. Person A encrypts his message using the public key, and sends it to Person B who decrypts the message using the private key. The big breakthrough here is that a private key never has to be given out.
How are these two methods used? SSL. A combination of these two methods is used to establish a secure browsing session. The web server has a certificate installed that contains the private key. When average Joe points his browser to the web site, the server will generate a certificate that contains the public key derived from this private key and send it to the browser. The browser generates something called a "session key" (AKA shared private key ), and sends this to the web server using the public key in the certificate. Now, the web server and the browser both know the session key (AKA shared private key) and can begin communicating both ways using symmetric encryption.
To summarize, the shared private key is securely given to the web server by using asymmetric encryption. Once the shared private key is in both party's hands, symmetric encryption can commence.