Chapter 1 Introduction to Cryptology 1.0 Introduction 1.1 Cryptography 1.2 Important Terms 1.3 Cipher Evaluation 1.4 Cryptanalysis 1.5 A Brief History of Codes and Ciphers 1.6 Classical and Contemporary Ciphers 1.7 Introduction to CAP 1.8 Summary 1.9 Important Terms Resources Problems Part 1 Classical Cryptology Chapter 2 Classical Monoalphabetic Ciphers 2.0 Introduction 2.1 Keyword Cipher 2.1.1 Cryptanalysis of Keyword Ciphers 2.1.2 Frequency Information 2.1.3 Using CAP to Break a Keyword Cipher 2.1.3.1 Frequency Analysis in CAP 2.1.3.2 Letter Identification in CAP 2.1.3.3 Word Identification in CAP 2.1.3.4 Keyword Worksheet 2.2 Affine Cipher 2.2.1 Cryptanalysis of the Affine Cipher 2.3 Multiliteral Cipher 2.3.1 Cryptanalysis of a Multiliteral Cipher 2.4 Monoalphabetic Ciphers~A Short Historical View 2.5 Summary 2.6 Important Terms Resources Problems Chapter 3 Classical Polyalphabetic Ciphers 3.0 Introduction 3.1 Vigenere Cipher 3.1.1 Cryptanalysis of the Vigenere Cipher 3.1.2 Cryptanalysis of the Vigenere Cipher with CAP 3.2 Autokey Cipher 3.2.1 Cryptanalysis of the Autokey Cipher 3.4 Nihilist Cipher 3.5 Cylinder Cipher 3.5,1 Cryptanalysis of the Bazeries Cylinder 3.6 Rotor ciphers 3,6.l Breaking Enigma 3.6.2 Using CAP to Break a Rotor Cipher 3.7 The Rise of the Machines-A Brief History 3.8 Summary 3.9 Important Terms Resources Problems Chapter 4 Classical Polygraphic Ciphers 4.0 Introduction 4.1 Playfair Cipher 4.1.1 Cryptanalysis of Playfair 4.1.2 Cryptanalysis of Playfair with CAP 4.2 The Hill Cipher 4.2.1 Hill Cipher in CAP 4.2.2 Cryptanalysis of the Hill Cipher 4.3 Beale Ciphers-A Brief Historical Interlude 4.4 Summary 4.5 Important terms Resources Problems Chapter 5 Classical Transposition Ciphers 5.0 Introduction 5.2 Permutation Cipher 5.2.1 Cryptanalysis of a Permutation Cipher 5.3 Column Permutation Cipher 5.3.1 Cryptanalysis of Column Transpositions 5.3.1.1 Possible Column Sizes 5.3.1.2 Determining the Correct Rectangle 5.3.1.3 Restoring the Column Order 5.3.2 Using CAP to Break a Column Transposition 5.4 Double-Transposition Cipher 5.4.1 Cryptanalysis of the Double-Transposition Cipher 5.4.2 Using CAP to Break a Double Transposition 5.5 A Brief History of Transpositions 5.6 Summary 5.7 Important Terms Resources Problems Part 2 Contemporary Ciphers Chapter 6 Stream Ciphers 6.0 Introduction 6.0.1 Computer Characteristics 6.0.2 XOR Function 6.1 Stream Cipher 6.1.1 Linear Feedback Shift Registers 6.1.2 LFSR Period Analysis 6.1.3 Random-Bit Tests 6.1.4 Implementing a Stream Cipher in CAP 6.2 Breaking a Stream Cipher 6.2.1 Insertion Attack on a Stream Cipher 6.2.2 Probable-Word Attack One: Matching Bit Strings 6.2.3 Probable- Word Attack Two: Word Match 6.2.4 Using CAP to Break a Stream Cipher 6.3 Other Stream-Cipher Implementations 6.3.1 RC4 6.3.2 Evaluation of RC4 6.3.3 A5 6.3.4 Cellular Automata 6.3.5 Other Ways to Generate Random Numbers 6.4 An Unbreakable Cipher 6.5 A Practical Application 6.6 An Historical Perspective on Stream Ciphers 6.7 Summary 6.8 Important Terms Resources Problems Chapter 7 Block Ciphers 7.0 Introduction 7.1 Block-Cipher Modes 7.1.1 Contemporary Block-Cipher Modes 7.1.2 Padding 7.2 Product Ciphers 7.2.1 Evaluation of a Block Cipher 7.3 Data Encryption Standard 7.3.1 DES Key 7.3.2 DES Stages 7.3.3 Alternative Implementations of DES 7.3.4 DES in CAP 7.3.5 Cryptanalysis of DES 7.3.5.1 Differential Cryptanalysis 7.3.5.2 Linear Cryptanalysis 7.3.5.3 Meet-in-the-Middle Attack 7.3.5.4 Side-Channel Analysis 7.3.5.5 Bob, Alice, and Eve 7.4 IDEA 7.5 Advanced Encryption Standard 7.5.1 Rijndael Structure 7.5.2 Key Schedule 7.5.3 AES Operation 7.5.4 AES Security 7.5.5 Hardware Implementation 7.5.6 Other Finalists 7.5.6.1 RC6 7.5.6.2 Twofish 7.5.6.3 Evaluation and Performance 7.6 Using Block Ciphers 7.6.1 A Quick Overview of Network Connections 7.6.2 IPSec Connections 7.7 Block Ciphers' Short History 7.8 Summary 7.9 Important Terms Resources Problems Chapter 8 Public Key Ciphers 8.0 Introduction 8.1 The Public Key Process 8.2 RSA 8.3 Number Theory-a very short introduction 8.3.1 Modular Inverses 8.3.2 Prime Numbers 8.3.3 Fast Exponentiation 8.4 RSA in CAP 8.5 Analysis of RSA 8.5.1 Large Integer Factoring 8.5.2 Other RSA Attacks 8.5.2.1 Side-Channel Attacks 8.5.2.2 Improper Use of RSA Attacks 8.6 EIGamal Public Key System 8.6.1 Generator Numbers 8.6.2 Using CAP to Implement EIGamal 8.6.3 Observations 8.7 Knapsack Cipher 8. 7.1 Breaking the Knapsack Cipher 8.7.2 The Knapsack Cipher in CAP 8.8 Elliptic Curve Ciphers (ECC) 8.8.1 Observations 8.9 Public Key Applications 8.10 Historical Developments in Public Key Ciphers 8.11 Summary 8.12 Important Terms Resources Problems Chapter 9 Key Management, Digital Signatures, Hash Functions, and Certificates 9.0 Introduction 9.1 Key Exchange 9.1.1 lnternet Key Exchange Process 9.1.2 Group Keys 9.1.2 Broadcast Encryption 9.2 Authenticity 9.3 Digital Signatures 9.3.1 Hash Functions 9.3.1.1 MD5 9.3.1.2 Secure Hash Algorithm (SHA) 9.3.1.3 Comparison of MD5 and SHA-1 9.3.1.4 Block-Cipher-Based Hash Functions 9.3.1.5 Attacks on Hash Functions 9.3.1.1 Hash Functions in CAP 9.3.2 Blind Signatures 9.3.3 Digital Signature Standard (DSS) 9.4 Public Key Infrastructure and Certificates 9.4.1 Establishing a Certificate 9.4.2 Certificate Contents 9.4.3 Using a Certificate 9.4.4 Revocation of a Certificate 9.5 Applications 9.5.1 Smart Cards 9.5.2 Secure Socket Layer 9.6 Historical Perspective 9.7 Summary 9.8 Important Terms Resources Problems Part 3 The Future of Cryptology Chapter 10 Quantum Cryptography 10.0 Introduction 10.1 Quantum Systems-A Brief Introduction 10.1.1 Qubits 10.1.2 The Weird World of Quantum Physics 10.2 Quantum Factoring 10.3 Quantum Key Management 10.3.1 Eavesdropping 10.3.2 Privacy Amplification 10.3.3 Experimental Verifwation 10.4 Summary 10.5 Important Terms Resources Problems Index