Introduction
- Cryptology: the science of secrecy
- Security functions offered by cryptography
- Authenticating entities
- Data integrity
- Encryption
- Signatures and non-repudiation
Cryptanalysis
- The Kerckhoff principle
- Cryptanalytic and brute force attacks
Traditional cryptography
- Substitution and transposition
- The Vigenère cipher
- The German Enigma machine
- Attacks
Data encryption algorithms
- Confusion and diffusion
- Block algorithms: DES and AES
- Block encryption algorithms: different methods
- Flow encryption
- The problem of generating unknowns
Public key algorithms
- The problem of transmitting keys
- Diffie Hellman secret sharing
- The RSA system
- Elliptical curves
- Complexity and security
Data integrity
- Message authentication: MAC
- Hashing functions: MD5 and SHA
- HMAC functions
- Hashing function security
Electronic signatures
- Using private keys
- The need for certificates
- Electronic directories
Application: dynamic authentication of entities
- Use of time
- The challenge-response protocol
- Incremental methods
- Zero-knowledge protocols
- Implementations: tokens, USB flash drives and chip cards
Overview of market solutions