| |
| |
Classical Cryptography | |
| |
| |
Introduction: Some Simple Cryptosystems | |
| |
| |
The Shift Cipher | |
| |
| |
The Substitution Cipher | |
| |
| |
The Affine Cipher | |
| |
| |
The Vigenere Cipher | |
| |
| |
The Hill Cipher | |
| |
| |
The Permutation Cipher | |
| |
| |
Stream Ciphers | |
| |
| |
Cryptanalysis | |
| |
| |
Cryptanalysis of the Affine Cipher | |
| |
| |
Cryptanalysis of the Substitution Cipher | |
| |
| |
Cryptanalysis of the Vigenere Cipher | |
| |
| |
Cryptanalysis of the Hill Cipher | |
| |
| |
Cryptanalysis of the LFSR Stream Cipher | |
| |
| |
Notes | |
| |
| |
Exercises | |
| |
| |
Shannon's Theory | |
| |
| |
Introduction | |
| |
| |
Elementary Probability Theory | |
| |
| |
Perfect Secrecy | |
| |
| |
Entropy | |
| |
| |
Huffman Encodings | |
| |
| |
Properties of Entropy | |
| |
| |
Spurious Keys and Unicity Distance | |
| |
| |
Product Cryptosystems | |
| |
| |
Notes | |
| |
| |
Exercises | |
| |
| |
Block Ciphers and the Advanced Encryption Standard | |
| |
| |
Introduction | |
| |
| |
Substitution-Permutation Networks | |
| |
| |
Linear Cryptanalysis | |
| |
| |
The Piling-up Lemma | |
| |
| |
Linear Approximations of S-boxes | |
| |
| |
A Linear Attack on an SPN | |
| |
| |
Differential Cryptanalysis | |
| |
| |
The Data Encryption Standard | |
| |
| |
Description of DES | |
| |
| |
Analysis of DES | |
| |
| |
The Advanced Encryption Standard | |
| |
| |
Description of AES | |
| |
| |
Analysis of AES | |
| |
| |
Modes of Operation | |
| |
| |
Notes and References | |
| |
| |
Exercises | |
| |
| |
Cryptographic Hash Functions | |
| |
| |
Hash Functions and Data Integrity | |
| |
| |
Security of Hash Functions | |
| |
| |
The Random Oracle Model | |
| |
| |
Algorithms in the Random Oracle Model | |
| |
| |
Comparison of Security Criteria | |
| |
| |
Interated Hash Functions | |
| |
| |
The Merkle-Damgard Construction | |
| |
| |
The Secure Hash Algorithm | |
| |
| |
Message Authentication Codes | |
| |
| |
Nested MACs and HMAC | |
| |
| |
CBC-MAC | |
| |
| |
Unconditionally Secure MACs | |
| |
| |
Strongly Universal Hash Families | |
| |
| |
Optimality of Deception Probabilities | |
| |
| |
Notes and References | |
| |
| |
Exercises | |
| |
| |
The RSA Cryptosystem and Factoring Integers | |
| |
| |
Introduction to Public-key Cryptography | |
| |
| |
More Number Theory | |
| |
| |
The Euclidean Algorithm | |
| |
| |
The Chinese Remainder Theorem | |
| |
| |
Other Useful Facts | |
| |
| |
The RSA Cryptosystem | |
| |
| |
Implementing RSA | |
| |
| |
Primality Testing | |
| |
| |
Square Roots Modulo n | |
| |
| |
Factoring Algorithms | |
| |
| |
The Pollard p--1 Algorithm | |
| |
| |
The Pollard Rho Algorithm | |
| |
| |
Dixon's Random Squares Algorithm | |
| |
| |
Factoring Algorithms in Practice | |
| |
| |
Other Attacks on RSA | |
| |
| |
Computing [phi](n) | |
| |
| |
The Decryption Exponent | |
| |
| |
Wiener's Low Decryption Exponent Attack | |
| |
| |
The Rabin Cryptosystem | |
| |
| |
Security of the Rabin Cryptosystem | |
| |
| |
Semantic Security of RSA | |
| |
| |
Partial Information Concerning Plaintext Bits | |
| |
| |
Optimal Asymmetric Encryption Padding | |
| |
| |
Notes and References | |
| |
| |
Exercises | |
| |
| |
Public-key Cryptosystems Based on the Discrete Logarithm Problem | |
| |
| |
The ElGamal Cryptosystem | |
| |
| |
Algorithms for the Discrete Logarithm Problem | |
| |
| |
Shank's Algorithm | |
| |
| |
The Pollard Rho Discrete Logarithm Algorithm | |
| |
| |
The Pohlig-Hellman Algorithm | |
| |
| |
The Index Calculus Method | |
| |
| |
Lower Bounds on the Complexity of Generic Algorithms | |
| |
| |
Finite Fields | |
| |
| |
Elliptic Curves | |
| |
| |
Elliptic Curves over the Reals | |
| |
| |
Elliptic Curves Modulo a Prime | |
| |
| |
Properties of Elliptic Curves | |
| |
| |
Point Compression and the ECIES | |
| |
| |
Computing Point Multiples on Elliptic Curves | |
| |
| |
Discrete Logarithm Algorithms in Practice | |
| |
| |
Security of ElGamal Systems | |
| |
| |
Bit Security of Discrete Logarithms | |
| |
| |
Semantic Security of ElGamal Systems | |
| |
| |
The Diffie-Hellman Problems | |
| |
| |
Notes and References | |
| |
| |
Exercises | |
| |
| |
Signature Schemes | |
| |
| |
Introduction | |
| |
| |
Security Requirements for Signature Schemes | |
| |
| |
Signatures and Hash Functions | |
| |
| |
The ElGamal Signature Scheme | |
| |
| |
Security of the ElGamal Signature Scheme | |
| |
| |
Variants of the ElGamal Signature Scheme | |
| |
| |
The Schnorr Signature Scheme | |
| |
| |
The Digital Signature Algorithm | |
| |
| |
The Elliptic Curve DSA | |
| |
| |
Provably Secure Signature Schemes | |
| |
| |
One-time Signatures | |
| |
| |
Full Domain Hash | |
| |
| |
Undeniable Signatures | |
| |
| |
Fail-stop Signatures | |
| |
| |
Notes and References | |
| |
| |
Exercises | |
| |
| |
Further Reading | |
| |
| |
Bibliography | |
| |
| |
Cryptosystem Index | |
| |
| |
Algorithm Index | |
| |
| |
Problem Index | |
| |
| |
Subject Index | |