Roadmap of Applied Crypto (Course Materials are available at Blackboard System)

  • Attendance (5 points), midterm exam (20 points), final exam (30 points), and projects (45 points)
  • (20 points final exam + 10 points final paper for graduate student)
  • Projects
    1. Verifying Blocks in Blockchain (Practice on Hash and Signature)
    2. Mining Blocks (Practice on Hash)
    3. Practice on modular arithmetic (Practice on Number Theory)
    4. Implementation of RSA encryption and signature (Practice on Public Cryptosystem)
    5. Design a zero knowledge proof scheme on commited value 0 or 1, and provide proof (Practice on Zero Knowledge)
  • Week 1
    1. Introduction to course, and introduction to security: security goals and security attacks
    2. Where we can find applied crypto in our daily lives? Why we use them?
    3. Introduction to mobsps server for projects
  • Week 2
    1. Hash function, and python program to generate hash values
    2. Digital signature, security properties, and python program to generate digital signature
    3. Application: Blockchain. How to verify a block?
  • Week 3
    1. Bitcoin. What is the crypto currency? What security needs to be guaranteed?
    2. Blockchain from user's perspecive. Transactions, blocks, and blockchains.
    3. Blockchain from miner's perspective. Proof of work, fork problem, and consensus.
  • Week 4
    1. Blockchain: distributed network with self-optimization and self-healing properties.
    2. Other Blockchain applications: smart contract and IoT
    3. Power of hash and signature for building blockchain
  • Week 5
    1. Blockchain summary with Q&A
    2. Perfect secrecy. What is ideal case for encryption?
    3. Perfect secret cryptosystem and its properties
  • Week 6
    1. Symmetric cryptosystem: confusion and diffusion, DES, and AES
    2. Encryption mode and analysis: ECB, CBC, and Counter. Experiments to test block size
    3. Pros and cons of symmetric cryptosystem
  • Week 7
    1. Midterm review
    2. Mitterm exam
    3. Number theory: Group, subgroup, cyclic group
  • Week 8
    1. Number theory: modular operator, and its arithmetic operations
    2. Great common divisor, and Euclid and Extended Euclidean algorithms
    3. Euler Totient Function, Fermat's little theorem, and Euler's theorem
  • Week 9
    1. Public key cryptosystem: Advantage and computational assumption, factoring challenge
    2. RSA encryption and its security analysis
    3. RSA signature and its security analysis
  • Week 10
    1. Discrete logarithm problem and assumption
    2. Elgamal encryption and signature
    3. Diffie-Hellman key exchange
  • Week 11
    1. Secret sharing and Shamir's
    2. Proactive secret sharing
    3. Verifiable secret sharing
  • Week 12
    1. Commitment
    2. Zero knowledge proof 1
    3. Zero knowledge proof 2
  • Week 13
    1. Review of hash and signature on Blockchain
    2. Review of symmeric cryptosystem
    3. Review of public key cryptosystem
  • Week 14
    1. Review of DH key exchange, secret sharing, and zero knowledge proof
    2. Practice on numbers
    3. Practice on programs
  • Week 15
    1. Q&A
    2. Q&A