13.4 Encoding vs. Encryption, Symmetric and Public-Key Encryption, and Their Trade-offs
Key Takeaways
- Encoding transforms data into another format using a publicly known scheme, such as ASCII, Base64, or Morse code; anyone can decode it, so it provides no secrecy.
- Encryption transforms plaintext into ciphertext using an algorithm and a secret key; without the correct key, the ciphertext should be unreadable.
- Symmetric encryption, such as AES, uses one shared key and is fast; public-key (asymmetric) encryption, such as RSA, uses a public and private key pair, which solves key distribution but is slower.
- A cryptographic hash is a one-way fingerprint of data used to check integrity and to store passwords; it is not meant to be decrypted.
- Trade-offs of encryption include extra computation and latency, key management burden, permanent data loss if keys are lost, and reduced ability to inspect or search data.
What this competency asks
ETS asks you to be familiar with concepts of data encryption and decryption:
- Distinguish between encoding and encryption.
- Identify trade-offs in the use of data encryption.
A discussion question asks for examples of each and an explanation of the difference.
Encoding vs. encryption
| Encoding | Encryption | |
|---|---|---|
| Purpose | Represent data in a form suitable for storage, transmission, or compatibility | Keep data confidential from unauthorized parties |
| Scheme | Public and standardized | The algorithm is usually public; the key is secret |
| Reversible by | Anyone who knows the scheme | Only someone with the correct key |
| Security | None | Strong if the algorithm and key are strong |
| Examples | ASCII, UTF-8, Base64, URL encoding (%20 for a space), Morse code, barcodes | AES, RSA, HTTPS traffic, encrypted phone storage |
The classic mistake is thinking Base64 hides a password. cGFzc3dvcmQ= looks scrambled, but any Base64 decoder instantly turns it back into password. Encoding changes form. Encryption protects meaning.
Two relatives of encryption to keep separate:
- Compression (Section 13.3) makes data smaller, and anyone can decompress it.
- Hashing is one-way: it produces a fixed-size fingerprint that cannot be reversed. It checks integrity and stores passwords.
How encryption works
Plaintext + key → encryption algorithm → ciphertext. The reverse process, with the right key, is decryption.
A classic example: the Caesar cipher
Shift each letter a fixed number of places. The shift amount is the key. With a shift of 3:
| Plain | A | B | C | … | H | E | L | L | O |
|---|---|---|---|---|---|---|---|---|---|
| Cipher | D | E | F | … | K | H | O | O | R |
"HELLO" encrypts to "KHOOR". To decrypt, shift back by 3: "FDW" becomes "CAT". A Caesar cipher is trivially broken because there are only 25 useful shifts, but it shows the roles of the algorithm (shifting) and the secret key (the amount).
Symmetric encryption
One shared secret key encrypts and decrypts.
- Examples: AES (the Advanced Encryption Standard, with 128-, 192-, or 256-bit keys) is the current standard. DES, with only 56-bit keys, is obsolete because it can be broken by trying every key.
- Strength: fast, which suits bulk data such as disks, files, and network streams.
- Weakness: the key distribution problem. How do two parties who have never met share the secret key safely? And every pair of users needs its own key: n people need n(n − 1)/2 keys.
Public-key (asymmetric) encryption
Each person has a key pair: a public key that anyone may have, and a private key kept secret.
- To send Bob a secret, encrypt with Bob's public key. Only Bob's private key can decrypt it.
- Examples: RSA, which relies on the difficulty of factoring very large numbers, and elliptic-curve cryptography.
- Strength: no shared secret has to be exchanged in advance.
- Weakness: much slower than symmetric encryption.
Hybrid systems get both benefits. HTTPS uses public-key cryptography to authenticate the server and agree on a fresh symmetric session key, then uses fast symmetric encryption for the rest of the connection. Private keys also create digital signatures, which prove authorship and integrity (Section 16.6).
Hashing for integrity and passwords
A cryptographic hash function (such as SHA-256) turns any input into a fixed-size digest:
- The same input always gives the same digest.
- A tiny change to the input produces a completely different digest.
- It is infeasible to reverse the digest, or to find two inputs with the same digest.
Uses: checking that a download was not altered (compare its hash with the published hash), and password storage. Systems should store a salted hash of each password, computed with a deliberately slow password-hashing algorithm such as bcrypt or Argon2, never the password itself. MD5 and SHA-1 are considered broken for security purposes.
Trade-offs in using encryption
| Benefit | Cost or risk |
|---|---|
| Confidentiality of data at rest (stored) and in transit (sent) | Performance: extra computation, battery use, and latency |
| Protection if a device is lost or stolen | Key management: keys must be generated, stored, rotated, and backed up securely |
| Compliance with privacy laws and policies | Data loss: if the key is lost, the data are gone for good |
| Protection on untrusted networks such as public Wi-Fi | Harder inspection: encrypted traffic can hide malware from network filters, and encrypted data cannot easily be searched |
| Integrity and authenticity (with signatures) | Usability: passwords, recovery keys, and multi-step access add friction |
| Legal and policy tension: debates over lawful access to encrypted devices |
Stronger settings, such as longer keys and more encryption, increase security but also increase cost. Choosing encryption means balancing the value and sensitivity of the data against these costs. For student records and passwords, the balance clearly favors strong encryption.
A developer stores user passwords as Base64 strings, saying they are "encrypted." What is wrong with this reasoning?
A Caesar cipher shifts each letter 3 places forward in the alphabet. What plaintext does the ciphertext FDW represent?
A school encrypts every laptop's hard drive. Which is a genuine trade-off of this decision?
Two companies want to exchange large encrypted files every day but have never met to share a secret. Which approach addresses this most efficiently?