Public-Key Cryptography

Problem

You publish software updates, and customers need to verify that you signed them. They need a way to check your signature while you retain sole control of the key that creates it.

Solution — Public/Private Key Pair

Generate two mathematically related keys:
Public key   → everyone may know
Private key  → owner keeps secret
Public-key cryptography uses this public/private pair; symmetric encryption uses a shared secret key. For digital signatures, the private key signs and the public key verifies. Other public-key schemes help establish shared secrets: with authenticated Diffie–Hellman, peers exchange public values and use their private values to calculate the same secret. They then derive a key for symmetric encryption of the actual data.
Core idea: asymmetric cryptography separates public cryptographic information from a private secret.