CSE539: Applied Cryptography

Information Assurance          Computer Science and Eng.         Fulton School of Eng.


Home Description Text Book Lecture Notes Course Instances Announcements Projects Assignments Resource Links Contact


What happens in Class?

The course is heavy on lectures, discussions and classroom coverage of topics. Each time the class is taught, the structure content and sequence may change slightly. The following is a class by class topic list that is illustrative of the content of the course.

Class Detail

Class 1:
bulletInformation Characteristics and Privacy
bulletEncryption -- symmetric and asymmetric
bulletSecurity and Cryptography
bulletNumber theory

Class 2:

bulletTrend in internet crime/hacking
bulletVulnerabilities - viruses, spam, id theft, buffer overflow
bulletCountermeasures and Security Procedures
bulletTrust and software, Ken Thompson lecture

Class 3:

bulletInformation Security -- confidentiality and integrity
bulletCoin tossing on Telephone (hashing)
bulletCryptography Basics (encryption, XOR)
bulletBrute Force breaking
bulletHashing, Random Numbers
bulletCryptographic Functions (authentication, access control, signatures, certificates, secret sharing, zero knowledge proofs, secure elections, digital cash)

Class 4:

bulletRFID and weak challenge response in DST cards (see)
bulletDES brute force cracking
bulletCeaser cipher, Affine Cipher, Vigenere Cipher
bulletKASISKI Attack
bulletCryptananalysis (several approaches)

Class 5:

bulletCIA Kryptos, and MS Word vulnerability
bulletCoin tossing with hash functions and the Birthday Attack vulnerability
bulletPrivacy-Integrity-Authentication-Non Repudiation-Certification-Signatures
bullet Identities, Message Authentication Codes, Challenge response (symmetric and public keys)

Class 6:

bulletKey Strength
bulletKey Management
bulletCrypto protocols
bulletAttacks against protocols
bulletMerkles Puzzles

Class 7:

bulletMerkles Puzzles, cont.
bulletDiffie Helman Key exchange
bulletHash functions

Class 8:

bulletHash Functions
bulletLarge number -- properties
bulletRandom numbers
bulletCSPRNG - how to?
bulletAuthentication (shared secret)

Class 9:

bulletSymmetric Encryption Algorithms
bulletLucifer, DES, 3DES, IDEA, AES, Skipjack, Clipper
bulletBackdoor in Clipper

Class 10:

bulletAuthentication - public keys
bulletMessaging - public keys
bulletKey Exchange - symmetric keys
bulletKey Exchange - public Keys
bulletIntegrating authenticationa nd message integrity - public and symmetric keys
bulletMITM attacks

Class 11:

bulletMITM Attacks
bulletDigital Signatures
bulletDigital Certificates

Class 12:

bulletDigital signatures and certificates
bulletSSL protocol
bullet How SSL works
bullet Specifications of SSL

Class 13:

bulletProject preliminaries (get a certificate from cacert.org or trustcenter.de and verify the correctness of the certificate).
bulletHow Certificate Authorities work
Class 14:
bulletSignatures and Certificatres
bulletResend Attacks - various kinds
bulletBirthday Attack
bulletHierarchical certificates (certificate chains)
bulletQuick 0verview of RSA

Class 15:

bulletRSA - why it works

Class 16:

bulletComputing public and private keys (RSA)
bullet Prime Number Density
bulletFinding Prime numbers/Primality testing
bulletFast Exponentiation

Class 17:

bulletMultiple Key Cryptography (group communication)
bulletPrivate databases
bulletComputing private maxima
bulletRandomized Response Technique for surveys
bulletSecret splitting
bulletSecret sharing (threshold schemes)
bulletIntro to Zero Knowledge proofs

Class 18:

bulletTimestamping (with Trent, Linking Protocol, Distributed Protocol)
bulletSubliminal Channels
bulletProxy Signatures

Class 19:

bulletUndeniable Signatures
bulletGroup Signatures
bulletMental Poker
bulletOne way accumulator
bullet Bit Commitment

Class 20:

bulletFail Stop Signatures
bulletSecure Multiparty Computations
bulletComputing with Encrypted Data
bulletComputing with Encrypted Functions
bulletProtecting programs against tampering
bulletEnsuring secure computing environments
bullet secure coprocessors
bulletsandboxes, reverse sandboxes
bulletDRM schemes

Class 21:

bulletproject discussion
bulletadditional project programs:
bulletRSA algorithm documentation @ bouncy-castle

Class 22:

bullet Tutorial on ZKP by Oded Goldrich
bulletZero Knowledge Proofs
bulletZKP of graph isomorphism (and discussion of P=NP)
bulletFeige Fiat Shamir proof of identity
bulletParallel ZKP
bulletNon-Interactive ZKP

Class 23:

bulletOblivious Transfer
bulletSimultaneous Contract Signing
bulletDigital Certified Mail
bulletANDOS (all or nothing disclosure of secrets)
bulletSecure Elections (intro)

Class 24:

bulletFor project: the CA certificate
bulletSecure Elections
bulletDigital Cash

Class 25:

bulletSecure Group Communications

Class 26:

bulletExam results
bulletChaffing and Winnowing [paper]
bulletPayword and Micromint [slides] [paper]

Class 27:

bulletReview Class