|
|
Applied Cryptography -
CSCI 531, Fall 2008
|
|
General Information
|
-
Time |
: |
Fri 9:00am - 11:50am |
Location |
: |
OHE 132 |
Instructor |
: |
Bill Cheng,
Office Hours: TuTh 11:00am - 12:00pm and Fri 12:00pm - 1:00pm, in SAL 228,
E-mail:
<bill.cheng@usc.edu> or
<william@bourbon.usc.edu>
(Please do not send HTML-only e-mails. They will not be read.)
|
TA |
: |
(none)
|
Grader |
: |
Hou-Lun Chang,
E-mail:
<houlunch@usc.edu>
|
Midterm Exam |
: |
during class, Fri, 10/31/2008 (firm) |
Final Exam |
: |
11am-1pm, Mon, 12/15/2008 (firm)
|
|
|
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.)
|
Discussion Group |
: |
Google Group for discussing course materials and programming assignments.
|
|
|
News
|
(in reversed chronological order)
- 11/24/2008:
If your usc e-mail address is <hveera@usc.edu>, your mailbox
is over quota and is bouncing e-mail messages! Please fix it as
soon as possible.
- 11/19/2008:
The online course evaluations for DEN students are now available. Please click here for the instructions
(in PDF).
These online evaluations are available for DEN students only.
- 10/24/2008:
The midterm exam will be held in OHE 132 between 9am and 10:20am.
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 math background for AES
(last slide of lecture 9 on 10/24/2008).
Here is a quick summary of the topics (not all topics covered are listed):
- overview
- functions
- bi-jections and inverses
- one-way functions and trapdoor one-way functions
- permutations
- encryption schemes
- max number of permutations
- model of communication and channels
- types of adversaries
- types of cryptanalysis
- symmetric-key encryption
- model of communication and channels
- block ciphers
- substitution ciphers
- mono-alphabetic substitution cipher
- homophonic substitution cipher
- polyalphabetic substitution cipher
- transposition ciphers
- composition of ciphers and product ciphers
- stream ciphers
- Vernam ciphers and one-time pad
- key space issues
- digital signatures
- signing and verification transformations
- authentication and identification
- entity vs. data origina authentication
- public-key cryptography
- necessity of authentication
- digital signature from reversible public-key encryption
- cryptographic hash functions
- one-wayness
- weak collision-resistance
- strong collision-resistance
- keyed vs. unkeyed hash functions
- protocols and mechanisms
- key management
- symmetric-key and trusted third party
- public-key and certificate authority
- attacks
- ciphertext-only
- known-plaintext
- chosen-plaintext
- chosen-ciphertext
- security models
- unconditional security
- complexity-theoretic security
- provable security
- computational security
- ad hoc security
- pseudorandom bit generators
- linear congruential generator
- polynomial-time statistical tests
- statistics background
- normal distribution
- chi-square distribution
- five basic tests
- frequency (mono-bit) test
- serial (two-bit) test
- poker test
- runs test
- autocorrelation test
- cryptographically secure PRBG
- RSA pseudorandom bit generator
- Blum-Blum-Shub pseudorandom bit generator
- block ciphers
- attacks
- modes of operation
- cascade cipher and multiple encryption
- meet-in-the-middle attacks
- known-plaintext unicity distance
- DES
- product ciphers
- Fiestel
- DES algorithm
- DES key scheduling
- DES properties
- DES weak and semi-weak keys
- cryptanalysis of DES
- classical ciphers
- simple transposition ciphers
- mono-alphabetic 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, HW4, HW5
- 8/29/2008:
Office hours today been canceled. Sorry about the inconvenience.
- 8/15/2008: 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!
|
|
|