Instructor: Kartik Nayak (kartik@cs.duke.edu)
When: Mondays and Wednesdays – 05:15PM to 06:30PM
Where: Zoom (link will be shared through email)
Office hours: Thursdays 11-noon, or by appointment
Office hour location: https://duke.zoom.us/j/99032885486
Teaching assistants: Chenghong Wang (chenghong.wang552@duke.edu)
TA office hours: Chenghong: Mondays 1 pm – 3 pm
TA office hour location: https://duke.zoom.us/j/99032885486
Piazza: We will be using Piazza for discussions.
Warpwire: Lecture videos will be uploaded on Warpwire
Sakai: Labs/assignments will be shared through Sakai.
Synopsis:
An introduction to the topic of security in the context of computer systems. We anticipate covering the following topics:
- Cryptography basics: private key cryptography, public-key cryptography
- Software security: buffer overflows, SQL injection, web-based attacks, viruses
- Network security: TCP, DNS
- Special topics in security and applied cryptography: (a subset of) digital currency and blockchains, searchable encryption, secure multiparty computation, and secret sharing.
Grading:
Participation (5%). This will be based on involvement during the class (zoom) and participation in discussions on Piazza.
Labs + assignments (60%). We will have approximately four labs and 1-2 assignments. These are to be performed individually. We will use Sakai for this purpose. For labs, we will be using the SEED security labs.
Project (20%). Projects will be in groups of 2.
Exam (15%). There will be one final exam.
Late submission policy for labs and assignments:
– Up to 3 days of late submissions over the entire semester for each student
– Can only be used under exceptional circumstances (you should email the instructor)
Textbooks and resources:
There are no required textbooks but the following are useful:
- Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell
- Security Engineering by Anderson
- Computer Security: Principles and Practice by William Stallings and Lawrie Brown
- Computer and Internet Security: A Hands-on Approach by Wenliang Du
GDB reference:
Softwares for labs:
- SEED security labs: We will be using the 32-bit Ubuntu16.04 VM with VirtualBox.