CSCE 477/877 Cryptography and Computer Security (Fall 2016)

Course Information

Intructor: Qiben Yan

Time: TR 11am - 12:15pm

Location: 347 Avery Hall

Office Hours: T 2PM - 3PM and by appointment, 109 Schorr Center

TA Office Hours: R 4PM - 5PM and by appointment, Student Resource Center

Objectives and Overview

This course introduces basic cryptography techniques and computer security concepts, common attacks and methods to defend against them. You will:


The required textbook for this course is Introduction to Cryptography with Coding Theory, Second Edition, by Wade Trappe, Lawrence C. Washington. You will be expected to prepare with the assigned readings.

Although we will rely primarily on this textbook for basic readings, we will supplement this reading with various outside readings. Some material covered comes from the following textbooks:

Academic Honesty

As a computer scientist, or someone taking a computer science class, you are expected to perform your work at all times in an ethical manner. This means that in addition to doing your own work and giving appropriate credit when the work of others is used, you are required to protect your work. All homework assignments, quizzes, exams, etc. must be your own work. No direct collaboration with fellow students, past or current, is allowed unless otherwise stated. The Computer Science & Engineering department has an Academic Integrity Policy ( All students enrolled in any computer science course are bound by this policy. You are expected to read, understand, and follow this policy. Violations will be dealt with on a case by case basis and may result in a failing assignment or a failing grade for the course itself.


This class is appropriate for undergraduate or graduate students with previous background in Linear Algebra, Algorithm and Data Structure. CSCE 310 (Data Structures and Algorithms) or CSCE 311 (Data Structures and Algorithms for Informatics); MATH 314 (Linear Algebra) are prerequisites.


Grading will be determined using scores from four assignments, three exams, and a semester-long project with a presentation and writeup. The breakdown is estimated as follows.

  • 5% Attendance
  • 40% 6 Homework Assignments
  • 25% 1 Exam (Midterm)
  • 30% 1 Project


Please note that this schedule is tentative and subject to change throughout the course of the term.

Course Project

Week Date Topics Notes/Resources Preparation
1 Tue 08/23, Thur 08/25 Introduction to Computer Security and Classical Cryptography
Why Cryptography is Harder than It Looks
Chapter 2 (Trappe&Washington)
2 Tue 08/30, Thur 09/01 Symmetric-key Cryptography and DES
Homework Assignment 1
Chapter 4 (Trappe&Washington)
3 Tue 09/06, Thur 09/08 AES
AES Encryption Example Chapter 5 (Trappe&Washington)
4 Tue 09/13, Thur 09/15 Number Theory
5 Tue 09/20, Thur 09/22 Public-Key Cryptography, RSA
6 Tue 09/27, Thur 09/29 Discrete logarithms: Diffie-Hellman and ElGamal
7 Tue 10/04, Thur 10/06 Hash functions
8 Tue 10/11, Thur 10/13 Mid-term and review
9 Tue 10/18 (Fall Semester Break), Thur 10/20 Digital signature
10 Tue 10/25, Thur 10/27 Key management
11 Tue 11/01, Thur 11/03 PKI, IPSec/VPN, TLS/SSL
12 Tue 11/08, Thur 11/10 Secure electronic transaction and open discussions
13 Tue 11/15, Thur 11/17 Secret sharing
14 Tue 11/22, Thur 11/24 (Thanksgiving Holiday) Information theory and security
15 Tue 11/29, Thur 12/01 Elliptic curves and open discussions
16 Tue 12/06, Thur 12/08 Project Presentation