csc5930/9010 - Modern Cryptography

Instructor: Dr. Henry Carter (henry.carter 'at'
Location: Mendel G88
Meeting Times: M 18:15 - 21:00
Credits: 3
Prerequisites: CSC 1700 or equivalent (CSC 4170 recommended)
Office: Mendel 162 A, (610)519-5412
Office Hours: Mon 16:30-18:00, Wed 16:30-18:00, or by appointment
Schedule: click here


Cryptography is a foundational tool that is used everyday to maintain the security and correctness of information on computing systems and networks. While it has historically been developed using ad-hoc tools and artistry, modern cryptography has developed into a rigorous theoretical discipline to provide strong guarantees of security in computer applications. This is a senior-level undergraduate and graduate-level introduction to modern cryptography. We will take a formal approach to applying theoretical primitives such as pseudorandom functions, trapdoor functions, and cryptographic hashes to build provably secure encryption, digital signature, and integrity verification constructions. Upon completing this course, students will have a foundational understanding of how cryptographic constructions can be proven secure and how to analyze real-world applications of cryptography to verify their security guarantees. This is a theory course, so students are expected to be comfortable writing mathematical proofs. It is also strongly recommended that students have background knowledge in basic computational theory and number theory.

Topics covered include Shannon secrecy, symmetric encryption modes, block ciphers, pseudorandom functions, message authentication codes, secure hash functions, discrete logarithm and related cryptographic problems, asymmetric encryption, digital signatures, and other emerging topics.

A student who completes this course will achieve the following objectives:

  • Establish an understanding of cryptographic definitions of security, hardness assumptions, and proofing techniques.
  • Establish an understanding of symmetric key cryptographic primitives for providing message confidentiality and integrity.
  • Establish an understanding of public key cryptographic primitives as well as the underlying number theoretic principles.
  • Demonstrate ability to construct and prove the security of a cryptographic application, as well as analyze the security of real-world cryptographic application.

Most of the course readings will come from the following book, with some additional papers assigned for readings and as reference material.

  • Katz and Lindell, Introduction to Modern Cryptography, 2nd edition (available at Amazon)

A detailed list of lectures, readings, assignments, due dates (subject to change as the semester evolves) is available on the course schedule.


Students will be evaluated based on the following breakdown:

  • 20% Quizzes
  • 25% Midterm
  • 30% Final
  • 20% Class Project
  • 5% Class Participation

Scale: F ≤ 50 < D- ≤ 54 < D ≤ 59 < D+ ≤ 63 < C- ≤ 67 < C ≤ 71 < C+ ≤ 75 < B- ≤ 79 < B ≤ 83 < B+ ≤ 87 < A- ≤ 91 < A


The instructor will assign homework from the textbook on a periodic basis for topics associated with the class. The content and due dates of these assignments will be finalized over the course of the semester. If you cannot attend a lecture, contact other students to see if any assignments have been made and consult the syllabus. While none of these homework assignments will be graded, they will be the source of quiz questions that will be graded.


A 10-minute quiz will be given every other week based on the previously assigned homework problems. It is strongly suggested that students do the reading prior class, as a good percentage of their grade will depend on them. Quizzes missed because of absences can not be made up unless arrangements are made with the instructor prior to the course meeting. Your lowest quiz grade for the semester will be dropped, with this portion of your grade being calculated as the average of the remaining quiz grades.


The course will include one midterm and one final exam. Students will be responsible for material covered both in the readings AND lectures. Attendance is therefore recommended as not all class discussions will be covered in the text.

Course Project

The course project will provide students the opportunity to explore cryptographic constructions not covered in class. Each student will have the opportunity to either write a survey of a more advanced topic in cryptography or analyze an actual cryptographic construction and demonstrate a security vulnerability using the proofing techniques covered in class. For either option, the student will present a brief presentation to the rest of the class summarizing their studies, as well as a project write up that will be graded on: depth, correctness, clarity of presentation, and effort.

Class Participation

To do well in this course, students must take active and regular roles in discussion and demonstrate comprehension of the reading and lecture themes. Students are required to do the assigned reading before class. This will be closely monitored by Professor Carter, thereby making a student's ability to demonstrate their comprehension of assigned reading essential to receiving a passing grade.

Lateness Policy

Assignments and projects are assessed a 15% per-day late penalty, with a maximum of 3 days, after which the assignment will receive no credit. Unless the problem is apocalyptic, don't give me excuses. Students with legitimate reasons who contact the professor before the deadline may apply for an extension.

Disabilities and Learning Support

It is the policy of Villanova to make reasonable academic accommodations for qualified individuals with disabilities. You must present verification and register with the Learning Support Office by contacting 610-519-5176 or at Accommodations cannot be made until verification is delivered to the professor, and cannot be enacted retroactively. For physical access or temporary disabling conditions, please contact the Office of Disability Services at 610-519-4095 or email Registration is needed in order to receive accommodations.

Academic Integrity Policy

All students are expected to uphold Villanova's Academic Integrity Policy and Code. Any incident of academic dishonesty will be reported to the Dean of the College of Liberal Arts and Sciences for disciplinary action. For the College's statement on Academic Integrity, you should consult the Enchiridion. You may view the university's Academic Integrity Policy and Code, as well as other useful information related to writing papers, at the Academic Integrity Gateway web site

Absences for Religious Holidays

Villanova University makes every reasonable effort to allow members of the community to observe their religious holidays, consistent with the University’s obligations, responsibilities, and policies. Students who expect to miss a class or assignment due to the observance of a religious holiday should discuss the matter with their professors as soon as possible, normally at least two weeks in advance. Absence from classes or examinations for religious reasons does not relieve students from responsibility for any part of the course work required during the absence. See the full University policy here.