Unit 3. Information and the InternetRevision Date: Jul 22, 2019 (Version 3.0)
Students are introduced to the topic of cryptography and learn to perform two encryption techniques. The students will identify the role of the algorithm and key in the encryption process. Students will use abstraction to see the general process used in symmetric encryption. The students will consider the strength of ciphers and the importance of keeping the key a secret.
Student computer usage for this lesson is: optional
In the Lesson Resources folder:
Optional: Lesson slides with the key questions, encryption demos, and diagrams (the teacher could simply read the questions and present demos and diagrams by writing on a board).
For examples, consider reviewing The Code Book by Simon Singh.
Tell the students, “This problem is not a new one. Throughout history, people, including government and military officials and personnel, business owners, and others, have wanted to send secret messages to someone but worried that the message could be intercepted along the way.”
There are two ways to try to keep the message secret: Steganography and Cryptography.
Explain the basic difference between the two.
Present two different encryption techniques, showing one example of each.
An alternative to this lecture portion above is to have students independently study the same concepts using a reading, video, or online learning tool. Here are some suggested resources:
Summarize with this overview: "Each encryption scheme involves an algorithm and a key. The algorithm is the set of steps that you follow to accomplish the encryption. The key is the secret piece of information that is needed to know exactly how to apply the algorithm in this case. This allows you to securely send encoded information across the Internet and decode it when it arrives. Some codes are more secure than others."
Have the students pair up and practice sending each other encrypted messages, then decrypting them to make sure they end up with the correct message.
A worksheet called "Cryptography Partner Practice" is provided in the Lesson Resources folder.
Ask the students: “How difficult would it be to crack a message that was encrypted using the Caesar (shift) cipher if you didn’t know the key? How would you do it?” (Easy, try each of the 25 possible shifts.)
Present: There are two ways to increase the strength of encryption:
Option #1: Increase the number of possible keys.
A general substitution (not limiting to just a shift) dramatically increases the number of keys. The number of keys in this case is the number of permutations (different orderings) of the 26 letters in the alphabet. This can be computed by multiplying the 26 options for the first letter in the cipheralphabet, by the 25 remaining options for the 2nd letter, 24 remaining options for the 3rd letter, etc. (26! or 26 factorial).
The answer: 4.032914e x 1026 keys (Google will calculate it for you).
This analysis makes it seem as though a substitution cipher would be unbreakable, but clever people have invented tricks (e.g., frequency analysis) that can be used so you don't have to try all of the different keys.
Option #2: Use a better algorithm.
For example, use a polyalphabetic cipher that combines multiple cipher alphabets.
(If time allows, you can have students explore other ciphers. For further study, see Khan Academy or The Code Book by Simon Singh.)
Present a diagram that shows high-level view of the encryption and decryption process (see The Code Book, p. 11).
Use the "Cipher Python Project" worksheet in the Lesson Resources folder. Students are tasked to create a simple Caesar cipher program that uses ASCII values to shift messages by a certain letter. The rubric for this project is also in the Lesson Resources folder.
The teacher will evaluate student responses to the journal entries, class discussion questions, and the students performance during the encryption practice.