[Bibliography] [Class Schedule] [Available Projects]

Instructor: Angelos Stavrou
Lecture: Tuesday 4:30pm - 7:10pm
Sandbridge Hall 107 [Campus Map]
Office Hours: Tuesday 2:30pm - 4:30pm and by appointment
Office: Research I, Rm 437
Email: astavrou()gmu.edu

Teaching Assistant: Mohammad Rezaeirad
Office: Engineering, Rm 5320
Office Hours:
Wednesday 2:00pm - 4:00pm
Email: mrezaeir()gmu.edu

Course Description:

This course is designed to provide students with an understanding of the fundamental principles and techniques for implementing modern secure computer systems and that includes secure system and protocol design. This course is intended for upper-division computer science students and students whom possess the required programming and system software background. As part of the class students will gain the knowledge and experience of programming and validating a secure and distributed application. Topics include security and cryptography basics, vulnerability analysis, secure software development, and distributed system security. Projects involve designing and programming security tools, secure programs, and distributed systems.

Class Objectives

Successful completion of this class will give students some of the basic tools in how to design and implement secure systems.

  • Cryptography
  • Secure Programming
  • Secure Systems
  • Securing Networks and Distributed Systems
  • Laboratory exercises

Grade of C or better in CS310 and either CS 365 or CS 367.


Cryptography and Network Security: Principles and Practice (6th or 7th Edition)

On the course web page you will also find assigned reading from on-line articles, law opinions, and research publications.
I will also have supplementary materials on reserve or handed out during class.


  • Class Projects & Assignments: 40%
  • Midterm: 20%
  • Final: 30%
  • Class Laboratories & Participation 10%

The students must achieve a total score of at least 90 (out of 100) to be considered for an A. This class is an advanced graduate-level class and is geared towards understanding the fundamental concepts behind Digital Forensics. The students will be expected to participate in large projects under the guidance of the instructor.

  • The use of laptop computers is required in this class. If you do not own a laptop, one will be available for you to check out during class time. You will only be permitted to work on material related to the class, however. Engaging in activities not related to the course (e.g., gaming, email, chat, etc.) will result in a significant deduction in your participation grade.
  • Because this is a computer classroom, we will frequently be using the internet as a means to enhance our discussions. We will also be using the computers for our in-class writing assignments. Please be respectful of your peers and your instructor and do not engage in activities that are unrelated to the class. Such disruptions show a lack of professionalism and may affect your participation grade.

Computer Accounts
All students should have accounts on the central Mason Unix system mason.gmu.edu and on IT&E Unix cluster zeus.ite.gmu.edu
(Instructions and related links are here). Please read the FAQ if you have any questions.
Students can work in IT&E computer labs for programming projects during the specified hours.

Honor Code
The integrity of the University community is affected by the individual choices made by each of us. Mason has an Honor Code with clear guidelines regarding academic integrity.
Three fundamental and rather simple principles to follow at all times are that: (1) all work submitted be your own; (2) when using the work or ideas of others, including fellow students, give full credit through accurate citations; and (3) if you are uncertain about the ground rules on a particular assignment, ask for clarification. No grade is important enough to justify academic misconduct.

Plagiarism means using the exact words, opinions, or factual information from another person without giving the person credit. Writers give credit through accepted documentation styles, such as parenthetical citation, footnotes, or endnotes. Paraphrased material must also be cited, using MLA or APA format. A simple listing of books or articles is not sufficient. Plagiarism is the equivalent of intellectual robbery and cannot be tolerated in the academic setting. If you have any doubts about what constitutes plagiarism, please see me.

Disability Statement
If you have a documented learning disability or other condition that may affect academic performance you should:

1) If you are a student with a disability and you need academic accommodations, please see me and contact Disability Services at 993-2474, http://ds.gmu.edu.
All academic accommodations must be arranged through Disability Services.

2) Talk with me to discuss your accommodation needs.

Other Useful Resources

Writing Center: A114 Robinson Hall; (703) 993-1200; http://writingcenter.gmu.edu
University Libraries: “Ask a Librarian” http://library.gmu.edu/ask?r=t
Counseling and Psychological Services (CAPS): (703) 993-2380; http://caps.gmu.edu
University Policies: The University Catalog, http://catalog.gmu.edu, is the central resource
for university policies affecting student, faculty, and staff conduct in university affairs.

Class Schedule

Week & Date
Course Lectures & Readings (Tentative)

Week 1, Aug 29

Lecture 1: Intro & Class Mechanics - Computer Security Concepts [Link]
(Book Chapter 1)

Why Cryptography Is Harder Than It Looks (by Bruce Schneier)

Week 2, Sep 5

Lecture 2: Intro to Cryptography, Symmetric Block Ciphers [Link]
(Book Chapters 3 and 4)

Preparation for Lab

Assignment 1 [Link] (Due Sep 19 midnight)

Week 3, Sep 12
Lecture 3: Block Cipher Operation [Link]
(Book Chapter 7)

Laboratory I - Block Ciphers & Hashing [Link]
Week 4, Sep 19
Lecture 4: Randomness & Stream Ciphers [Link]
(Book Chapter 8)

Complete Lab 1
Assignment 2 [Link
Week 5, Sep 26 Lecture 5: Message Integrity & Hash Functions [Link]
(Book Chapters 11 and 12)

Assignment 3 [
Link] (Due Oct 20 midnight)
Week 6, Oct 3
Lecture 6: Network Defenses: Intro to Firewalls [Link]
(Class Notes)
Week 7, Oct 10
Columbus Day Recess - No class
Week 8, Oct 17
Lecture 7: Asymmetric Ciphers [Link]
(Book Chapters 9 and 10)
Week 9, Oct 24
Week 10, Oct 31
Class Cancelled due to Instructor illness
Week 11, Nov 7
Midterm & Projects Discussion

Lecture 8: Transport Layer Security [Link]
(Book Chapters 17)

Laboratory II: Asymmetric Ciphers [Link]

Assignment 4
Week 12, Nov 14
Laboratory II: Asymmetric Ciphers [Link]

Programming & PKI with Java, C, and Python

Week 13, Nov 21
Lecture 9: Network Access Control & Cloud Security [Link]
(Book Chapters 16)

Assignment 5 (extra Credit)
Week 14, Nov 28
Lecture 10: Wireless Network Security [Link]
(Book Chapter 18)

Assignment 6 (extra Credit)

Week 15, Dec 5

Lecture11: Network Attacks & Botnets
(Class Notes)

Class Recap
(Class Notes)
Week 16, Dec 12 Final Presentations (Day 1)

Week 17, Dec 19

Final Presentations (Day 2)
Home -  Publications - Teaching - CV - Contact

Last updated:
Please feel free to send your comments and suggestions to Angelos Stavrou.
© 2017 Angelos Stavrou, Computer Science Department, George Mason University.