




General Information


Time 
: 
MW 2:00pm  3:20pm

Location 
: 
VKC 101

Instructor 
: 
Bill Cheng,
Office Hours: TuTh 1:30pm  2:30pm in SAL 228,
Email:
<bill.cheng@usc.edu> or
<william@bourbon.usc.edu>
(Please do not send HTMLonly emails. They will not be read.)

TA 
: 
Anand Narayanan,
Email: <aknaraya@usc.edu>
Office Hours: Wed, 9:00am  11:00am in SAL 211

Grader 
: 
Roshan Kotian
Email: <kotian@usc.edu>,
(The grader will hold office hours the week after the announcement of each
homework assignment's grades.)

Midterm Exam 
: 
in class, Mon, 10/22/2007 (firm)

Final Exam 
: 
2pm4pm, Fri, 12/14/2007
(firm)

Msg Archives 
: 
messages from Bill,
messages from Anand,
messages from Roshan



Class Resources


Description 
: 
textbooks, topics covered, grading policies, additional resources, etc.

Papers 
: 
required technical papers

Lectures 
: 
slides from lectures in HTML and PDF formats

Homeworks 
: 
homework assignments
(please also see important information about programming assignments
at the bottom of this page.)

Moodle 
: 
social forum can be used for studentstostudents discussions about assignments.



News

(in reversed chronological order)
 11/29/2007:
Office hour today has been moved up by 15 minutes.
Sorry about the inconvenience.
 11/26/2007:
Office hour on 11/27/07 has been cancelled. Sorry about the inconvenience.
 10/24/2007:
Office hour on 10/25/07 is moved to 11:00am12:00pm.
Sorry about the inconvenience.
 10/17/2007:
The midterm exam will be held in VKC 101. It is closed book,
closed notes, and closed everything (and no "cheat sheet").
Also, no calculators, cell phones, or any electronic gadgets are allowed.
Please bring a photo ID. Your ID will be collected at the beginning
of the exam and will be returned to you when you turn in your
exam. There will be assigned seating.
The midterm exam will cover everything from the beginning of the
semester till the end of cryptanalysis of classical ciphers
(last slide is
slide 32 of lecture 14 on 10/15/2007).
Here is a quick summary of the topics (not all topics covered are listed):
 overview
 functions
 bijections and inverses
 oneway functions and trapdoor oneway functions
 permutations
 encryption schemes
 max number of permutations
 model of communication and channels
 types of adversaries
 types of cryptanalysis
 symmetrickey encryption
 model of communication and channels
 block ciphers
 substitution ciphers
 monoalphabetic substitution cipher
 homophonic substitution cipher
 polyalphabetic substitution cipher
 transposition ciphers
 composition of ciphers and product ciphers
 stream ciphers
 Vernam ciphers and onetime pad
 key space issues
 digital signatures
 signing and verification transformations
 authentication and identification
 entity vs. data origina authentication
 publickey cryptography
 necessity of authentication
 digital signature from reversible publickey encryption
 cryptographic hash functions
 onewayness
 weak collisionresistance
 strong collisionresistance
 keyed vs. unkeyed hash functions
 protocols and mechanisms
 key management
 symmetrickey and trusted third party
 publickey and certificate authority
 attacks
 ciphertextonly
 knownplaintext
 chosenplaintext
 chosenciphertext
 security models
 unconditional security
 complexitytheoretic security
 provable security
 computational security
 ad hoc security
 pseudorandom bit generators
 linear congruential generator
 polynomialtime statistical tests
 statistics background
 normal distribution
 chisquare distribution
 five basic tests
 frequency (monobit) test
 serial (twobit) test
 poker test
 runs test
 autocorrelation test
 cryptographically secure PRBG
 RSA pseudorandom bit generator
 BlumBlumShub pseudorandom bit generator
 block ciphers
 attacks
 modes of operation
 cascade cipher and multiple encryption
 meetinthemiddle attacks
 knownplaintext unicity distance
 classical ciphers
 simple transposition ciphers
 monoalphabetic substitution cipher
 polygram substitution cipher
 homophonic substitution cipher
 cryptographic codes
 polyalphabetic substitution cipher
 Vigenere cipher and variants
 Jefferson cylinders and rotors and the Enigma machine
 cryptanalysis of classical ciphers
 unicity distance
 language statistics
 method of Kasiski
 index of coincidences
 HW1, HW2, HW3, HW4
 10/17/2007:
Office hour on 10/18/07 has been cancelled.
Sorry about the inconvenience.
 10/7/2007:
Office hour on 10/9/07 has been moved to 10:30am11:30am on Monday, 10/8/07.
Sorry about the inconvenience.
 10/3/2007:
Office hour on 10/4/07 is moved to 11:00am12:00pm.
Sorry about the inconvenience.
 10/1/2007:
Office hour on 10/2/07 is moved to 10:45am11:45am.
Sorry about the inconvenience.
 9/6/2007:
The change of office hour on 9/6/07 has been canceled. It's back on
regular time. Office hour on 9/11/07 is moved to 23pm instead.
Sorry about the inconvenience!
 9/5/2007:
Office hour on 9/6/07 is moved to 23pm. Sorry about the inconvenience.
 8/23/2007:
There are no office hours during the first week of class.
If you need to see me, please make an appointment by sending
an email to me. Sorry about the inconvenience.
 8/7/2007: Watch this area for important announcements.


Prerequisites

CS 102L (Data Structures) or graduate standing. It is assumed that
you know how to write programs, and how to debug them and make them
work correctly.


Important
Information about Programming Assignments

All homework assignments are programming assignments to be done in C/C++.
No other programming language will be accepted and your program must
compile and run with a Makefile on nunki.usc.edu.
(Sorry, no Java.)
You must be familiar with the UNIX development environment
(vi/pico/emacs, cc/gcc or g++/CC, make, etc.)
If a student signs up late for this class,
he/she is still required to turn all projects and homeworks
on time or he/she will receive a score of 0 for these assignments.
No exceptions!


