# Teaching

## CS 171: Introduction to Cryptography

Undergraduate course, Computer Science, UC Berkeley, 2021

Course Summary (4 units): Cryptography is the science of designing algorithms and protocols for enabling parties to communicate and compute securely in an untrusted environment (e.g. secure communication, digital signature and etc.) Over the last four decades, cryptography has transformed from an ad hoc collection of mysterious tricks into a rigorous science. This course will introduce students to the basic paradigms and principles of this rigorous science.

## CS 194: Introduction to Cryptography

Undergraduate course, Computer Science, UC Berkeley, 2019

## CS 194: Introduction to Cryptograph

Undergraduate course, Computer Science, UC Berkeley, 2019

## CS 276: Graduate Cryptography

Graduate course, Computer Science, UC Berkeley, 2018

## CS 294: Advanced Cryptography

Graduate course, Computer Science, UC Berkeley, 2018

## CS 170: Efficient Algorithms and Intractable Problems

Undergraduate course, Computer Science, UC Berkeley, 2017

## CS 170: Efficient Algorithms and Intractable Problems

Undergraduate course, Computer Science, UC Berkeley, 2017

## CS 276: Graduate Cryptography

Graduate course, Computer Science, UC Berkeley, 2016