Quiz Entry - updated: 2026.07.14
For each major cryptographic task, which canonical algorithm is the modern default?
Hashing → SHA-256. Symmetric encryption → AES. Key agreement → Diffie-Hellman (often ECDHE). Asymmetric encryption → RSA or ECC. Digital signatures → RSA or DSA/ECDSA.
| Task | Canonical algorithm(s) |
|---|---|
| Cryptographic hash | SHA-256 (SHA-3 / BLAKE3 as modern alternatives) |
| Symmetric encryption | AES (with GCM for AEAD) |
| Key agreement | Diffie-Hellman, usually ECDHE for forward secrecy |
| Asymmetric encryption | RSA-OAEP, ECIES |
| Digital signatures | RSA-PSS, DSA, ECDSA, EdDSA (Ed25519) |
| Password hashing | Argon2id (or bcrypt/scrypt) |
| Authenticated MAC | HMAC-SHA-256, AES-GCM, Poly1305 |
Why this short list dominates everything:
- Each algorithm has been subjected to decades of public cryptanalysis.
- They're implemented in hardware on modern CPUs (AES-NI, SHA extensions, ARM Crypto Extensions).
- Standardised by NIST / IETF / ISO, available in every crypto library.
A protocol typically uses several of these together — e.g. TLS 1.3 combines ECDHE (key agreement) + AES-GCM (bulk encryption) + ECDSA or RSA-PSS (signing) + HKDF-SHA-256 (key derivation).
Tip: When asked to choose primitives, default to this list. Picking algorithms outside it (DES, MD5, RC4, ElGamal-as-such, custom S-boxes) is a code smell unless there's a specific, documented reason.