Math 314: Cryptography

Spring 2021


Important Links

Instructor and Meeting Times

Instructor: Nathan McNew
Office hours: Tuesdays and Thursdays 4:00-5:30, and by appointment
Office: 326 (2 × 163) 7800 York Road
Lecture: Section 001: Tuesday and Thursday 11:00--12:15
Section 001: Tuesday and Thursday 12:30--1:45

Note that you do not need an appointment to attend regularly-scheduled office hours. If you have a conflict you may make an appointment to meet outside those times.

Course Description and Objectives

Course description:
A broad introduction to cryptography and its mathematical foundations. The course will also cover applications to computer-network security services and mechanisms (confidentiality, integrity, authentication, electronic cash, and others), and to various protocols in distributed computation.

Course objectives: The course provides a broad overview of the mathematical basis of modern cryptography and presents the main cryptosystems currently in use. Students are exposed to relevant chapters of number theory and computational number theory (modular arithmetic, finite fields, primality testing, quadratic residues, discrete logarithms, and others) at the undergraduate level. The course covers the most important cryptosystems (AES, RSA) and the basic tools used in building security mechanisms (one-way functions, hash functions, message authentication codes, pseudo-random generators, bit commitment, hash functions, etc.). Some basic principles of cryptanalysis are presented as well. At the end of the course, students will have a good understanding of the theoretical foundations of cryptography and of the basic techniques for achieving different cryptographic services.

Prerequisites: COSC 236, either MATH 263 or MATH 267, and concurrent or previous completion of MATH 330 or MATH 331.

Method of Instruction

This class will be taught fully online, in a flipped format. This means:
  • Students will come to class having read the week’s assigned material.
  • Students will come to class having solved (or having attempted to solve) individually the Reading Questions.
  • During the first class of the week, the instructor will present a short 5-15 minute overview of important topics.
  • On (or before) the first class of the week, the instructor will distribute a hand-out (electronically) with examples and key notes.
  • During the first class of the week, once the instructor introduction is complete, the students will work in groups to refine their answers to the Reading Questions.
  • In the second class of the week students will work in groups on the Discussion Questions.
  • Each week will include either individual homework assignments or group projects.

Textbook: A Course in Cryptography by Heiko Knospe (Physical and e-book can be purchased here.

Discussion Board: There is a discord site: The instructors will be available to answer public questions on the discussion board as schedule permits. Students with private questions should take them to Office Hours or email directly to the instructor.

SageMath Quick Reference and Python quick intro.

Assignments and Projects

All assignments for this course will be submitted to Gradescope or CoCalc. Assignments may require submissions to both. Students will receive email instructions on how to sign up for each. Many assignments will require students to submit computer programs, which should be written in SageMath or Python 3.7.

Expect to spend a substantial amount of time studying and working on homework. The general rule is two to three hours outside class for each hour inside; this translates to about 6-9 hours of homework and personal study per week outside of class.

Quizzes will be given periodically covering aspects of the assigned reading and homework assignments.


There are two scheduled exams: a midterm, held during class time, and the final exam.

Midterm Final Exam
Thursday April 8th (tentative) Thurday, May 13 12:30--2:30 pm Section 001
Tuesday, May 18 12:30--2:30 pm Section 002

If you have a conflict with a scheduled exam contact your instructor as soon as possible.


Grades will be assigned based on homework, quizzes and exams. They will be weighted in the students final grade as follows:

Reading Questions, Quizzes 15%
Group Discussion Questions, Participation 15%
Individual Homework 15%
Group Projects 15%
Midterm 15%
Final Exam 25%

Academic Integrity

Academic Integrity: This class is conducted in accordance with the Academic Integrity Policy. Cheating or plagiarism in any form is unacceptable. In particular:

On Exams: No assistance may be given or received except that you may ask the instructor for clarification of a problem.

On Individual homework: You are permitted and encouraged to collaborate with other students on the homework. However, after discussing the problems, you must write up the final solutions in your own words. You may use calculators and approved software. Additionally, you may consult your class notes and text. It is not permitted for someone to provide the answers for you.

On Group assignments: Group assignments can be discussed with members of your group, but not with other groups or anyone outside class. It is expected that all members of the group contribute to the final submitted assignment.

On Programming assignments: Many assignments will require the development of a computer program. Students may use code from external sources provided the original source is explicitly credited. A note with a URL to the source is sufficient. Although copying and properly crediting the code that has been copied is not an academic integrity violation, it may result in a lower grade on an assignment if students were instructed to write the code themselves.

It is not permitted to submit answers found on the internet as your own work.

The following provides examples of things which would and would not constitute academic dishonesty in this course:
Examples of things that are not academic dishonesty:

  • A student submitting original work done alone or with the help of the instructor.
  • Students solving as a group a problem and then writing the solution up individually, but identifying members of the group they worked with on the assignment.
  • A student using internet resources for help on notation or syntax for code.
Examples of things which constitute academic dishonesty:
  • Submitting work, solutions or code found on the internet (such as homework help sites, forums, or coding websites).
  • Posting requests on the internet for help or solutions to course assignments. (Come to office hours instead!)
  • A student copying another student's solution and submitting it as their own (with or without that person’s knowledge, regardless of the circumstances under which it was obtained, copied, or modified.)
  • A student allowing someone else to submit their work, or a modification of it.
Students found to have committed academic dishonesty will fail the assignment on which the dishonesty occurred and may receive a lower grade or fail the course at the discretion of the instructor. All violations of these standards will be referred to the administration for possible additional action.

Disabilities and Religious Observances

Any students with disabilities, including "invisible" disabilities such as chronic diseases and learning disabilities are encouraged to discuss appropriate accommodations with the instructor, either after class or during office hours.

Towson University is committed to providing equal access to its programs and services for students with disabilities, Students with disabilities should visit the Disabilities Services Web page, to learn about how to arrange for any appropriate accommodations. It is the student's responsibility to let the instructor know when he/she is a student with needs in this area. A memo from Disability Support Services (DSS) authorizing your accommodations will be needed.

If you have a religious observance that conflicts with your participation in the course, please meet with me before the end of the second week of the term to discuss appropriate accommodations.

Course Policies

Class attendance is expected. If you miss a class, it is your responsibility to get the material and the homework assignment from your fellow students.

Diversity Statement: Towson University values diversity and fosters a climate that is grounded in respect and inclusion, enriches the educational experience of students, supports positive classroom and workplace environments, promotes excellence, and cultivates the intellectual and personal growth of the entire university community.

Last modified 24 January 2021.