Skip to content

Foundations of Computer Security

CSC364 - Fall 2026

Overview

This course is an introduction to computer security. It covers the principles and practice of designing secure systems, with topics including cryptography, operating system security, network security, and software security. Students will learn to build, reason about, and analyze secure systems, while also examining how real-world systems break in practice through vulnerabilities, exploits, and attacks. The course serves as an entry point for undergraduates and provides the foundation for advanced courses in applied cryptography, systems and network security, and machine learning security.

Course Information

This year the course is offered in two sections (same lectures and course material, shared assignments and exams).

  • Instructors: Prof. Anwar Hithnawi (LEC0101) · Prof. Thomas Ristenpart (LEC0201)
  • TAs: Ashwin Karthikeyan, Nikolay Avramov, Ziyang Jin, ...
  • E-mail: csc364-2026-09@cs.toronto.edu
  • Lectures:
    • LEC0101: Mondays, 9:00–11:00 AM · WI 1016
    • LEC0201: Mondays, 11:00 AM–1:00 PM · SS 2135
  • Discussions & Tutorials:
    • LEC0101: Wednesdays, 10:00–11:00 AM · KP 108
    • LEC0201: Wednesdays, 11:00 AM–12:00 PM · KP 108
  • TA Office Hours: Wednesdays, 1:00 PM–2:00 PM · BA 5287

Important Links

Course Evaluation

  • Homeworks (10%)
  • Projects (20%)
  • Midterm Exam (30%) - (October 21, during the discussion session)
  • Final Exam (40%) - (December TBD at TBD)

Textbooks

There is no single required textbook for this course. We will rely heavily on the Berkeley Introduction to Security Textbook.
For the cryptography portion of the course, we will use A Graduate Course in Applied Cryptography. Exact sections and reading materials will be specified in the course schedule. Optional readings are recommended for deeper understanding but will not be part of the exam.

Assignments

There will be four written homework assignments and two programming projects. Homework needs to be done individually. Both programming projects may be completed in pairs. Late submissions are subject to the following policy: students may request up to three days of extension without penalty; beyond this, a deduction of 20% will be applied for each additional day late.

AssignmentsAnnouncedDue
Homework 1Sep 21Oct 5
Project 1: Secure Messaging SystemSep 28Oct 19
Homework 2Oct 5Oct 19
Homework 3Nov 9Nov 23
Project 2: Vulnerability Detection ToolNov 2Nov 30
Homework 4Nov 23Dec 7

Schedule and Readings

This schedule is tentative and subject to updates throughout the semester.

#WeekLecture (Mon)Discussion (Wed)Readings
1Sep 14Introduction & Security PrinciplesTutorial: Math foundations for cryptography IRequired Reading:
  1. Ch. 1.
Optional Reading:
  1. Reflections on Trusting Trust
2Sep 21Introduction to Cryptography & Symmetric Crypto FoundationsTutorial: Math foundations for cryptography IIRequired Reading:
  1. Computer Security Textbook — Ch. 5 & 6
  2. Crypto101 — Ch. 5, 6 & 7**
3Sep 28Message Integrity & Authenticated EncryptionProject 1 design check and help sessionRequired Reading:
  1. Computer Security Textbook — Ch. 7,8 & 9
  2. Crypto101 — Ch. 7, 10 & 11**
Optional Reading:
  1. Pseudorandomness
  2. Pseudorandom Functions
4Oct 5Key Exchange & Public Key EncryptionTutorial: Operating SystemRequired Reading:
  1. Basic Number Theory
  2. Computer Security Textbook — Ch. 10 & 11
  3. Crypto101 — Ch. 8 & 9**
5Oct 12Thanksgiving – no lectureTutorial: Computer Networks I
6Oct 19Digital Signature, Certificates & Authenticating PeopleMidtermRequired Reading:
  1. Computer Security Textbook — Ch. 12, 13 & 14
  2. Authenticating People
  3. Crypto101 — Ch. 12**
7Oct 26Reading Week – no lectureReading Week – no discussion
8Nov 2Operating System Security IProject 2 design check and help sessionRequired Reading:
  1. Computer Security Textbook — Ch. 2, 3 & 4
9Nov 9Operating System Security IITutorial: WebRequired Reading:
  1. Architecting a Secure System
  2. Isolation
  3. Setuid Demystified
10Nov 16Web SecurityEthics ModuleRequired Reading:
  1. Computer Security Textbook — Ch. 17, 18, 19 & 20
Optional Reading:
  1. The Moral Character of Cryptographic Work
  2. What is Cryptography Hiding from Itself?
11Nov 23Network Security ITutorial: Computer Networks IIRequired Reading:
  1. Computer Security Textbook — Ch. 21,22,23,24,25,26,27 & 28
12Nov 30Network Security IIFinal Exam ReviewRequired Reading:
  1. Computer Security Textbook — Ch. 29,30,31 & 32
13Dec 7AI Security-
14Dec 8 (Tue – Monday make-up day)Special Topics: PETs-