Understanding attack classes: ciphertext-only, chosen-plaintext, timing, and padding oracle attacks.
1. Attack Classifications
| Attack Class | Attacker Capability | Example Exploits |
|---|---|---|
| Ciphertext-Only (COA) | Attacker only has access to encrypted ciphertexts. | Frequency analysis, brute force key exhaustion. |
| Known-Plaintext (KPA) | Attacker has access to pairs of plaintext and corresponding ciphertext. | Linear cryptanalysis, historical decryption of static files. |
| Chosen-Plaintext (CPA) | Attacker can obtain ciphertexts for any arbitrary plaintexts they choose. | Differential cryptanalysis, block size determination. |
| Chosen-Ciphertext (CCA) | Attacker can obtain decryptions of any arbitrary ciphertexts they choose. | Manger's attack on RSA, Padding Oracle attacks. |
2. Side-Channel and Timing Attacks
3. Padding Oracle Attack
A padding oracle attack targets block ciphers in CBC mode. If the decryption server returns different error messages for invalid padding vs. invalid keys/signatures, an attacker can modify ciphertext bytes and send them to the server to decrypt messages byte-by-byte without knowing the key.