GnuPG uses a combination of public-key cryptography and symmetric-key cryptography. Each user has a pair of keys: a public key and a private key. The public key is shared with others, while the private key remains secret. When you send an encrypted email, you use the recipient's public key to encrypt the message. Only the recipient's private key can decrypt the message, ensuring that only the intended recipient can read it.