Go
here. RTFM
Ok, a short explanation.
The obvious way to make a secure connection: use a secret key only you two have. But how do you get that key to the receiver? And you don't want to reuse that key if you can prevent it, there are many ways encryption can be broken if people keep using the same key.
If you go to the receiver each time and hand them the new key, it's easier just to hand them the unencrypted message.
So, we came up with private/public key pairs. Everyone has two keys, you can use one to encrypt the message and the other to decrypt it. It doesn't even matter which one you use for the encryption, as long as you use the other one for the decryption.
Make one of them public and tightly guard the other one. That way, you have secure communications in plain sight. You can broadcast the public key and the messages, and none will be the wiser. As long as you keep the private key... private.
Now is that a quite slow protocol, so most of the time it is only used to communicate that secret, one-time-only key that is actually used to encrypt the message.