## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

## Book Description

As an instructor at the University of Tulsa, Christopher Swenson could find no relevant text for teaching modern cryptanalysis-so he wrote his own. This is the first book that brings the study of cryptanalysis into the 21st century. Swenson provides a foundation in traditional cryptanalysis, examines ciphers based on number theory, explores block ciphers, and teaches the basis of all modern cryptanalysis: linear and differential cryptanalysis. This time-honored weapon of warfare has become a key piece of artillery in the battle for information security.

3. Credits
4. Acknowledgments
5. Introduction
6. 1. Simple Ciphers
1. 1.1. Monoalphabetic Ciphers
2. 1.2. Keying
3. 1.3. Polyalphabetic Ciphers
4. 1.4. Transposition Ciphers
5. 1.5. Cryptanalysis
1. 1.5.1. Breaking Monoalphabetic Ciphers
2. 1.5.2. Breaking Polyalphabetic Ciphers
3. 1.5.3. Breaking Columnar Transposition Ciphers
4. 1.5.4. Breaking Double Columnar Transposition Ciphers
6. 1.6. Summary
7. 1.7. Exercises
7. 2. Number Theoretical Ciphers
1. 2.1. Probability
1. 2.1.1. Permutations and Choices
2. 2.1.2. Dependence
4. 2.1.4. Cryptographic Hashes
2. 2.2. Number Theory Refresher Course
3. 2.3. Algebra Refresher Course
4. 2.4. Factoring-Based Cryptography
5. 2.5. Discrete Logarithm-Based Cryptography
6. 2.6. Elliptic Curves
7. 2.7. Summary
8. 2.8. Exercises
8. 3. Factoring and Discrete Logarithms
1. 3.1. Factorization
2. 3.2. Algorithm Theory
3. 3.3. Exponential Factoring Methods
1. 3.3.1. Brute-Force
2. 3.3.2. Fermat's Difference of Squares
3. 3.3.3. Pollard's ρ
4. 3.3.4. Pollard's p – 1
5. 3.3.5. Square Forms Factorization
6. 3.3.6. Elliptic Curve Factorization Method
4. 3.4. Subexponential Factoring Methods
1. 3.4.1. Continued Fraction Factorization
2. 3.4.2. Sieving Methods
5. 3.5. Discrete Logarithms
1. 3.5.1. Brute-Force Methods
2. 3.5.2. Baby-Step Giant-Step Method
3. 3.5.3. Pollard's ρ for Discrete Logarithms
4. 3.5.4. Pollard's λ for Discrete Logarithms
5. 3.5.5. Index Calculus Method
6. 3.6. Summary
7. 3.7. Exercises
9. 4. Block Ciphers
1. 4.1. Operations on Bits, Bytes, Words
2. 4.2. Product Ciphers
3. 4.3. Substitutions and Permutations
4. 4.4. Substitution–Permutation Network
1. 4.4.1. EASY1 Cipher
5. 4.5. Feistel Structures
6. 4.6. DES
7. 4.7. FEAL
8. 4.8. Blowfish
9. 4.9. AES/Rijndael
1. 4.9.1. Rijndael Encryption Algorithm
2. 4.9.2. Rijndael Decryption Algorithm
3. 4.9.3. Key Expansion
4. 4.9.4. Notes on Rijndael
10. 4.10. Block Cipher Modes
11. 4.11. Skipjack
12. 4.12. Message Digests and Hashes
13. 4.13. Random Number Generators
15. 4.15. Summary
16. 4.16. Exercises
10. 5. General Cryptanalytic Methods
1. 5.1. Brute-Force
3. 5.3. Rainbow Tables
4. 5.4. Slide Attacks
5. 5.5. Cryptanalysis of Hash Functions
6. 5.6. Cryptanalysis of Random Number Generators
7. 5.7. Summary
8. 5.8. Exercises
11. 6. Linear Cryptanalysis
12. 7. Differential Cryptanalysis
1. 7.1. Overview
2. 7.2. Notation
3. 7.3. S-Box Differentials
4. 7.4. Combining S-Box Characteristics
5. 7.5. Key Derivation
6. 7.6. Differential Cryptanalysis Code
7. 7.7. Differential Cryptanalysis of Feistel Ciphers
8. 7.8. Analysis
9. 7.9. Differential-Linear Cryptanalysis
10. 7.10. Conditional Characteristics
11. 7.11. Higher-Order Differentials
12. 7.12. Truncated Differentials
13. 7.13. Impossible Differentials
14. 7.14. Boomerang Attack
15. 7.15. Interpolation Attack
16. 7.16. Related-Key Attack
17. 7.17. Summary
18. 7.18. Exercises