Follow

@hackernews@die-partei.social

Contents
Preface To Third Edition 3
Preface To Second Edition 5
Part 1. Mathematical Background 13
Chapter 1. Modular Arithmetic, Groups, Finite Fields and Probability 3
1. Modular Arithmetic 3
2. Finite Fields 7
3. Basic Algorithms 10
4. Probability 19
Chapter 2. Elliptic Curves 23
1. Introduction 23
2. The Group Law 25
3. Elliptic Curves over Finite Fields 28
4. Projective Coordinates 31
5. Point Compression 32
Part 2. Symmetric Encryption 35
Chapter 3. Historical Ciphers 37
1. Introduction 37
2. Shift Cipher 39
3. Substitution Cipher 41
4. Vigen`ere Cipher 44
5. A Permutation Cipher 47
Chapter 4. The Enigma Machine 49
1. Introduction 49
2. An Equation For The Enigma 51
3. Determining The Plugboard Given The Rotor Settings 53
4. Double Encryption Of Message Keys 56
5. Determining The Internal Rotor Wirings 57
6. Determining The Day Settings 62
7. The Germans Make It Harder 63
8. Known Plaintext Attack And The Bombe’s 65
9. Ciphertext Only Attack 73
Chapter 5. Information Theoretic Security 77
1. Introduction 77
2. Probability and Ciphers 78
3. Entropy 83
9
10 CONTENTS
4. Spurious Keys and Unicity Distance 88
Chapter 6. Historical Stream Ciphers 93
1. Introduction To Symmetric Ciphers 93
2. Stream Cipher Basics 95
3. The Lorenz Cipher 96
Chapter 7. Modern Stream Ciphers 109
1. Linear Feedback Shift Registers 109
2. Combining LFSRs 115
3. RC4 119
Chapter 8. Block Ciphers 123
1. Introduction To Block Ciphers 123
2. Feistel Ciphers and DES 125
3. Rijndael 131
4. Modes of Operation 134
Chapter 9. Symmetric Key Distribution 141
1. Key Management 141
2. Secret Key Distribution 143
3. Formal Approaches to Protocol Checking 148
Chapter 10. Hash Functions and Message Authentication Codes 153
1. Introduction 153
2. Hash Functions 153
3. Designing Hash Functions 155
4. Message Authentication Codes 160
Part 3. Public Key Encryption and Signatures 165
Chapter 11. Basic Public Key Encryption Algorithms 167
1. Public Key Cryptography 167
2. Candidate One-way Functions 168
3. RSA 172
4. ElGamal Encryption 178
5. Rabin Encryption 180
6. Paillier Encryption 181
Chapter 12. Primality Testing and Factoring 185
1. Prime Numbers 185
2. Factoring Algorithms 189
3. Modern Factoring Methods 194
4. Number Field Sieve 196
Chapter 13. Discrete Logarithms 203
1. Introduction 203
2. Pohlig–Hellman 203
3. Baby-Step/Giant-Step Method 206
4. Pollard Type Methods 208
5. Sub-exponential Methods for Finite Fields 214
6. Special Methods for Elliptic Curves 215
CONTENTS 11
Chapter 14. Key Exchange and Signature Schemes 219
1. Diffie–Hellman Key Exchange 219
2. Digital Signature Schemes 221
3. The Use of Hash Functions In Signature Schemes 223
4. The Digital Signature Algorithm 224
5. Schnorr Signatures 228
6. Nyberg–Rueppel Signatures 230
7. Authenticated Key Agreement 231
Chapter 15. Implementation Issues 235
1. Introduction 235
2. Exponentiation Algorithms 235
3. Exponentiation in RSA 239
4. Exponentiation in DSA 240
5. Multi-precision Arithmetic 241
6. Finite Field Arithmetic 248
Chapter 16. Obtaining Authentic Public Keys 257
1. Generalities on Digital Signatures 257
2. Digital Certificates and PKI 258
3. Example Applications of PKI 261
4. Other Applications of Trusted Third Parties 265
5. Implicit Certificates 266
6. Identity Based Cryptography 267
Part 4. Security Issues 271
Chapter 17. Attacks on Public Key Schemes 273
1. Introduction 273
2. Wiener’s Attack on RSA 273
3. Lattices and Lattice Reduction 275
4. Lattice Based Attacks on RSA 279
5. Partial Key Exposure Attacks 284
6. Fault Analysis 285
Chapter 18. Definitions of Security 289
1. Security of Encryption 289
2. Security of Actual Encryption Algorithms 293
3. A Semantically Secure System 296
4. Security of Signatures 298
Chapter 19. Complexity Theoretic Approaches 301
1. Polynomial Complexity Classes 301
2. Knapsack-Based Cryptosystems 304
3. Bit Security 308
4. Random Self-reductions 310
5. Randomized Algorithms 311
Chapter 20. Provable Security: With Random Oracles 315
1. Introduction 315
2. Security of Signature Algorithms 317
3. Security of Encryption Algorithms 322
12 CONTENTS
Chapter 21. Hybrid Encryption 329
1. Introduction 329
2. Security of Symmetric Ciphers 329
3. Hybrid Ciphers 332
4. Constructing KEMs 333
Chapter 22. Provable Security: Without Random Oracles 339
1. Introduction 339
2. The Strong RSA Assumption 339
3. Signature Schemes 340
4. Encryption Algorithms 342
Part 5. Advanced Protocols 347
Chapter 23. Secret Sharing Schemes 349
1. Introduction 349
2. Access Structures 349
3. General Secret Sharing 351
4. Reed–Solomon Codes 353
5. Shamir Secret Sharing 358
6. Application: Shared RSA Signature Generation 360
Chapter 24. Commitments and Oblivious Transfer 363
1. Introduction 363
2. Commitment Schemes 363
3. Oblivious Transfer 367
Chapter 25. Zero-Knowledge Proofs 371
1. Showing a Graph Isomorphism in Zero-Knowledge 371
2. Zero-Knowledge and N P 373
3. Sigma Protocols 374
4. An Electronic Voting System 380
Chapter 26. Secure Multi-Party Computation 385
1. Introduction 385
2. The Two-Party Case 386
3. The Multi-Party Case: Honest-but-Curious Adversaries 390
4. The Multi-Party Case: Malicious Adversaries 394
Appendix A. Basic Mathematical Terminology 397
1. Sets 397
2. Relations 397
3. Functions 399
4. Permutations 400
5. Operations 402
6. Groups 404
7. Rings 412
8. Fields 413
9. Vector Spaces 414
Appendix. Index 419

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.