Chapter 1: A History of Cryptography
- Codes
- Monoalphabetic Substitution
- Ciphers
- Frequency Analysis on Caesar Ciphers
- Frequency Analysis on Monoalphabetic Substitution Ciphers
- Polyalphabetic Substitution Ciphers
- The Vigenere Cipher and Code Wheels
- Breaking Simple Vigenere Ciphers
- The Kaisiski Method of Determining Key Length
- The Full Vigenere Cipher
- The Auto-Key Vigenere Cipher
- The Running Key Vigenere Cipher
- Breaking Auto Key and Running Key Vigenere Ciphers
- The One-Time Pad
- Transposition Ciphers
- Polygram Substitution Ciphers
- The Playfair Cipher
- Breaking Simple Polygram Ciphers
- The Jefferson Cylinder
- Homophonic Substitution Ciphers
- Combination Substitution/Transposition Ciphers
- Exercises
Chapter 2: Large Integer Computing
- Constructors
- Comparison Methods
- Arithmetic Methods
- The Java BigInteger Class
- Constructors
- Methods
- Exercises
Chapter 3: The Integers
- The Division Algorithm
- The Euclidean Algorithm
- Fundamental Theorem of Arithmetic
- Exercises
Chapter 4: Linear Diophantine Equations & Linear Congruences
- Linear Diophantine Equations
- Linear Congruences
- Modular Inverses
- Exercises
Chapter 5: Linear Ciphers
- The Caesar Cipher
- Weaknesses of the Caesar Cipher
- Affine Transformation Ciphers
- Weaknesses of Affine Transformation Ciphers
- The Vigenere Cipher
- Block Affine Ciphers
- Weaknesses of the Block Affine Cipher-Known Plaintext Attack
- Padding Methods
- Exercises
Chapter 6: Systems of Linear Congruences-Single Modulus
- Modular Matrices
- Modular Matrix Inverses
- Exercises
Chapter 7: Matrix Ciphers
- Weaknesses of Matrix Cryptosystems
- Transposition Ciphers
- Combination Substitution/Transposition Ciphers
- Exercises
Chapter 8: Systems of Linear Congruences-Multiple Moduli
- The Chinese Remainder Theorem
- Exercises
Chapter 9: Quadratic Congruences
- Quadratic Congruences Modulo a Prime
- Fermat’s Little Theorem
- Quadratic Congruences Modulo a Composite
- Exercises
Chapter 10: Quadratic Ciphers
- The Rabin Cipher
- Weaknesses of the Rabin Cipher
- Strong Primes
- Salt
- Cipher Block Chaining-CBC
- Blum-Goldwasser Probabilistic Cipher
- Weaknesses of the Blum-Goldwasser Probabilistic Cipher
- Exercises
Chapter 11: Primality Testing
- Miller’s Test The Rabin-Miller Test
- Exercises
Chapter 12: Factorization Techniques
- Fermat Factorization
- Monte Carlo Factorization
- The Pollard p-1 Method of Factorization
- Exercises
Chapter 13: Exponential Congruences
- Order of an Integer
- Generators
- Generator Selection
- Calculating Discrete Logarithms
- Exercises
Chapter 14: Exponential Ciphers
- Diffie-Hellman Key Exchange
- Weaknesses of Diffie-Hellman
- The Pohlig-Hellman Exponentiation Cipher
- Weaknesses of the Pohlig-Hellman Cipher
- Cipher Feedback Mode-CFB
- The ElGamal Cipher Weaknesses of ElGamal
- The RSA Cipher
- Weaknesses of RSA
- Exercises
Chapter 15: Establishing Keys and Message Exchange
- Establishing Keys
- Diffie-Hellman Key Exchange Application
- Message Exchange
- Cipher Chat Application
- Exercises
Chapter 16: Cryptographic Applications
- Shadows
- Database Encryption
- Large Integer Arithmetic
- Random Number Generation
- Signing Messages
- Message Digests
- Signing with ElGamal
- Attacks on Digest Functions
- Zero Knowledge Identification
- Exercises
Appendix: List of Propositions
Appendix II: Information Theory
- Entropy of a Message
- Rate of a Language
- Cryptographic Techniques
- Confusion
- Diffusion
- Compression
Recommended Reading
Index
Back to top