BASICS
- one-time pad, perfect security, computational security, indistinguishability
- pseudorandom generators and computational one-time pad
- pseudorandom functions and permutations
DATA INTEGRITY
- Message Authentication Codes and cryptographic hashing
- signature schemes
- applications in cryptographic currencies: Bitcoin
ZERO-KNOWLEDGE
- definitions and basic protocols
- commitment schemes
- applications in cryptographic currencies: Zerocash
SECURE COMPUTATION
- simulation paradigm
- oblivious transfer
- secret sharing
- garbled circuits
The central aim of modern cryptography is to characterize the minimal necessary assumptions for solving given cryptographic task. This course introduces general cryptographic assumptions and their applications in constructions of cryptographic primitives and provably secure protocols.
We also demonstrate somemore advanced applications in cryptographic currencies and secure computation.