Back to home


CSCE 4050/5050 - Applications of Cryptography - Spring 2021

Class hours: Thursdays, 5:30-8:20pm, in NTDP K120
Instructor: Kirill Morozov (Department of Computer Science and Engineering)
Office hours*: Tuesdays and Thursdays 1:00-2:00pm via Zoom (Link TBA), 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, the subject of your e-mails must start with "CSCE 4050" or "CSCE 5050".

Reference books (recommended)

Supplementary reading:
  • D.R. Stinson, 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.

Prerequisites

CSCE 2100 and CSCE 2110, or approval of instructor.

Course schedule*

  • Lecture 1 (Jan 14): Course overview, historical ciphers, mathematical background

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

  • Lecture 3 (Jan 28): Block ciphers

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

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

  • Lecture 6 (Feb 18): Data integrity and cryptographic hash functions

  • Lecture 7 (Feb 25): Authenticated encryption;
    Review of the material covered so far

  • Lecture 8 (Mar 4): Overview of practical implementations and their security (1st half);
    Midterm Exam (2nd half)

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

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

  • Lecture 11 (Mar 25): Digital signatures and identification schemes

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

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

  • Lecture 14 (Apr 15): Blockchain and cryptocurrencies

  • Lecture 15 (Apr 22): Advanced cryptographic functionalities:
    homomorphic encryption, secret sharing, and secure multi-party computation;
    Review of the material covered in the course

  • Apr 29 (Thu): Final Exam

Grading*

  • Attendance – 5%
  • Homeworks – 35%
  • 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: December 15, 2020