| |
|
Introduction
- Introduction to the course.
- History of Classical Cryptography: shift cipher, substitution cipher,
Vigenere
ciphers, and the Enigma machine.
Basic Secret Key Encryption (security
against eavesdropping)
- Information theoretic security. One time pad. Perfect secrecy.
- Stream ciphers. RC4.
- Feistel networks. DES.
- Strengthening DES: DESX and 3DES.
- Modes of using block ciphers.
- Attacks on block ciphers: Time-space tradeoffs, Differential &
Linear cryptanalysis, Meet-in-the-middle.
- The AES cipher.
Message Integrity
- Non keyed hash functions. Motivation and
applications.
- Merkle-Damgard and other
constructions.
- Message Authentication Codes (MAC).
Applications.
- Constructions: CBC-MAC, HMAC.
Public Key Encryption
- Arithmetic modulo primes. Algorithms: bignum arithmetic, repeated
squaring.
- Cryptography using arithmetic modulo primes: Discrete log.
Diffie-Hellman Key Exchange.
- ElGamal encryption.
- Arithmetic modulo composites.
- RSA and Rabin encryption.
- Vulnerabilities: Unpadded RSA is insecure. Small private
key.
Random padding. Timing attacks. Fault attacks.
- Semantic security
Digital Signatures
- Definition of secure signature schemes. Lamport and Merkle schemes.
- How to sign using RSA. Brief overview of the Digital Signature
Standard (DSS) and ElGamal.
Key Management
- Key agreement protocols
- Needham-Schroeder
Identification Protocols
- Challenege-Response, Fiat-Shamir, Schnorr
- Zero-knowledge proofs.
Other Topics
- Blind signatures
- Commitment schemes
- Secret sharing
- General Secure Multi-party Computation protocols
|