Cryptography: Linking Learning and Life

by Joshua Newton, Ryan Pai, Mary Pennington, Jamie Sloat

Introduction
Anchor Video
Concept Map
Project Calendar
Lesson Plans
Letter to Parents
Assessments
Resources
Modifications
Grant

Background

 

            This project integrates ideas from several different fields of mathematics, computer science, and history. The teacher should be familiar with some historical events and uses of cryptology, for example Caesar ciphers, and also some modern uses of cryptology, such as RSA cryptosystems (although the project doesn’t go into this high level math, at least knowing that it is out there and the “next level” can inspire some students to investigate further).

            The mathematics required for this project goes along with the different encoding schemes that will be explored. The first schemes are based on shift ciphers. When applying the codes modular arithmetic is used. These lessons will also emphasize order of operations. As the schemes progress in difficulty they can be seen as linear functions (modulo some n) with many of the familiar properties of linear functions of real numbers. But there are some differences which will broach the topic of relative primality. More complex methods will use matrices in an introductory manner. The lesson on cracking codes will make use of frequency tables.

            Cryptology lends itself to a natural introduction to computer science. Students will have to have access to computers with some development environment. To apply the codes the students must have some way to represent letters numerically, similar to the ASCII code. Thus the ideas of the char data type and strings as sequences are natural. The act of traversing a message letter by letter to decode it leads to the idea of iteration with loops. Order of operations discussed mathematically is similar to operator precedence in computer languages.

 

Goals

The incessant question of “When will we ever use this” is heard in classrooms across America and illustrates the general disconnect students have between what they learn in the classroom and what they need to know in the real world.  Our project will help students form links between mathematics they learn in the classroom and problems of communication by focusing on the application of math in cryptography and coding theory. 

            We will help students to see the importance of math to technology, communication and secrecy by highlighting how math is used to keep information secret.  Students will see how math is used to make information difficult to decipher by anyone other than the intended recipient. 

            Since the need for secure encryption is evident through inspection of tools students use everyday (internet shopping, for example), we will help students discover the ways mathematics has been used to ensure higher levels of security.  This project will reinforce the need for students to be able to use what they learn in a real-world context and will help students link classroom life with its real world applications.

 

 

Description

This is an approximately seven-week unit employing cryptography as a means for linking together a number of key mathematical and computer concepts with real world application. It will all be brought together as students realize the implications for the community as a whole.

The unit begins with a description of cryptography and how it has been used in history. Introducing it in a historical perspective will allow students to see the potential impact that cryptography can have in today’s world and how it might be used in the future.  Additionally, a historical perspective will give the student’s concrete examples of real world applications rather than the hypothetical “you could use this in this way”. By connecting mathematics with historical events that the students are familiar with (such as World War II), the introduction will arouse further interest and prepare the students for applying cryptography today.

Next, students will be introduced to various forms of coding starting with the more basic shift and multiplier shift codes. Encoding and decoding help illustrate the notions of function and inverse function since all encoding is done with functions and decoding done by the inverse of the function used to encode. The next coding method the students will learn is what is referred to as two-step coding.  An example of two-step coding would be to take the number assigned to the letter, multiply it by two and add 3. The function equivalent of this coding process would be your basic linear function in point-slope form, c=2x+3, where c is the corresponding number to the encoded letter and x is the corresponding number to the original letter. As its name implies, there are two-steps in two-step coding. After students have mastered this technique of coding, we will move onto multi-step coding. Unlike two-step coding, multi-step coding provides a bigger challenge when searching for the inverse function that will decode your message. Students will have to learn the techniques of modeling multi-step codes with two-step codes and the best methods to do so. Since we will be teaching cryptography with linear functions, the functions will serve as the basis for lessons on the use of a graphing calculator. The coding aspect makes such exercises more compelling while the students begin to explore the uses of technology in modern day cryptography. The final section of the unit deals primarily with more advanced technological applications of coding by implementing codes in a computer programming context. This will help to give students experience with how the codes they have learned about can be applied quickly and on large scales.

 

Rational

            For many students, there is a disconnect between math learned in the classroom and its application in the world outside of school.  Boaler[1] observes this mental detachment of students from this vital subject in many of her conversations with students.  Students’ inability to make real-world connections between in-school and out-of-school learning has led to the outsourcing of technically advanced and complex jobs to countries where students are more prepared to use what they have learned in novel contexts.

            As the world becomes more technologically advanced and our students fall father behind, it is imperative that we try to bridge the gap between ideas presented in school and their real world application to ensure the future success of students.  During our project, we will help our students become better equipped to use knowledge and resources gained in the classroom to undertake problems they see in the community around them. 

            In our society, keeping sensitive information secret has been a vital component of how we communicate with each other and the world.  To that end, we will help our students understand the impact of mathematics on cryptography.  Students will connect the ideas they learn in the classroom to a real-world problem and see how math has changed the face of coding theory as well as how it is used outside of the classroom.

            By reinforcing the utility of ideas presented in the school setting to problems faced by corporations, we will show students the value of being able to bring together ideas they learn with problems they face, and thus help them to see how what they are learning is applicable to the world outside of school.

 

 

