This document provides an introduction to public key cryptography. It explains that public key crypto uses two keys - a public key that can be shared and a private key that is kept secret. The document discusses how public key crypto works using RSA encryption as an example. It also covers other common public key crypto algorithms like Diffie-Hellman key exchange and elliptic curve cryptography. The document discusses key sizes and their relationship to security strength and provides examples of public key crypto implementations in Python.