Back to home


CSCE 4050/5050 - Applications of Cryptography - Spring 2024

Class hours: Thursdays, 5:30-8:20pm, in NTDP B155
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):
  • Niveditha Sree Pendli, office hours TBA
    Email: NivedithaSreePendli [at] my [dot] unt.edu
  • Rasool Malik Vempalli, office hours TBA
    RasoolMalikVempalli [at] my [dot] unt.edu

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 18): Course overview, historical ciphers, mathematical background

  • Lecture 2 (Jan 25): One-time pad and stream ciphers

  • Lecture 3 (Feb 1): Pseudorandom generators

  • Lecture 4 (Feb 8): Block ciphers

  • Lecture 5 (Feb 15): Block cipher modes of operation

  • Lecture 6 (Feb 22): Data integrity, message authentication codes (MACs),
    and cryptographic hash functions

  • Lecture 7 (Feb 29): Authenticated encryption

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

  • Spring Break (no class on Mar 14)

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

  • Lecture 10 (Mar 28): Public-key encryption

  • Lecture 11 (Apr 4): Digital signatures and identification schemes

  • Lecture 12 (Apr 11): Public-key infrastructure, authenticated key exchange and TLS

  • Lecture 13 (Apr 18): Identification protocols and secure login
    Overview of quantum cryptanalysis and post-quantum cryptography

  • Lecture 14 (Apr 25): Blockchain and cryptocurrencies

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

  • May 9 (Thu), 4:00-6:00pm: 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: January 12, 2024