Public Key Cryptography is a method of secure communication. It
involves the creation of both a public and a private key. When
sending a message, the sender encrypts the message with the
recipients public key. After receiving the message, the recipient
may then decode the message with his/her associated private
key.
One area that public key cryptography is used in is SSL / TLS
(Secure Socket Layer). An example of an SSL library is the CyaSSL
Embedded SSL Library. CyaSSL provides several public key
cryptography options, including RSA, DSS, DH, and NTRU.
In addition to SSL, Public Key Cryptography is used in a large
variety of techniques, algorithms, and protocols including:
Diffie-Hellman key exchange protocol
RSA Encryption Algorithm
Cramer-Shoup cryptosystem
NTRUEncrypt cryptosystem
GPG, OpenPGP
Internet Key Exchange
PGP