Math 485:  Mathematical Cryptography

Reading Assignments

Homework Assignments

Grades (BYU Learning Suite)

SAGE server

Link to substitution/affine cipher applet

Link to Vigenère applet

Link to alphabet conversion applet

Link to one time pad tool

SAGE examples replacing Appendix B of the textbook: Chapter 3,Chapter 6, Reference sheet (includes continued fractions), Chapter 16

SAGE worksheets from class demonstrations: Continued fraction low exponent attack, Factoring methods

Instructor:  Paul Jenkins
Office:  282 TMCB, 801-422-5868
Email:  jenkins@math.byu.edu (for most questions) or jenkinsbyumath485@gmail.com (for turning in homework only)
Lecture:  1:00-1:50 PM MWF, 136 TMCB
Office hours:  3:00-3:50 PM MWF or by appointment
TA: DJ Thornton, chief.crocman@gmail.com
TA office hours: TTh 3-3:50 in 149 TMCB computer lab
Textbook:  Introduction to Cryptography with Coding Theory, Second Edition, Wade Trappe and Lawrence C. Washington, Pearson Prentice Hall, ISBN 0-13-186239-1. Please note the list of known errors in the textbook online at http://www.math.umd.edu/~lcw/cryptoerrata2.pdf and mark your book accordingly if you wish.

Grading:  Homework and projects 30%, reading assignments 10%, two midterms 15% each, final exam 30%. Grades will be available on BYU Learning Suite.

Exams:  Two midterm exams in the testing center on October 2-6 and November 13-17.  A study guide for the first exam is available here. A study guide for the second exam is available here. The final exam will be a take home exam, due at the scheduled final exam time (11:00 AM, Wednesday December 16).  The final exam will cover all material studied this semester.
Homework:  Homework will be due on Mondays, Wednesdays, and Fridays at 4:30 PM in the box outside my office door, or submitted by email to jenkinsbyumath485@gmail.com.  Homework assignments will be posted on the course website.  Your homework should be neat and should include enough detail that another student from the class could follow your arguments.  Homework that is not stapled, is excessively sloppy, or is written on paper torn from a spiral notebook may receive less than full credit.  Late homework will not be accepted.  Working in groups on homework is encouraged, but each student should write up each problem, without looking at other students’ written solutions.  The three homework assignments with the lowest score will be dropped.  There will also be larger projects assigned from time to time; details will be announced in class and will appear on the course website. Project scores may not be dropped.

Prerequisites:  Math 313 (linear algebra) or equivalent, or instructor's consent. Math 371 is recommended. Some prior experience with programming and with a computer algebra system such as Sage, Maple, or Mathematica is desirable, but not essential.

Course Description: This is a course in the mathematics and algorithms of modern cryptography. It complements, rather than being equivalent to, the CS course on Computer Security (CS 465) and the IT courses on Encryption and Compression (IT 531), Information Assurance and Security (IT 466), and Cyber Security and Penetration Testing (IT 567).

Minimal Learning Outcomes: The student should gain a understanding of the following topics. In particular this includes knowing the definitions, being familiar with standard examples, and being able to solve mathematical and algorithmic problems by directly using the material taught in the course. This includes appropriate use of Sage, Maple, Mathematica, or other software.

  1. Classical systems, including
  2. Elementary number theory as follows.
  3. The DES and AES encryption standards
  4. RSA and its strengths and weaknesses; attacks on RSA
  5. Primality testing algorithms
  6. Factorization techniques
  7. Discrete logarithms, Diffie-Hellman key exchange, ElGamal

Additional topics may include, but are not limited to: Elliptic curve cryptography, birthday attacks and probability, quantum cryptography (key distribution, Shor's algorithm), hash functions, digital signatures, secret sharing, and lattices and lattice algorithms (the LLL algorithm, NTRU system, lattice attacks on RSA).

This is a 3 credit class.  The BYU Catalog states that “The expectation for undergraduate courses is three hours of work per week per credit hour for the average student who is appropriately prepared; much more time may be required to achieve excellence.”  Thus, an average student should expect to spend at least 6 hours per week outside of lecture on working problems, reading the textbook, reviewing concepts, and completing assignments.

Electronic devices:  Computers will be necessary to complete some homework problems.  On exams, only testing center calculators may be used.  Do not use mobile phones or permit them to ring during class. Office hours will be held by the TA in the computer lab in 149 TMCB on Tuesdays and Thursdays from 3:00 to 3:50 to answer computer questions.

Preventing Sexual Harassment:  Title IX of the Education Amendments of 1972 prohibits sex discrimination against any participant in an educational program or activity that receives federal funds. The act is intended to eliminate sex discrimination in education and pertains to admissions, academic and athletic programs, and university-sponsored activities.  Title IX also prohibits sexual harassment of students by university employees, other students, and visitors to campus.  If you encounter sexual harassment or gender-based discrimination, please talk to your professor, contact the Equal Employment Office at 801-422-5895 or 1-888-238-1062 (24 hours) or http://www.ethicspoint.com, or contact the Honor Code Office (4440 WSC) at 801-422-2847.

Students with Disabilities:  BYU is committed to providing reasonable accommodation to qualified persons with disabilities.  If you have any disability that may adversely affect your success in this course, please contact the University Accessibility Center office (2170 WSC) at 801-422-2767.  Services deemed appropriate will be coordinated with the student and instructor by that office.

Honor Code:  In keeping with the principles of the BYU Honor Code, students are expected to be honest in all of their academic work.  Academic honesty means, most fundamentally, that any work you present as your own must in fact be your own work and not that of another.  Violations of this principle may result in a failing grade in the course and additional disciplinary action by the university.  Students are also expected to adhere to the Dress and Grooming Standards.  It is the university's expectation, and my own expectation in class, that each student will abide by all Honor Code standards.  Please call the Honor Code Office (4440 WSC) at 801-422-2847 if you have questions about those standards.