Quantum cryptography uses principles of quantum mechanics to guarantee secure communication. It allows two parties to generate a shared random key that can be used to encrypt and decrypt messages. There are two main approaches - using polarized photons or entangled photons. Information reconciliation and privacy amplification protocols are used to ensure the keys between the two parties are identical and an eavesdropper gains no information. While traditional man-in-the-middle attacks are impossible, future work aims to increase transmission distances including to satellites. Several research groups and companies are conducting research on quantum cryptography.