CS558 : Introduction to Network Security
Boston University, Computer Science, Spring, 2017

Course Syllabus     Assignments      Schedule      Class Blog      Calendar      Link to websubmit      Link to piazza     

Instructor:     Sharon Goldberg
Lectures:     Tuesday & Thursday 2:00-3:15PM, CAS B12

Course Assistants:
Sophia Yakoubov (MCS135)
Ann Ming Samborski
Sean Smith

Friday, 11:15AM in MCS B33
Friday 12:20PM in MCS B25
Friday, 1:25PM in MCS B25

Student work from this year!
scribe notes
blog post on web-audit poster session!
video from a student presentation!
security news project reports!


To defend a system you need to be able to think like an attacker, and that includes understanding techniques that can be used to compromise security. However, using those techniques in the real world may violate the law or the university's rules, and it may be unethical. Under some circumstances, even probing for weaknesses may result in severe penalties, up to and including expulsion, civil fines, and jail time. Our policy is that you must respect the privacy and property rights of others at all times, or else you will fail the course.

Acting lawfully and ethically is your responsibility. Carefully read the Computer Fraud and Abuse Act (CFAA), a federal statute that broadly criminalizes computer intrusion. This is one of several laws that govern "hacking." Understand what this law prohibits.

Read BU's Conditions of Use and Policy on Computing Ethics and the BU's Academic Conduct Code. As members of the university, you are required to abide by these policies.
Topics Covered:

Symmetric Crypto

  1. The one time pad and it security. (Section 5.2.1 of Ross Anderson's book (The following references are more technical than Andersons book, but also more technical than what we covered in class: Leo Reyzin's Crypto notes, Sec 2.2 of Katz and Lindell)
  2. 128-bit security level and why 2^128 is a big number. link
  3. Stream ciphers, and how to construct a stream cipher from a Pseudo Random Generator (PRG). (Section 5.3.2 of Ross Anderson's book.)
  4. Block ciphers (also known as pseudorandom permutation) (Optional: AES, AES competition, attack on AES reducing security by 1/32,000
  5. Block cipher modes of operation (reference: wikipedia)
  6. Definitions of security for encyption schemes. (My lecture notes) Security against
  7. Most block ciphers and stream ciphers satisfy CPA security but not CCA security.
  8. Message authentication codes (MAC). (Boaz Barak lecture notes, up to page 2, excluding the proof. The following reference is more technical than what we covered in class: Section 4-4.3 of Katz and Lindell.)
  9. How do we get a CCA secure encyption scheme ? (Reference: Boaz Barak lecture notes, page 3 up to item 1 on page 4.)

Public Key Crypto

Optional: In class I mentioned the DUAL EC DBRG backdoor. See here for a good summary.

Web Security

Network security