CSE 664 Spring 2020: Applied Cryptography and Computer
Security
General Information
Class Schedule
- Tue Thu 11:00am - 12:20pm, Jan 27 - May 8, 2020
- Clemens Hall 221
Instructor
- Marina Blanton
- Email: mblanton at buffalo.edu
- Office: 333 Davis Hall
- Office hours: Tue 1:00-2:00pm, Fri 10:00-11:00am or by appointment
Textbooks
Textbook: - Jonathan Katz and Yehuda Lindell, Introduction to Modern
Cryptography, second edition, Chapman & Hall/CRC, 2014.
Additional resources:
- Alfred J. Menezes, Paul C. Oorschot, and Scott A. Vanstone, Handbook of Applied
Cryptography, CRC Press.
- Douglas R. Stinson, Cryptography: Theory and Practice,
CRC Press.
- William Stallings, Cryptography and Network Security, Principles and
Practice, Prentice Hall.
Course Objectives
The objectives of this course consist of developing deep understanding
of common cryptographic functionalities and their security objectives,
as well as be able to use them in practical security systems through
rigorous formulation of such functionalities and discussions of their
applications. Course assignments are designed to demonstrate
understanding of the security and cryptography principles and show the
ability to correctly use the concepts and their implementations to
meet security objectives of various systems. The course project
additionally includes a research component to demonstrate the ability
to build a complex security system and show that its security
objectives are properly met.
Course Description
This course provides rigorous treamtent of cryptographic techniques
used in computer security and is aimed at graduate students.
A tentative syllabus is:
- Week 1: Concepts and principles of cryptography; classical ciphers
- Week 2: Perfect secrecy; symmetric key encryption
- Week 3: Symmetric key encryption
- Week 4: Block ciphers and encryption standards (DES, AES)
- Week 5: Data integrity
- Week 6: Hash functions and applications
- Week 7: Number theory
- Week 8: Spring break
- Week 9: Public-key cryptography and RSA
- Week 10: Discrete logarithms and ElGamal
- Week 11: Digital signatures (DSA, RSA, ElGamal)
- Week 12: Material review; midterm exam
- Week 13: Elliptic-curve cryptography; authentication
- Week 14: Key exchange and other protocols (such as digital cash and
electronic voting, computing on encrypted data)
- Week 15: Additional protocols; project presentations
Grading
Grading for this course will be based on written homework assignments (HW), a
midterm exam (ME), and a course project (CP). Tentatively,
the grade will consist of 35% HW, 35% ME, and 30% CP. The exam is
currently scheduled for April 16.
There will be five written homeworks, and the instructor reserves the right to grade a subset of them. The current plan is to have the homeworks to be due on Feb 18, Mar 5, Mar 24, Apr 9, and Apr 30.
There will be one large project of your choosing (done in
teams of two or individually) that must use cryptographic techniques and include a programming component.
The project will be due during the last week of classes on May 5 and teams are
responsible for short in-class presentations of their projects on May 7. Each team will first submit a project proposal (due on Feb 25) and later a project progress report (due on Mar 31) to ensure continuing progress on the project.
You can expect that performance at 90% or higher earns an A, 80% or
higher earns a B, etc. The scale might be adjusted by the instructor (to lower the grade expectations)
if deemed necessary.
Assignment Policies
- Lectures. The use of electronic devices (laptops, tablets, phones) is not permitted during class time other than for class-related activities such as taking class notes.
- Lectures. Lecture attentance is required. The instructor will not repeat material presented in class or answer questions answered in class.
- Assignments. All homework is due at the beginning of the class at 11:00am.
- Assignments. All assignments must be done individually unless announced otherwise; no collaboration on solving or writing assignments.
- Assignments. Searching for homework answers online is not permitted.
- Assignments. The use of any external resourced should be properly documented
immediately after the question (i.e., not at the end of the homework)
and the nature of the help the document provided (e.g., it was an
information source such as a Wikipedia article, it provided a partial
answer, or it provided a full answer).
- Assignments. If you come across an answer to a homework question online, you
receive 70% of the question's credit.
- Assignments. Homeworks will be due in class and must be typed (diagrams can
be hand-drawn).
- Late submissions. Each student receives three days that can be used to turn
assignments in late. Whenever using one or more of these days on an
assignment, you must communicate this to the instructor prior to the
deadline. Each extra day extends the deadline by 24 hours. Homework then
can be submitted by e-mail and is also due at 11:00am.
- Late submissions. No late assignments beyond the three extra days is accepted.
- Exam.The midterm exam is open notes, open books, but no electronic
devices.
- Grading. Homework or exam regrade requests need to be submitted within two weeks of releasing the graded material to the class. The request needs to be in writing clearly describing the error in grading.
- Course materials. Sharing of the course materials provided by the instructor with
someone who is not currently enrolled in this course or in a forum
accessible to someone not currently enrolled in this course is not
allowed without the instructor's permission.
Academic Integrity
Computer science, as a profession, requires us to seek truth not only in
scientific discoveries, but also in dealing with the public, as the public
depends on our expertise and honesty to construct their computing
infrastructure. Thus, competence and trust are essential to being a scholar
and a computing professional in particular.
Your instructor will treat you as a professional, and you should plan on
conducting yourself in an appropriate way. No behavior that compromises
academic honesty (such as use of someone else's work or code, using
prohibited materials during tests, or making your work available to others)
will be tolerated in this course. If you need assistance with anything, do
not hesitate to contact the instructor.
It is expected that your work represents your own understanding of the
problem. If work of others is used, it must be properly cited. Use of
properly cited material is acceptable, but no referencing is treated as
claiming the work as your own.
Academic integrity is a fundamental university value. Through the honest completion of academic work, students sustain the integrity of the university and of themselves while facilitating the university's imperative for the transmission of knowledge and culture based upon the generation of new and innovative ideas.
Academic dishonesty will not be tolerated in this course. It is the
CSE policy that each case of academic integrity violation is recorded.
The standing policy of the department is that all students involved in
an academic integrity violation will receive an F grade for the
course. Repeated violations always result in a failure in the course
with possibly more severe actions imposed by the university.
For more information, please refer to the CSE academic integrity policy,
UB academic integrity policy, and UB graduate
academic integrity policy.
Accessility Resources
If you have any disability which requires reasonable accommodations to enable you to participate in this course, please contact the Office of Accessibility Resources in 60 Capen Hall, 716-645-2608 and also the instructor of this course during the first week of class. The office will provide you with information and review appropriate arrangements for reasonable accommodations, which can be found on the web at: http://www.buffalo.edu/studentlife/who-we-are/departments/accessibility.html.
Detailed Course Schedule
Homework assignments and other course-related materials not posted on
this web page are available through UBlearns.
|
Tuesday |
Thursday |
Week 1 (Jan 27 - 31) |
- Lecture: Introduction
- Recommended reading: Sections 1.1-1.2 and 1.4
- Assigned reading: Section 1.3; UB and CSE academic integrity policies
- Additional resources: How to start with
LaTeX, background exercises
|
|
Week 2 (Feb 3 - 7) |
- Lecture: Perfect Secrecy (cont.)
|
|
Week 3 (Feb 10 - 14) |
- Lecture: Symmetric Encryption (cont.), PRG exercises
|
|
Week 4 (Feb 17 - 21) |
- Lecture: Symmetric Encryption II (cont.), sym. encryption exercises
|
|
Week 5 (Feb 24 - 28) |
- Lecture: Data Integrity
- Recommended reading: Sections 4.1-4.4
- Homework 2 is assigned
|
- Lecture: Hash Functions
- Recommended reading: Sections 5.1-5.2, 5.4-5.5, and 6.3
|
Week 6 (Mar 2 - 6) |
- Lecture: Hash Functions (cont.), hash function exercises
|
- Lecture is canceled
- Homework 3 is assigned
|
Week 7 (Mar 9 - 13) |
|
- Lecture: Number Theory II
- Recommended reading: Sections 8.1-8.2 (partially), Appendix B.2
(partially)
- Project progress report is assigned
|
Week 8 (Mar 16 - 20) |
|
|
Week 9 (Mar 23 - 27) |
|
- Lecture: Security of RSA
- Recommended reading: Section 11.5 (except starred subsections)
|
Week 10 (Mar 30 - Apr 3) |
|
|
Week 11 (Apr 6 - 10) |
|
|
Week 12 (Apr 13 - 17) |
- Lecture: Material overview
|
|
Week 13 (Apr 20 - 24) |
|
|
Week 14 (Apr 27 - May 1) |
- Lecture: Midterm review
- Project reports are assigned
|
|
Week 15 (May 4 - 8) |
|
|