The Great Encryption Chase
Mark Sherriff - firstname.lastname@example.org
|Summary||The Great Encryption Chase teaches the basics of encryption using an active-learning method which gets students working together to solve encrypted clues around campus. The assignment was originally created as a "bonus" assignment.
||The basics of encryption with several classic and modern cyphers.
||Appropriate for any class that is introducing encryption. I do this assignment with CS2 students, but it could probably be done in an earlier class to help promote computing.
||This assignment can be geared to various difficulty levels, depending on the clues provided the students. The version illustrated here is easy to moderate. Little programming experience is required.
||The strength of this assignment is that students are working together on teams to solve logic problems. This assignment can almost be seen as a reward for students, and yet they still do grasp the material. Further, they are visible around campus as they are working on the assignment, which I have found to be good exposure for computing.
||If the students aren't mature enough to run the chase and be respectful when they are around campus, it could reflect poorly on the class. Students might find the assignment too easy - some fine tuning might be required.
||Requires effort on the part of the faculty member (or TA) to write good clues and to run the race a few times to make sure the clues are appropriate and simply work. Thus, the setup time for this assignment can vary.
||As students move further in encryption and security technologies, I could envision adding variants that included performing (controlled) SQL injection attacks or other similar "code-breaking" techniques in later courses.
History of the Chase
Toward the end of the semester in our CS2 course a year ago, we added a short section on encryption. Students showed an interest in the topic and it seemed like a reasonable topic to add to our CS2 course. However, the background of the students at this point made some parts of the lecture more difficult than we felt it should be (explaining the use of primes in RSA, for example). Also, this was in the last few days of the semester, so students' attention was somewhat lacking.
As a fan of "The Amazing Race," "The Da Vinci Code," "National Treasure," and other similar shows and movies, the idea of doing a chase certainly wasn't novel, but I hadn't ever thought of applying it to a college-level class. If the clues were of sufficient difficulty, then they would be working out how the encryption works on their own. Further, they are working groups to do problem solving, which often is beneficial for learning. So, I wrote "The Great Encryption Chase." Many of my clues are based on clues from these movies and shows, along with chases I have participated in from Ravenchase Adventures (http://www.ravenchase.com), a organization that runs their own chases for people to run for fun.
Creating a Chase
The first rule is not to be intimidated! You don't have to create a chase with layer upon layer of puzzles! Start with what's comfortable and add complexity as you like.
The basic layout that I follow is to create a number of independent clue "threads." A "thread" could be a single puzzle, or it could lead to another puzzle. At the end of each "thread," I have a final clue/word/item that is combined with the final clues of every other thread to find the final answer.
Below I will give an example race that can be adapted to your own campus. The trick is finding things around campus that can be used as "clue holders." Any permanent sign (ones with names and dates are great), statue, award banner, etc is perfect. Take a camera and walk around an area of campus and just take pictures of these things. Anything can work! But try to find things that are relatively easily found. Then work backwards. Pick a word, name, date, etc. and then encrypt it in the puzzle. Below is an example chase that I gave in Spring 2009 that hopefully shows my thinking in creating a chase.
On the Chase
Here is what the students start with:
Encryption Chase - Initial Student Clues
In lecture, students received a basic overview of the history of encryption along with examples of several ciphers. When the lecture was complete, students were provided with a handout and the links above and allowed to self-create teams of up to four members. The first task is to try to figure out which cipher is used with which clue, as that is not provided.
Below I provide a walkthrough for each clue. Follow along with the handout above.
Clue 1Clue 1 had students locating a list of their classmates on a nearby poster (Systems Engineering is a major that is required to take the class). By drawing lines from the appropriate pictures as named in the clue, students could discover the number 4 as the proper offset for the Caesar Cipher for the next clue in the "thread."
This clue led them to another part of the building where they could pick up one of the following three clues: Clue 1B
If they answered the previous clue correctly, then they picked up the first 1B clue, which was in a box numbered "44," the year that Julius Caesar was killed. This led them to this poster:
Following the directions of the clue would highlight this part of the picture, which they could then use to identify a particular faculty member in the poster next to it, to complete the clue:
This faculty member's last name (Weimer) was then placed in the provided spaces.
Clue 2Clue 2 started by directing students to a different building where they had to search a wall of picture of planes for this particular one:
Using the Vignere Cipher and the keyword "douglas", students would decrypt the clue as: "PRICE OF SMALL CAPPUCCINO IN WILSDORF." This directed them to a nearby coffee shop to find the price on the menu. At the time of the chase, it was $1.69, thus completing the clue.
Note that this "thread" is less complex than Clue 1, and that's just fine! It's your chase! Run it as you like!
Clue 3Clue 3 introduced RSA, and required students to find two prime numbers on a particular plaque to generate the keys needed to decode the clue. (The questions derived from this clue on the test involved them reasoning as to why the primes needed to be large and why they needed to be kept as secret as the keys themselves).
For those finding it hard to read the image, the primes are 1993 and 2003.
Using the RSA Demo Applet, student could decode the message: "write down the country of the lonely flag in thornton a first floor." Nearby, in Thornton Hall, A Wing, First Floor, there are numerous flags on display.
"USA" completed this clue.
Clue 4This clue began with some looking around the Internet, with some reference to some inside jokes in class (I drink a lot of Cheerwine, a soda from Salisbury, North Carolina). The decoded clue here had students looking around the CS department to find a faculty member that "had gone to infinity":
The name of this faculty member, Robins, completed this clue.
Final ClueUsing all the clues above, students had to complete the following submission sheet:
Final Clue Submission Sheet
The final answer of the entire chase was "Summer."
Further ResourcesStudent Handout for Fall 2009 in .doc format
What the Students Learned
Students learned up the basic concepts of encryption and could answer questions about the various ciphers, including RSA. Beyond that, it was simply a fun assignment that earned them a couple bonus points on the final exam.
What I Gained
As we often see in Computer Science, recruiting and retention can be challenging efforts. Sometimes, having something that is fun and visible can go a long way to promoting the discipline. While I do not claim that this is a rigerous assignment (although the difficulty could be increased), the real benefit comes from breaking from the norm for some CS courses. Whether it's this particular assignment or some other visible active-learning exercise, I think that we as CS instructors need to remember that a little bit of fun doesn't hurt the students' learning experience.