next up previous
Next: About this document ...

CS007 Syllabus
Revision: pnk, September 11

Week 1

Lecture 1 (Sept.2):
History, Classical cryptography, Caesar cypher, attack types, modular addition/subtraction, NIM, passwords, phone/credit card scenario, emphasize the fact that security is not simply a function of key size, [Security goals/building blocks/implementations. security assumptions]
Lab 1:
Introduction to MarkCalc: Caesar cypher(looped), substitution cypher
Lecture 2 (Sept.4):
function notation, subscript notation, functions with Caesar cypher, invertibility, key space attack, addition cypher, functions with addition cypher
Homework 1:
modular addition/subtraction, NIM, function notation (domain/co-domain)
Week 2
Lecture 3 (Sept.9):
dictionary attacks (eg:passwords), how to choose a key, modeling the cleartext (relation to keyspace attack), probability, randomness vs. uncertainty, probability as a function
Lab 2:
addition cypher, IFF, Venona lookalike, Kerberos
Lecture 4 (Sept.11):
weakness of addition cypher, one-time pad, perfect secrecy (as related to one-time pad)
Homework 2:
probability, more on functions (applications to crypto)
Week 3
Lecture 5 (Sept.16):
perfect secrecy, Vernam cypher, one-time pad, Venona
Lab 3:
perfect secrecy (one-time pad, binary one-time-pad), secret sharing, determining perfect secrecy experimentally using probability distributions, Venona
Lecture 6 (Sept.18):
secret-sharing and threshold secret-sharing, modular multiplication with specific prime moduli, inverses (prime moduli), algebraic thinking
Homework 3:
more modular arithmetic esp. multiplicative inverses, perfect secrecy (one-time-pad), (threshold) secret sharing, MAC
Week 4
Lecture 7 (Sept.23):
primality, modular arithmetic (with arbitrary moduli), review of threshold secret-sharing, MAC
Lab 4:
one-time-pad and addition cypher as commitment (lottery), finding phi by enumeration, finding multiplicative inverse by enumeration (some topics may be moved to next week's lab)
Lecture 8 (Sept.25):
Definition of commitment protocol, slightly faulty schemes, near-perfect secrecy, Euler's phi function, polynomial encryption(time permitting...)
Homework 4:
(polynomial encryption), rules of exponentiation, primality, phi function, modular exponentiation and Euler-type calculations (without knowing Euler's Theorem)
Week 5
Lecture 9 (Sept.29):
Ordinary logarithms, rules of exponentiation, binary expansion, binary games (mind-reading cards, advanced NIM), computer addition/multiplication of integers, computational complexity and growth rates of functions
Lab 5:
multiplication timing experiments, Kerberos?
Lecture 10 (Oct.2):
NO LECTURE (Holiday)
Homework 5:
logarithms, binary, growth rates of complexity functions (fastthink and slowthink), discrete logarithm for small moduli
Week 6
Lecture 11 (Oct.7):
One-way functions, application to passwords, s-key, salting, discrete logarithm, exponential one-way function, intro to repeated squaring
Lab 6:
exponentiation experiments (motivated by exponential one-way function) using TA-provided tools,(with repeated squaring), use of one-way functions: skey, passwords, commitment [demonstrates need for nonce]
Lecture 12 (Oct.9):
Repeated squaring and analysis, growth rates of complexity functions applied specifically to exponential one-way functions, choosing security parameters
Homework 6:
repeated squaring, use formulas for estimating time for exponentiation and discrete logarithm, choosing security parameters, relating security assumptions to computational assumptions
Week 7
Lecture 13 (Oct.14):
ExpoCypher encryption, Fermat's theorem, Euler's theorem, decryption
Lab 7:
NO LAB
Lecture 14 (Oct.16):
Euler's theorem and decryption again, Euclid's algorithm
Homework 7:
Expocypher encryption and decryption, Euler's Theorum, Euclid's algorithm, again use formulas for estimating time for exponentiation and discrete logarithm but this time for encryption, choosing security parameters
Week 8
Lecture 15 (Oct.21):
Euclid's algorithm (again) and analysis
Lab 8:
Timing experiments on modular inversion?, threshold secret-sharing, MAC, ExpoCypher decryption, IFF using ExpoCypher, other uses of ExpoCypher (money, voting) (maybe some will spill over into next week)
Lecture 16 (Oct.23):
choosing security parameters, growth rates , policy discussion
Homework 8:
Again use formulas for estimating time -this time for decryption (Euclid's algorithm followed by repeated squaring), choosing security parameters
Week 9
Lecture 17 (Oct.28):
key agreement
Lab 9:
shared decryption, verifiable secret-sharing, basic key agreement, Eve-in-the-middle, basic El Gamal, editing white pages (El Gamal)
Lecture 18 (Oct.30):
El Gamal
Homework 9:
El Gamal, key agreement
Week 10
Lecture 19 (Nov.4):
RSA, public key encryption
Lab 10:
RSA, RSA w/ small mod, RSA w/ even mod, RSA w/ small cleartext (and large exponent), signed garbage, shared signing
Lecture 20 (Nov.6):
digital signatures, certificates, shared signing
Homework 10:
digital signatures, RSA basics
Week 11
Lecture 21 (Nov.11):
message digest, hashing
Lab 11:
checks (simple), multiplying RSA sigs, combining RSA sig blocks, hashing, hashes as commitment schemes
Lecture 22 (Nov.13):
certificates, PGP, SSL
Homework 11:
?
Week 12
Lecture 23 (Nov.18):
Social Engineering/ Human security failure
Lab 12:
certificates, PGP?, SSL, SET
Lecture 24 (Nov.20):
SET (credit card)
Homework 12:
SSL, SET
Week 13
Lecture 25 (Nov.25):
blinded signatures, on-line and off-line payment schemes, Brown card, checking (more complicated) (maybe some spillover into next week)
Lab 13:
NO LAB
Lecture 26 (Nov.27):
NO CLASS (Thanksgiving)
Homework 13:
NO HOMEWORK
Week 14
Lecture 27 (Dec.2):
authentication
Lab 14:
zero-knowledge, authentication protocols, blinded signatures
Lecture 28 (Dec.4):
zero-knowledge and authentication protocols
Homework 14:
None
Week 15
Lecture 28 (Dec.9, Reading Period):
review
Lab 15:
NO LAB
Lecture 29 (Dec.11, Reading Period):
review
Homework 15:
NO HOMEWORK

Topics yet to be discussed:



 
next up previous
Next: About this document ...
Kevin_Sikorski
9/26/1997