CSE 664 Spring 2018: Applied Cryptography and Computer
Security
General Information
Class Schedule
 Tue Thu 11:00am  12:20pm, Jan 29  May 11, 2018
 Alumni Arena 90
Instructor
 Marina Blanton
 Email: mblanton at buffalo.edu
 Office: 333 Davis Hall
 Office hours: Mon 3:004:00pm, Thu 10:0010:50am 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: Publickey cryptography and RSA
 Week 10: Discrete logarithms and ElGamal
 Week 11: Material review; midterm exam
 Week 12: Digital signatures (DSA, RSA, ElGamal)
 Week 13: Ellipticcurve 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 homework assignments (HW), a
midterm exam (ME), and a course project (CP). Tentatively,
the grade will consist of 30% HW, 35% ME, and 35% CP. The exam is
tentatively scheduled for April 12.
Three sets of homeworks will be graded, more homeworks will be
assigned, but not graded. Homeworks might include programming
components. There will be one large project of your choosing (done in
teams of two or individually) that must use cryptographic techniques.
The project will be due during the last week of classes and teams are
responsible for short inclass presentations of their projects.
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
if deemed necessary.
Assignment Policies
 All homework is due at the beginning of the class at 11:00am.
 All homeworks must be done individually unless announced otherwise.
 Discussion of homeworks is acceptable until you begin to formulate
individual solutions.
 Writing homeworks must be done individually.
 Any external source that aided homework preparation must be clearly
referenced.
 Homeworks must be typed (diagrams can be handdrawn).
 Each student receives two days that can be used to turn
any assignment 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 email and is also due at 11:00am.
 No late assignment beyond the two extra days is accepted.
 The midterm exam is open notes, open books, but no electronic
devices.
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 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, unless the instructor recommends a lesser penalty for the
first instance of academic integrity violation for the student in
question.
Additional information about the CSE policies can be found here;
UB academic integrity policies are available here; and UB graduate
school guidelines can be found here.
Detailed Course Schedule
Homework assignments and other courserelated materials not posted on
this web page are available through UBlearns.

Tuesday 
Thursday 
Week 1 (Jan 29  Feb 2) 


Week 2 (Feb 5  9) 

 Lecture: Symmetric Encryption (cont.), PRG exercises
 Project proposal is assigned (due on Feb. 20)

Week 3 (Feb 12  16) 

 Lecture: Symmetric Encryption II (cont.), PRF exercises
 Graded homework 1 is assigned
 Assigned reading: Section 6.2

Week 4 (Feb 19  23) 
 Lecture: sym. encryption exercises, DES
 Project proposal is due


Week 5 (Feb 26  Mar 2) 
 Lecture: Data Integrity
 Recommended reading: Sections 4.14.4
 Homework 1 is due

 Lecture: Hash Functions
 Recommended reading: Sections 5.15.2, 5.45.5, and 6.3
 Practice homework 2 is assigned

Week 6 (Mar 5  9) 
 Lecture: Hash Functions (cont.), hash function exercises


Week 7 (Mar 12  16) 
 Lecture: Number Theory
 Recommended reading: Section 8.1.1, Appendix B.1

 Lecture: Number Theory II
 Recommended reading: Sections 8.18.2 (partially), Appendix B.2
(partially)
 Project progress report is due

Week 8 (Mar 19  23) 


Week 9 (Mar 26  30) 
 Lecture: Number Theory II (cont.)
 Homework 2 is assigned


Week 10 (Apr 2  6) 
 Lecture: Security of RSA
 Recommended reading: Section 11.5 (except starred subsections)


Week 11 (Apr 9  13) 
 Lecture: Material overview


Week 12 (Apr 16  20) 
 Lecture: Midterm review
 Practice homework 3 is assigned


Week 13 (Apr 23  27) 
 Lecture: Elliptic Curves
 Recommended reading: Section 8.3.4
 Homework 3 is assigned

