DES Algorithm Teacher Toolkit: Lesson Plans, Demos, and Exercises
Overview
This toolkit presents a structured, classroom-ready set of materials to teach the Data Encryption Standard (DES) algorithm. It includes a concise lesson plan sequence, ready-to-run demos, hands-on exercises, assessment ideas, and extension activities for deeper study. Assume a 90–120 minute lesson block or two 50–60 minute sessions.
Learning objectives
- Understand the historical context and role of DES in symmetric-key cryptography.
- Describe DES structure: Feistel network, 16 rounds, permutations, S-boxes, and key schedule.
- Execute a single DES encryption and decryption by hand for a simplified example.
- Implement DES-like operations in code or a spreadsheet.
- Analyze basic security strengths and weaknesses of DES (key size, brute-force attacks).
Prerequisites
- Basic binary and hexadecimal familiarity.
- Understanding of permutations, XOR, and substitution concepts.
- Prior exposure to symmetric vs. asymmetric encryption is helpful.
Lesson 1 — Introduction & Structure (45–60 min)
Goals
- Explain DES history, purpose, and high-level flow.
- Walk through DES block and key sizes, initial/final permutations, Feistel structure.
Activities
- Short lecture (10 min): history (IBM design, NIST adoption), 64-bit block, 56-bit key.
- Diagram walkthrough (10 min): label initial permutation (IP), 16 rounds, final permutation (IP^-1).
- Interactive demo (20–30 min): show a single-round Feistel operation using a small example (see Demo A).
- Quick quiz (5 min): 5 multiple-choice questions on structure.
Demo A — Single Feistel Round (In-class demo, 15–20 min)
Materials: whiteboard or projector, prepared 32-bit L and R halves (use shorter example like 8-bit halves for hand calculation).
Steps:
- Present R, apply expansion (E) to match key size (show mapping).
- XOR expanded R with round subkey.
- Apply S-box substitution (use one simplified S-box for demo).
- Apply P-permutation and XOR with L to form new R; swap halves.
Tip: Use an 8-bit toy DES variant for students to compute quickly by hand.
Lesson 2 — Key Schedule & Full Example (45–60 min)
Goals
- Teach key scheduling: permuted choice (PC-1), rotations, PC-2 producing 16 subkeys.
- Run a full small-scale DES example.
Activities
- Explain PC-1, left shifts, and PC-2 mapping (10 min).
- Guided group activity (30 min): each group computes subkeys for rounds 1–4 using a toy 16-bit key mapping to 12-bit subkeys. Then run 4-round encryption end-to-end.
- Discuss parity bits and effective key length (5–10 min).
Exercises (Homework or lab)
- Hand-calculation exercise: Encrypt one 64-bit block using provided S-boxes and full 16-round flow but with simplified numbers (graded for steps correctness).
- Spreadsheet implementation: Build DES-like round operations in Excel/Google Sheets with bit-level columns and formulas; include toggle to show intermediate values.
- Programming assignment: Implement DES-like algorithm in Python for toy parameters (show pseudocode). Optionally implement full DES using a cryptography library for verification.
- Cryptanalysis mini-project: Estimate the time to brute-force a 56-bit key with modern hardware; compare to 3DES and AES key lengths.
Demo B — Live Code Walkthrough (30–40 min)
Options:
- Python Notebook: step through toy-DES implementation, visualize intermediate L/R, subkeys, S-box outputs.
- GUI tool: use an online DES visualizer to show bit permutations and substitutions in real time.
Deliverables: notebook file or link to visualizer; instructor runs selected plaintext/key pairs.
Assessment ideas
- Practical lab: students submit code/spreadsheet and a short report explaining each round’s transformations.
- Short answer: explain why DES uses Feistel structure and how decryption mirrors encryption.
- Problem set: derive subkeys for given key and verify one round’s output.
Extensions & Deeper Topics
- 3DES: construction, backward compatibility, security improvement and deprecation reasons.
- DES cryptanalysis: differential and linear cryptanalysis overview (conceptual).
- Transition to AES: reasons for AES adoption (key length, design choices).
- Modern alternatives and use-cases where DES-like teaching helps (block cipher pedagogy).
Ready-to-use resources (copy-and-paste)
- Toy DES parameters: 16-bit block, 12-bit key, 4 rounds — include mappings for IP, E, S-box, P, PC-1, PC-2 (instructor can supply exact tables).
- Python pseudocode template:
# Pseudocode (toy DES)def feistel_round(L, R, K): E_R = expansion® A = xor(E_R, K) S_out = sbox_substitution(A) P_out = permutation(S_out) newR = xor(L, P_out) return R, newR # swap
- Grading rubric: correctness of intermediate steps (60%), final ciphertext (20%), clarity & comments (20%).
Tips for teaching
- Use a simplified toy variant first to build intuition before full DES.
- Emphasize bit-level tracing; encourage students to record each intermediate value.
- Balance conceptual lectures with hands-on labs.
- Warn students about DES’s historical weaknesses — present it as educational rather than a recommended production cipher.
1-session condensed plan (90–120 min)
- 15 min: history & high-level structure
- 25 min: single-round demo + student hand calculations
- 25 min: key schedule walkthrough and group subkey activity
- 25 min: live code demo and wrap-up with homework assignment
If you want, I can convert the toy-DES tables and Python pseudocode into runnable code, a Google Sheets template, or printable handouts for students.
Leave a Reply