Quiz Entry - updated: 2026.07.06
What are the main branches of cryptography based on key usage?
Cryptography divides into symmetric, asymmetric, and protocols — based on how keys are shared and used.
The taxonomy:
Cryptography
├── Symmetric (shared secret key)
│ ├── Block ciphers (e.g., AES)
│ └── Stream ciphers
├── Asymmetric (public/private key pair)
│ ├── Based on factoring (e.g., RSA)
│ ├── Based on discrete log (e.g., Diffie-Hellman, Schnorr, DSA)
│ └── Based on elliptic curves (also a form of discrete log)
└── Protocols
Protocols here means cryptographic protocols — multi-step interactions that combine the primitives above to reach a goal no single cipher achieves on its own. Examples: key exchange (Diffie-Hellman), the TLS handshake, authentication schemes, and zero-knowledge proofs.
For RSA, the factoring problem is more precisely described as: "if you can factor $N$ into primes, then you can compute the $e$-th root $\bmod N$" — but the reverse has not been proven.