CS 798—Privacy in Computation and Communication—Spring 2024
Overview
This course introduces graduate students to the importance of
preserving privacy when designing and implementing systems that
communicate and process information, as well as a variety of
specific techniques to accomplish this.
Outcomes
After taking this course, students should be able to:
- Describe what privacy is and why it is important
- Evaluate privacy implications of communication and computation
systems
- Describe (and for some, implement) technologies that can be used to
enhance the privacy of the users and the subjects of such
systems
- Use tools such as git and docker to create reproducible code
artifacts
Classes
This online synchronous course will take place within the BigBlueButton
(BBB) web conferencing environment [a link to the online classroom can
be found on LEARN]. Students are expected to participate in
the online classes at the designated class times.
Classes will be recorded and made available via LEARN.
Public videos, slides, and additional
materials
Modules
The module slides will be made available on the course schedule page shortly before the
beginning of each module.
- What is privacy?
- Notions of privacy
- Comparing to security
- The importance of privacy
- Overview of privacy in computation
- Distributed trust
- Trusted hardware
- Homomorphic encryption
- Overview of privacy in communication
- Protecting metadata
- Censorship and censorship resistance
- Background
- How the Internet works (briefly)
- Cryptography
- Symmetric and public-key encryption
- MACs and signatures
- Secret sharing
- Shamir secret sharing
- Replicated secret sharing
- Threat models
- Zero-knowledge proofs
- Privacy in computation: distributed trust
- Secure multiparty computation
- Private information retrieval
- Private set intersection
- Threshold signatures
- Distributed point functions
- Privacy in computation: trusted hardware
- Trusted execution environments
- Side channels
- Oblivious algorithms
- Privacy in computation: homomorphic encryption
- What is homomorphic encryption?
- Different kinds of homomorphic encryption
- Noise and bootstrapping
- Using homomorphic encryption
- Privacy in communication: protecting metadata
- Mixnets
- Tor
- Metadata-protected messaging
- Privacy in communication: censorship resistance
- Two concerns: publishing and Internet filtering
- Different approaches
- Look like nothing
- Look like allowed traffic
- Be allowed traffic
- Decoy routing
- Traffic obfuscation
- Steganographic techniques
Assessment
There will be four graded assignments in the course: three due
during the term, and a final assignment due during the final
examination period. Assignments are to be done individually.
Assignments may have written and/or programming components. Students
must be able to complete programming assignments in at least one of
Rust, C++, or Python.
The four graded assignments will be weighted equally; that is,
each is worth 25% of the final course grade.
There will also be an ungraded "Assignment 0", which will serve
simply to ensure that students can successfully submit
assignments.
Grades will be available through LEARN.
Academic Integrity
The general university policy:
- Academic integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. [Check the Office of Academic Integrity for more information.]
- Grievance: A student who believes that a decision affecting some aspect of their university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt, please be certain to contact the department’s administrative assistant who will provide further assistance.
- Discipline: A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for their actions. [Check the Office of Academic Integrity for more information.] A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate associate dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.
- Appeals: A decision made or penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes they have a ground for an appeal should refer to Policy 72, Student Appeals.
Note for students with disabilities
AccessAbility Services, located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.
Mental Health Support
All of us need a support system. We encourage you to seek out
mental health supports when they are needed.
On-campus Resources:
Off-campus Resources:
- Good2Talk (24/7): Free confidential help line for post-secondary students. Phone: 1-866-925-5454
(Ontario and Nova Scotia only)
- Here 24/7: Mental Health and Crisis Service Team. Phone: 1-844-437-3247 (Waterloo Region only)
- OK2BME: set of support services for lesbian, gay, bisexual, transgender, or questioning teens. Phone:
519-884-0000 extension 213 (Waterloo Region only)
- EMPOWER ME 1-833-628-5589 from Canada/US. Other countries see:
https://studentcare.ca/rte/en/IHaveAPlan_WUSA_EmpowerMe_EmpowerMe
Diversity
It is our intent that students from all diverse backgrounds and perspectives be well served by this
course, and that students’ learning needs be addressed both in and out of class. We recognize the immense value
of the diversity in identities, perspectives, and contributions that students bring, and the benefit it has on
our educational environment. Your suggestions are encouraged and appreciated. Please let us know ways to improve
the effectiveness of the course for you personally or for other students or student groups. In particular:
- We will gladly honour your request to address you by an alternate/preferred name or gender pronoun.
Please advise us of this preference early in the term so we may make appropriate changes to our records.
- We will honour your religious holidays and celebrations. Please inform us of these at the start of the
course.
- We will follow AccessAbility Services guidelines and protocols on how to best support students with
different learning needs.
Territorial Acknowledgement
We acknowledge that we live and work on the traditional territory
of the Attawandaron (Neutral), Anishinaabeg, and Haudenosaunee
peoples. The University of Waterloo is situated on the Haldimand
Tract, the land promised to the Six Nations that includes ten
kilometres on each side of the Grand River.