USC CSD Home
 

Applied Cryptography - CSCI 531, Spring 2017

 
General Information
Time   :   MW 9:30am - 10:50am
Location : OHE 100D
Instructor   :   Bill Cheng (for office hours, please see instructor's web page), E-mail: <bill.cheng@usc.edu>.   (Please do not send HTML-only e-mails. They will not be read.)
TA   :   Chien-Lun Chen, E-mail: <chienlun@usc.edu>, Office Hours: Fri 3:10pm - 5:10pm in PHE 320
Grader   :   Amin Amiripour, E-mail: <amiripou@usc.edu>(The grader will hold office hours the week after the announcement of each assignment's grades.)
Midterm Exam   :   during class, Mon, 3/6/2017 (firm)
Final Exam   :   8am-10am, Fri, 5/5/2017 (firm)
 
Class Resources
Description   :   textbooks, topics covered, grading policies, additional resources, etc.
Papers   :   required and optional technical papers
Lectures   :   slides from lectures in HTML and PDF formats
Videos   :   information about DEN lectures and discussion sections videos.
Discussions   :   information about discussion sections.
Homeworks   :   programming assignments (please also see important information about programming assignments at the bottom of this page.)
Participation   :   rules about roll calls.
Newsgroup   :   Google Group for discussing course materials and programming assignments. You are required to be a member of this group. (This group is by invitation only.) Please do not send request to join this group until after the first lecture.
 
News
(in reversed chronological order)
  • 3/5/2017:
    • The office hour this coming Tuesday (3/7/2017) is moved to 2:00-3:00pm because I have a committee meeting from 12:30pm to 2:00pm. Sorry about the inconvenience.

  • 2/22/2017: The midterm exam will be 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 DES (slide 3 of Lecture 12 on 2/15/2017) and including topics covered by the first 6 weeks of discussion sections.

    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
        • protocol failures
      • 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
    • block ciphers
      • 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
        • language statistics
      • block cipher analysis
        • True Random Cipher
        • complexity of attacks
        • birthday paradox
      • modes of operation
        • ECB
        • CBC
        • CFB
        • OFB
      • cascade cipher and multiple encryption
        • meet-in-the-middle attacks
        • known-plaintext unicity distance
        • attacks on multiple encryption
      • DES
        • product ciphers
        • Fiestel
        • DES algorithm
          • P
          • S
          • E
        • DES key scheduling
          • V
          • PC1
          • PC2
        • DES properties
        • DES weak and semi-weak keys
        • cryptanalysis of DES
    • week 1 discussion (HW1)
      • hexdump
      • base64 encoding/decoding
    • week 2 discussion
      • converting integers
      • bit flipping
      • modular arithmetic
      • Euclidean Algorithm
      • primes
    • week 3 discussion (HW2)
      • visual cryptography
    • week 4 discussion
      • Playfair cipher
      • Hill cipher
      • Beaufort cipher
      • auto-key Vigenere cipher
      • Jefferson cylinder
      • rotor-based machines
    • week 5 discussion (HW3)
      • full Vigenere cipher
      • cryptanalysis
        • method of Kasiski
        • index of coincidences (auto-correlation only)
    • week 6 discussion
      • extended Euclidean Algorithm
      • multiplicative inverse
      • Wilson's theorem

  • 2/14/2017:
    • The office hour today is moved to 1:30-2:30pm because I have a committee meeting from 12:30pm to 1:30pm. I don't know if the committee meeting will end on time. If I'm not at my office at 1:30pm, please just wait outside my office for a few minutes. Sorry about the inconvenience and the short notice.

  • 1/23/2017:
    • The office hour tomorrow (1/24/2017) is moved to 2:00-3:00pm because I have a committee meeting from 12:30pm to 2:00pm. Sorry about the inconvenience and the short notice.

  • 1/9/2017:
    • The office hour tomorrow (1/10/2017) is moved to 1:30-2:30pm because I have a committee meeting from 12:30pm to 1:30pm. I don't know if the committee meeting will end on time. If I'm not at my office at 1:30pm, please just wait outside my office for a few minutes. Sorry about the inconvenience and the short notice.

  • 1/8/2017:
    • Watch this area for important announcements.

    • To get user ID and password for accessing protected area of this web site, please visit the request access page after semester starts and submit the requested information. (You do not have to be registered for the course to get the password. You just need to have an USC e-mail address.)

    • I have replaced the number theory optional textbook because the previous one was getting expensive. You don't really have to buy any of the optional textbooks.

    • Please do not send request to join the class Google Group until after the first lecture.
 
Prerequisites
CS 102L (Data Structures) or graduate standing. It is assumed that you know how to write programs in C/C++, how to use data structures and algorithms so your program can run efficiently, and how to debug programs 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 you are not familiar with Unix, please read Unix for the Beginning Mage, a tutorial written by Joe Topjian.

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!

 

[Last updated Mon Mar 20 2017]    [Please see copyright regarding copying.]