Objectives

·        Students will be able to perform simple operations on matrices, such as adding two matrices, subtracting two matrices, and multiplying a matrix by a constant.

·        Students will be able to convert a message into a matrix, apply matrix operations to the matrix to get an encoded matrix. They will also be able to apply matrix operations to decode the matrix and then convert it into the original message.

·        The students should be able to program a computer to encrypt information, have a better understanding of the different encryption schemes and how they relate to each other, and gain an idea into the difficulty of breaking a code.

·         Students will be able to determine how easy it is to crack a message coded with a shift cipher.

·        Students will learn about frequency distributions and be able to use them to break codes.

·        Students will learn how to modify a shift cipher by using a stretch.

·        Students will be able to discuss the distributive property and why the order of operations is important.

 

 

 

Standards

TEKS

Algebra I

(A) Basic understandings:
(2) Algebraic thinking and symbolic reasoning. Symbolic reasoning plays a critical role in algebra; symbols provide powerful ways to represent mathematical situations and to express generalizations. Students use symbols in a variety of ways to study relationships among quantities.

(3) Function concepts. Functions represent the systematic dependence of one quantity on another. Students use functions to represent and model problem situations and to analyze and interpret relationships.

(4) Relationship between equations and functions. Equations arise as a way of asking and answering questions involving functional relationships. Students work in many situations to set up equations and use a variety of methods to solve these equations.

(5) Tools for algebraic thinking. Techniques for working with functions and equations are essential in understanding underlying relationships. Students use a variety of representations (concrete, numerical, algorithmic, graphical), tools, and technology, including, but not limited to, powerful and accessible hand-held calculators and computers with graphing capabilities and model mathematical situations to solve meaningful problems.


(B)  Foundations for functions: knowledge and skills and performance descriptions.

(1) The student understands that a function represents a dependence of one quantity on another and can be described in a variety of ways. Following are performance descriptions.

 

(C) Linear functions: knowledge and skills and performance descriptions.

 

(1) The student understands that linear functions can be represented in different ways and translates among their various representations. Following are performance descriptions.

(A) The student determines whether or not given situations can be represented by linear functions.

(B) The student determines the domain and range values for which linear functions make sense for given situations.

(C) The student translates among and uses algebraic, tabular, graphical, or verbal descriptions of linear functions.

 

(2) The student understands the meaning of the slope and intercepts of linear functions and interprets and describes the effects of changes in parameters of linear functions in real-world and mathematical situations. Following are performance descriptions.

 (C) The student investigates, describes, and predicts the effects of changes in m and b on the graph of y = mx + b.

 (F) The student interprets and predicts the effects of changing slope and y-intercept in applied situations.

 


(E) The student interprets and makes inferences from functional relationships.

(2) The student understands the importance of the skills required to manipulate symbols in order to solve problems and uses the necessary algebraic skills required to simplify algebraic expressions and solve equations and inequalities in problem situations.
 (3) The student understands how algebra can be used to express generalizations and recognizes and uses the power of symbols to represent situations. Following are performance descriptions.
(A) The student uses symbols to represent unknowns and variables.
(B) Given situations, the student looks for patterns and represents generalizations algebraically.

 

 

Algebra II

 

(C) Algebra and geometry: knowledge and skills and performance descriptions.

 

(1) The student connects algebraic and geometric representations of functions. Following are performance descriptions.

(B) The student extends parent functions with parameters such as m in y = mx and describes parameter changes on the graph of parent functions.

(C) The student recognizes inverse relationships between various functions.

 

 

Computer Science

(7)  Solving problems. The student uses appropriate computer-based productivity tools to create and modify solutions to problems. The student is expected to:

 (C)  develop sequential and iterative algorithms and codes programs in prevailing computer languages to solve practical problems modeled from school and community;

(D)  code using various data types;

Assessment Description

 

For our Final Assessment on our Cryptography Unit we plan on having the students work in groups of 3 to develop their own  scavenger hunts using Cryptography. We will give them a list of qualifications that their ciphers have to meet, and they will develop their own ciphers to encode the "clues" for the hunt. They will have to think about the difficulty of their cipher, that is how easy it is to decode it, and they will have to be able to encode the clues. We will then have them present their scavenger hunt to the class. After the presentations, we will integrate all the students ideas into one "super-hunt" and actually let the kids do the scavenger hunt, where they will have to decode messages to get to and from different stations.