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