Mathematics
Public key encryption is the encryption strategy for secure data exchange.
There are various protocols which are related to public key encryption:
- Diffie-Hellman Exchange
- RSA
- ElGamal Algorithm
Common to all systems is that you need an abelian group.