|
|
Introduction
- Introduction and Classical Cryptography.
- History of Classical Cryptography: shift cipher, substitution cipher,
Vigenere
ciphers, and the Enigma machine.
Perfectly-Secret Encryption
- Definitions and Basic Properties
- One time pad
- Limitations of Perfect secrecy
Block Ciphers
- Substitution-Permutation Networks
- Feistel networks
- DES and attacks:
- Increase key length of a block cipher
- AES
Secret Key (Symmetric) Encryption
- Computational Security.
- Pseudo-randomness
- Stream ciphers. RC4.
- Block cipher modes of operation
- IND-CPA security
Message Authentication Codes and Collision-Resistant Hash Functions
- Non keyed hash functions. Motivation and
applications.
- Merkle-Damgard and other
constructions.
- Message Authentication Codes (MAC).
Applications.
- Constructions: CBC-MAC, HMAC.
Number Theory and Cryptographic Hardness Assumptions
- Modular arithmetic basics.
- Primes, Factoring, and RSA
Private Key Management and the Public Key Revolution
- Key agreement protocols
- Needham-Schroeder
- Diffie-Hellman Key Exchange.
Public Key Encryption
- Definition.
- RSA encryption.
- ElGamal encryption.
- Homomorphic encryption
Digital Signatures
- Definition of secure signature schemes.
- How to sign using RSA.
- The Digital Signature Standard (DSS) and ElGamal.
Identification Protocols
- Challenege-Response, Fiat-Shamir, Schnorr
- Zero-knowledge proofs.
Other Topics
- Commitment schemes
- Secret sharing
- General Secure Multi-party Computation protocols
|