Which algorithm does what — and why elliptic curves
◈ 7 cardsThe four-algorithm capability grid — RSA, Diffie–Hellman, DSS and ECC against encryption, signature and key exchange — plus what elliptic curves actually buy and where post-quantum work stands.
Three applications, four algorithms, and not all the cells are ticks
Public-key cryptosystems get used for three things: digital signature, symmetric key distribution, and encryption of secret keys. (Encrypting bulk data is not on the list — the overhead rules it out, which is misconception 2 from L5.1.) Four algorithms turn up in the exam, and the single most efficient thing to memorise in this strand is which of them supports which application. Learn it as a grid, not as prose: MCQ-shaped questions come at it from both directions — "which algorithm supports X?" and "what can algorithm Y do?" — and a grid answers both.
RSA does all three. It encrypts and decrypts, so it can carry a symmetric key; and because either key of the pair can be applied first (requirement 6 from L5.1), the private key can be used to sign. RSA is the only one of the four with a full row of ticks.
Diffie–Hellman does key exchange only. It has no encryption operation to lend to anything else, and nothing in it identifies a signer.
DSS — the Digital Signature Standard, FIPS 186-4 (July 2013) — signs only. Its underlying DSA rests on the difficulty of computing discrete logarithms, and it deliberately lacks requirement 6: there is no way to run DSA backwards to encrypt, and it cannot exchange a key either. This is the most-tested single fact about DSS.
ECC — elliptic-curve cryptography — covers signature and key exchange, as ECDSA (an option in FIPS 186-4) and ECDH respectively. It is not a fourth hard problem so much as the same style of discrete-logarithm problem relocated to the group of points on an elliptic curve, where the best known attacks are much worse relative to the key size.
Worked example — filling the grid cell by cell
Take the cells one at a time and justify each, because a justified grid survives a reworded question and a memorised one does not.
RSA / encryption: yes — is an encryption operation. RSA / signature: yes — apply the private exponent to a hash and anyone can verify with the public one. RSA / key exchange: yes — encrypt a freshly generated symmetric key under the recipient's public key. Whole row: yes.
Diffie–Hellman / encryption: no — there is no ciphertext anywhere in the protocol. DH / signature: no — no identity is bound to anything. DH / key exchange: yes — that is its definition. One tick.
DSS / encryption: no, and this is the cell people get wrong. DSS / signature: yes. DSS / key exchange: no. One tick.
ECC / encryption: not in the form the exam means — treat ECC as covering signature (ECDSA) and key exchange (ECDH). Two ticks.
What ECC actually buys
ECC's selling point is stated in exactly two clauses, and an exam stem will use both: it is based on the mathematical construct of the elliptic curve, and it offers the same security margin from a much shorter key. Smaller keys mean less processing, which matters most to a server terminating many secure sessions at once. It is standardised in IEEE P1363, and ECDSA is one of the signature algorithms in FIPS 186-4.
How much smaller? NIST's key-management guidance puts a 256-bit elliptic-curve key at roughly the security level of a 3072-bit RSA or Diffie–Hellman key — a factor of about twelve in key size for the same work factor. (That comparison is from NIST SP 800-57 Part 1 Rev 5, not from the course text, which gives no key-size table.)
The honest caveat is also examinable: confidence in ECC is lower than in RSA, not because a weakness is known, but because sustained cryptanalytic attention to it is more recent. "Newer, therefore less tested" is a legitimate engineering position and it is the one the textbook takes.
Post-quantum, briefly
A large quantum computer would break the hard problems all four of these algorithms rest on — factoring and discrete logarithms alike. Symmetric ciphers and hash functions lose at most a security-level factor and survive with larger parameters; the public-key primitives do not. NIST began a standardisation project in 2016 and announced its first selections in NISTIR 8413 (July 2022): CRYSTALS-Kyber for key establishment, and CRYSTALS-Dilithium, FALCON and SPHINCS+ for digital signatures. (The four algorithm names come from the NIST release; the course text cites the report without naming them.)