I am working on an Instant Messenger client/server application that will be starting in Perl. Unlike most popular IM protocol's, I want mine to be encrypted. I seem to have trouble finding a way to encrypt data that only the server has the key to decrypt, but everyone has the key to encrypt. After doing a little research on PGP, I found that with the public and private keys, it is possible to do what I want.
I noticed that there are some interesting features of PGP, such as Encrypting, Decrypting, Encrypting a signature, and a regular signature.
Could anybody explain these features better and a clear example of how to use them in both Linux and Windows?
Thank you in advance.