Back to home


CSCE 4050/5050 - Applications of Cryptography - Spring 2022

Class hours: Thursdays, 5:30-8:20pm, in NTDP K110
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 at 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 20): Course overview, historical ciphers, mathematical background

  • Lecture 2 (Jan 27): One-time pad, stream ciphers and pseudorandom generators

  • --------- (Feb 3): Class canceled

  • Lecture 3 (Feb 10): Block ciphers

  • Lecture 4 (Feb 17): Block cipher modes of operation

  • Lecture 5 (Feb 24): Data integrity and message authentication codes (MACs)

  • Lecture 6 (Mar 3): Review of the material covered so far

  • Lecture 7 (Mar 10): Midterm Exam (1st half);
    Review of the Midterm Exam (2nd half)

  • Spring Break (no class on Mar 17)

  • Lecture 8 (Mar 24): Data integrity and cryptographic hash functions; authentication encryption

  • Lecture 9 (Mar 31): Overview of key exchange, public-key encryption, and their mathematical background

  • Lecture 10 (Apr 7): Public-key encryption

  • Lecture 11 (Apr 14): Digital signatures and identification schemes; public-key infrastructure

  • Lecture 12 (Apr 21): Authenticated key exchange and TLS; identification protocols and secure login

  • Lecture 13 (Apr 28): Blockchain and cryptocurrencies

  • Lecture 14 (May 5): Advanced cryptographic functionalities: homomorphic encryption and secure multi-party computation
    Review of the course material

  • May 7 (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: March 15, 2022