Before modern encryption, Julius Caesar used a simple shift cipher to send military messages. Each letter is shifted by a fixed number down the alphabet.
WKH HDJOH LV WKH NLQJ RI WKH VNLHV
Shift: 3 to the right. Can you decode it?
Ancient encryption methods that rely on simple substitution or transposition:
HELLO -> KHOOR (shift +3)
All classical ciphers are trivially broken with modern computing β frequency analysis or brute force.
Both parties share the same secret key for encryption and decryption.
Hash functions produce a fixed-length fingerprint of data. They are one-way β you cannot reverse a hash back to the original input.
You've intercepted a Vigenère-encrypted message. The keyword is KEY.
Hint: Vigenère uses the keyword to shift each letter. K=10, E=4, Y=24. Decrypt by subtracting.
Design a secure communication protocol for a messaging app. Your design must address:
How do two users securely share a symmetric key? (Hint: Diffie-Hellman)
Which symmetric cipher? AES-256-GCM? Key size? Initialisation vector (IV) handling?
How do you ensure messages haven't been tampered with? HMAC? Authenticated encryption?
If the long-term key leaks, past messages should still be secure. How?
1. Which of these is a symmetric encryption algorithm?
2. What property makes hashing suitable for storing passwords?
3. Why is MD5 no longer recommended?