Back to home


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).

* Subject to possible changes.


Back to home



Last modification: February 3, 2023