TuTh 1:10-2:25 PM
535 Mudd

  • Introduction to network security
  • Network-based threats and attacks
  • Introduction to cryptography
  • Network authentication and key management
  • Security protocols (IPsec, SSL, Kerberos, ssh)
  • Protocol analysis
  • Intrusion detection
  • Firewalls
  • Email security and phishing
  • Web security
  • Worms
  • Denial of service
  • Privacy
  • Wireless security


Some readings will be from primary sources.


Mariana Raykova <mariana@cs....>
Angelika Zavou <azavou@cs....>


You must be able to program in C or C++. If you can't, you should seriously consider dropping this class.

You should have a decent knowledge of networks. Networking (W4119) is a prerequisite; if you have not yet taken it or the equivalent, please see me. Everyone is urged to attempt Program 0 (not graded) on the assignments page. Introduction to Cryptography (W4261) is helpful but not required.

Homework Policy

There will be four or five homework assignments, each consisting of a written part (30%) and a programming part (70%). Homeworks may be submitted in either C, C++, or Java.

Late assignments are subject to increasing penalties. There are no grace days or "free lates". See the slides from the first class for details.


Homeworks 50%
Midterm 20%
Final 30%
The percentages will be adjusted slightly if there are only four homework assignments.

All exams are open book. This is both good news and bad news for you. It means that there won't be any simple "define Foo" questions; instead, most questions will ask you to think and to integrate material from different lectures.

Final grades are curved.


Unless there is significant sentiment to the contrary, I will not use Courseworks except for the gradebook and the discussion list. All lectures and homework assignments will be posted on this web site.