CSCE 4050/5050 - Applications of Cryptography - Spring 2023
Class hours: Thursdays, 5:30-8:20pm, in NTDP E266
Instructor: Kirill Morozov (Department of Computer Science and Engineering)
Office hours*: Tuesdays and Thursdays, 4:00-5:00pm, or by appointment.
E-mail: Kirill [dot] Morozov [at] unt.edu
Teaching assistant(s): TBA
Office hours*: TBA
E-mail: TBA
|
Course Description
This course aims at introducing fundamentals of cryptography and their applications. The knowledge gained from this course will enable students to apply cryptographic algorithms as building blocks for designing secure solutions.
|
Course webpage
All lectures, assignments, and other materials will be posted in Canvas.
Submission of assignments must be made via Canvas as well.
Note: For all communications with instructors and TAs, the subject of your e-mails must start with "CSCE 4050" or "CSCE 5050".
|
Reference books (recommended)
Supplementary reading:
- D.R. Stinson and M. Paterson: "Cryptography: Theory and Practice", 4th Edition, CRC Press, 2018.
- J. Katz and Y. Lindell: "Introduction to Modern Cryptography" (2nd Edition), Chapman & Hall/CRC, 2015.
- N. Ferguson, B. Schneier, and T. Kohno: "Cryptography Engineering: Design Principles and Practical Applications", Wiley, 2010.
|
Prerequisites
CSCE 2100 and CSCE 2110, or approval of instructor.
|
Course schedule*
- Lecture 1 (Jan 19): Course overview, historical ciphers, mathematical background
- Lecture 2 (Jan 26): One-time pad, stream ciphers and pseudorandom generators
- Class canceled (Feb 2)
- Lecture 4 (Feb 9): Block ciphers
- Lecture 5 (Feb 16): Block cipher modes of operation
- Lecture 6 (Feb 23): Data integrity and message authentication codes (MACs)
- Lecture 7 (Mar 2): Data integrity and cryptographic hash functions
Review of the material covered so far
- Lecture 8 (Mar 9): Midterm Exam (1st half);
Review of the course material (2nd half)
-
Spring Break (no class on Mar 16)
- Lecture 9 (Mar 23): Authentication encryption
- Lecture 10 (Mar 30): Overview of key exchange, public-key encryption, and their mathematical background
- Lecture 11 (Apr 6): Public-key encryption
- Lecture 12 (Apr 13): Digital signatures and identification schemes
- Lecture 13 (Apr 20): Public-key infrastructure, authenticated key exchange and TLS
- Lecture 14 (Apr 27): Identification protocols and secure login
Overview of quantum cryptanalysis and post-quantum cryptography
- Lecture 15 (May 4): Blockchain and cryptocurrencies
Advanced cryptographic functionalities: homomorphic encryption and secure multi-party computation
- May 6 (Sat): Final Exam
|
Grading*
- Homeworks – 40%
- Programming projects – 15%
- Mid-term exam – 20%
- Final exam – 25%
|
Course Policies
-
Grading: Assignments may be submitted up to 3 days late, with a penalty of 15% for each day.
No credit will be given after 3 days.
-
Academic Integrity: Cheating in exams/assignments, plagiarism in exams/assignments, collusion and falsification of academic records constitute academic dishonesty.
Students are responsible for being familiar with UNT’s Students Academic Integrity Policy: https://policy.unt.edu/policy/06-003.
Cheating/collusion/plagiarism in assignments/exams will result
in zero credit for them, possible “F” grade for the course, and possible disciplinary action.
-
Students with Disabilities: Students in need of academic accommodations for disability can refer
to the Office of Disability Access for initiating the required arrangements based on ADA terms.
Also, such the students are welcome to arrange an appointment with me to discuss their special needs for academic accommodation (to ensure confidentiality).
|