First, software needs to be able to encrypt the mail message or files. Second, it also needs to be able to decrypt the message or files with a cryptographic key supplied. Third, the program holds the ability to acknowledge the sender of the message. Moreover, encryption, decryption, and authentication can be provided by public key encryption technology. Private key is for holding users software in a safe place.
Public key is for other people being able to access stored messages in a public database.
PGP is a program that provides electronic mail users privacy. With PGP, the user does not have to produce a key between oneself and the person receiving a mail. Moreover, PGP does not cost the user any money. It is available on the Internet for free. Some speculation about further developments in the near future Ashton.